summaryrefslogtreecommitdiffstats
path: root/chrome_frame/http_negotiate.cc
diff options
context:
space:
mode:
authortommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-23 03:44:44 +0000
committertommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-23 03:44:44 +0000
commit996e0878845c1aee847e5dac5b47831d5527955e (patch)
treecd46331cbf35bd87b913e35b45564aa2dd0e7863 /chrome_frame/http_negotiate.cc
parentc108b4f2e874a7d62d8e5867452ed9f8d4101eb5 (diff)
downloadchromium_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.cc26
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;