summaryrefslogtreecommitdiffstats
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
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
-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;