summaryrefslogtreecommitdiffstats
path: root/ceee
diff options
context:
space:
mode:
authormad@google.com <mad@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-08 18:13:02 +0000
committermad@google.com <mad@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-08 18:13:02 +0000
commit299de2ee80e9b46638f89b98aa9696a06d9f94b8 (patch)
treee33b24d8feffb4216aa2d1162f6ad899766efb2d /ceee
parent78994ab0a043ead9b3edb4a48c7f13cc6c2aede6 (diff)
downloadchromium_src-299de2ee80e9b46638f89b98aa9696a06d9f94b8.zip
chromium_src-299de2ee80e9b46638f89b98aa9696a06d9f94b8.tar.gz
chromium_src-299de2ee80e9b46638f89b98aa9696a06d9f94b8.tar.bz2
Don't get tab id until tab window handle is ready.
There are rare cases where the executor manager will DCHECK that the window handle that we ask it to associate to our tab id doesn't have a valid IEFrame parent. This is because we send the request for id <-> handle association before the handle is completely ready... So wait until the tab window handle is valid before sending a mapping event. BUG=None yet... crbug down for maintenance :-( TEST=None Review URL: http://codereview.chromium.org/5632004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68607 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ceee')
-rw-r--r--ceee/ie/plugin/bho/browser_helper_object.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/ceee/ie/plugin/bho/browser_helper_object.cc b/ceee/ie/plugin/bho/browser_helper_object.cc
index 507cc19..2599de8 100644
--- a/ceee/ie/plugin/bho/browser_helper_object.cc
+++ b/ceee/ie/plugin/bho/browser_helper_object.cc
@@ -616,6 +616,11 @@ bool BrowserHelperObject::EnsureTabId() {
return true;
}
+ // We might be called a bit early, and our handle is not quite ready to
+ // be associated to an ID, so no need to ask Chrome Frame for it... yet...
+ if (!::IsWindow(tab_window_))
+ return false;
+
// We might get here AFTER TearDown if onCreated successfully got deferred
// yet we never got a valid tab_id_ before we got torn down, and then
// onRemoved is called AFTER TearDown, which releases chrome_frame_host_.