summaryrefslogtreecommitdiffstats
path: root/chrome_frame/urlmon_bind_status_callback.h
diff options
context:
space:
mode:
authoramit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-14 00:35:52 +0000
committeramit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-14 00:35:52 +0000
commit3ee6112cc9d368ccd11d2cc2eea4f3aca2fd4400 (patch)
treef4b1f729762acbdd4ee3903f0b29d04f77b1b952 /chrome_frame/urlmon_bind_status_callback.h
parent72eb2da638af5bcb4830827eeb1edebb580e36b1 (diff)
downloadchromium_src-3ee6112cc9d368ccd11d2cc2eea4f3aca2fd4400.zip
chromium_src-3ee6112cc9d368ccd11d2cc2eea4f3aca2fd4400.tar.gz
chromium_src-3ee6112cc9d368ccd11d2cc2eea4f3aca2fd4400.tar.bz2
Fix for remaining major issues with moniker patch
This patch fixes things so that they now work 'naturally', i.e switch to chrome frame looks just like switching to pdf. The same bind context and underlying network transaction objects are used and requests aren't sent multiple times. Finally the TestPostReissue test is happy! This patch fixes two issues with earlier scheme: Issue 1: data can be read only once from a given bind context. Mshtml looks at the mime type in the FORMATETC but never issues a read. So when it switches, the new active document can read from start. Since we are reading the data for switching, when we actually switch, we have to transfer over the data read so far to our UrlmonUrlRequest. Issue 2: The very first UrlmomUrlRequest has to start binding right away, in the context of BindToStorage or network transcations associated with the bind context are gone (due to OnStopBinding for BindToObject). TEST=covered by existing tests BUG=33332 Review URL: http://codereview.chromium.org/1508033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44427 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/urlmon_bind_status_callback.h')
-rw-r--r--chrome_frame/urlmon_bind_status_callback.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/chrome_frame/urlmon_bind_status_callback.h b/chrome_frame/urlmon_bind_status_callback.h
index f1b1473..c6b4ba7 100644
--- a/chrome_frame/urlmon_bind_status_callback.h
+++ b/chrome_frame/urlmon_bind_status_callback.h
@@ -91,14 +91,14 @@ class SniffData {
class BSCBStorageBind : public BSCBImpl {
public:
typedef BSCBImpl CallbackImpl;
- BSCBStorageBind() : clip_format_(CF_NULL) {}
+ BSCBStorageBind() : clip_format_(CF_NULL), no_cache_(false) {}
BEGIN_COM_MAP(BSCBStorageBind)
COM_INTERFACE_ENTRY(IBindStatusCallback)
COM_INTERFACE_ENTRY_CHAIN(CallbackImpl)
END_COM_MAP()
- HRESULT Initialize(IMoniker* moniker, IBindCtx* bind_ctx);
+ HRESULT Initialize(IMoniker* moniker, IBindCtx* bind_ctx, bool no_cache);
HRESULT MayPlayBack(DWORD flags);
// IBindStatusCallback
@@ -121,6 +121,7 @@ END_COM_MAP()
std::vector<Progress> saved_progress_;
CLIPFORMAT clip_format_;
+ bool no_cache_;
private:
DISALLOW_COPY_AND_ASSIGN(BSCBStorageBind);