summaryrefslogtreecommitdiffstats
path: root/chrome_frame
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
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')
-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;