diff options
author | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-23 03:44:44 +0000 |
---|---|---|
committer | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-23 03:44:44 +0000 |
commit | 996e0878845c1aee847e5dac5b47831d5527955e (patch) | |
tree | cd46331cbf35bd87b913e35b45564aa2dd0e7863 /chrome_frame/http_negotiate.cc | |
parent | c108b4f2e874a7d62d8e5867452ed9f8d4101eb5 (diff) | |
download | chromium_src-996e0878845c1aee847e5dac5b47831d5527955e.zip chromium_src-996e0878845c1aee847e5dac5b47831d5527955e.tar.gz chromium_src-996e0878845c1aee847e5dac5b47831d5527955e.tar.bz2 |
Fix for an issue we were seeing with wave.
After switching over to using the onhttpequiv notification from
mshtml we can expect to see sub frames being created even before the owning document has completed loading. In particular frames whose
source is about:blank.
TEST=Google Wave should work.
BUG=32904
Review URL: http://codereview.chromium.org/543180
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36945 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/http_negotiate.cc')
-rw-r--r-- | chrome_frame/http_negotiate.cc | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/chrome_frame/http_negotiate.cc b/chrome_frame/http_negotiate.cc index e725f3d..5ca49d4 100644 --- a/chrome_frame/http_negotiate.cc +++ b/chrome_frame/http_negotiate.cc @@ -239,19 +239,21 @@ HRESULT HttpNegotiatePatch::ReportProgress( status_code == BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE || status_code == LOCAL_BINDSTATUS_SERVER_MIMETYPEAVAILABLE) { bool render_in_chrome_frame = false; + bool is_top_level_request = !IsSubFrameRequest(me); + + // NOTE: After switching over to using the onhttpequiv notification from + // mshtml we can expect to see sub frames being created even before the + // owning document has completed loading. In particular frames whose + // source is about:blank. + + if (is_top_level_request) { + ScopedComPtr<IBrowserService> browser; + DoQueryService(IID_IShellBrowser, me, browser.Receive()); + if (browser) { + render_in_chrome_frame = CheckForCFNavigation(browser, true); + } - // Check if this is a top level browser request that should be - // rendered in CF. - ScopedComPtr<IBrowserService> browser; - DoQueryService(IID_IShellBrowser, me, browser.Receive()); - if (browser) { - render_in_chrome_frame = CheckForCFNavigation(browser, true); - } - - if (!render_in_chrome_frame) { - bool is_top_level_request = !IsSubFrameRequest(me); - - if (is_top_level_request) { + if (!render_in_chrome_frame) { // Check to see if we need to alter the mime type that gets reported // by inspecting the raw header information: ScopedComPtr<IWinInetHttpInfo> win_inet_http_info; |