diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-07 00:55:25 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-07 00:55:25 +0000 |
commit | 6c2e45b826315fb4a3d452d589e245cdf2297991 (patch) | |
tree | 0442fcbdaaec0fc88345bc035f8c55c1403d36d8 /chrome_frame/chrome_frame_automation.cc | |
parent | 2ee0e7564803f87b195d63c497a1101a2b29ab4f (diff) | |
download | chromium_src-6c2e45b826315fb4a3d452d589e245cdf2297991.zip chromium_src-6c2e45b826315fb4a3d452d589e245cdf2297991.tar.gz chromium_src-6c2e45b826315fb4a3d452d589e245cdf2297991.tar.bz2 |
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
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46643 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_frame_automation.cc')
-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; } |