diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-07 00:58:44 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-07 00:58:44 +0000 |
commit | 8e35ae7fb67f2e340d526c71e68c051fbd63c0f3 (patch) | |
tree | 74543c657de5bf0799c7f85944435b61ece7fbae /chrome_frame | |
parent | b663e53519ebc215aeab6a69f15e66598f9f7ae8 (diff) | |
download | chromium_src-8e35ae7fb67f2e340d526c71e68c051fbd63c0f3.zip chromium_src-8e35ae7fb67f2e340d526c71e68c051fbd63c0f3.tar.gz chromium_src-8e35ae7fb67f2e340d526c71e68c051fbd63c0f3.tar.bz2 |
Merge 46643 - Opening new chrome frame tabs would fail randomly. This was because of a race condition between processing the connect external
tab ack in chrome frame and receiving requests for the tab. As a result the new tabs would not render anything.
Fix is to resume the pending views in the OnReinitialize task in the ExternalTabContainer.
I also added a NOTREACHED when we fail to find the TabProxy for a tab handle in the chrome frame automation code to help
catch future instances of this issue.
Fixes bug http://code.google.com/p/chromium/issues/detail?id=43376
Bug=43376
Review URL: http://codereview.chromium.org/2011006
TBR=ananta@chromium.org
Review URL: http://codereview.chromium.org/1993003
git-svn-id: svn://svn.chromium.org/chrome/branches/375/src@46646 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame')
-rw-r--r-- | chrome_frame/chrome_frame_automation.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/chrome_frame/chrome_frame_automation.cc b/chrome_frame/chrome_frame_automation.cc index 2fc968d..ec3d1f6 100644 --- a/chrome_frame/chrome_frame_automation.cc +++ b/chrome_frame/chrome_frame_automation.cc @@ -68,6 +68,9 @@ class ChromeFrameAutomationProxyImpl::TabProxyNotificationMessageFilter if (tab) { tab->OnMessageReceived(message); tab->Release(); + } else { + NOTREACHED() << "Failed to find TabProxy for tab:" << tab_handle; + return false; } return true; } |