diff options
author | amit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-07 18:29:24 +0000 |
---|---|---|
committer | amit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-07 18:29:24 +0000 |
commit | b31b9ff8646154d3e5c21e113d5afc634c61e9a2 (patch) | |
tree | 3b04d0a3988efa1a80c204e788f1620ac5dec951 /chrome_frame/urlmon_bind_status_callback.h | |
parent | b13205648a9c45ba4d5e6fa5db3012bc8a1cf75e (diff) | |
download | chromium_src-b31b9ff8646154d3e5c21e113d5afc634c61e9a2.zip chromium_src-b31b9ff8646154d3e5c21e113d5afc634c61e9a2.tar.gz chromium_src-b31b9ff8646154d3e5c21e113d5afc634c61e9a2.tar.bz2 |
Cache progress notifications only if necessary
We cache and suppress sending progress notifications till
we get the first OnDataAvailable. This is to prevent
mshtml from making up its mind about the mime type.
However, this is the invasive part of the patch and
could trip other software that's due to mistimed progress
notifications. It is probably not good to hide redirect
and some cookie notifications.
We only need to suppress data notifications like
BINDSTATUS_MIMETYPEAVAILABLE,
BINDSTATUS_CACHEFILENAMEAVAILABLE etc.
This is an atempt to reduce the exposure by starting to
cache only when we receive one of the interesting progress
notification.
BUG=42611
TEST=none
Review URL: http://codereview.chromium.org/2046003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46715 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/urlmon_bind_status_callback.h')
-rw-r--r-- | chrome_frame/urlmon_bind_status_callback.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome_frame/urlmon_bind_status_callback.h b/chrome_frame/urlmon_bind_status_callback.h index 8b6fd3b..33e5a51 100644 --- a/chrome_frame/urlmon_bind_status_callback.h +++ b/chrome_frame/urlmon_bind_status_callback.h @@ -111,6 +111,10 @@ END_COM_MAP() STDMETHOD(OnStopBinding)(HRESULT hresult, LPCWSTR error); protected: + // is it a good time to start caching progress notifications + bool ShouldCacheProgress(ULONG status_code) const; + + protected: SniffData data_sniffer_; // A structure to cache the progress notifications |