summaryrefslogtreecommitdiffstats
path: root/chrome_frame/bho_loader.cc
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-03 19:36:38 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-03 19:36:38 +0000
commit7b5481278dee3fd02fb9f7bc5a08bbddb4fc5ee5 (patch)
tree9ed50881c191ec5b29c9909425cb61f9d2601e93 /chrome_frame/bho_loader.cc
parent19b385e252fe40c8972d8c472510f77ca1d4dc72 (diff)
downloadchromium_src-7b5481278dee3fd02fb9f7bc5a08bbddb4fc5ee5.zip
chromium_src-7b5481278dee3fd02fb9f7bc5a08bbddb4fc5ee5.tar.gz
chromium_src-7b5481278dee3fd02fb9f7bc5a08bbddb4fc5ee5.tar.bz2
Fixes for the chrome frame test failures seen on the per user builder IE8 builder. The tests fail because of
a missing navigation manager instance on the IE thread. This object is registered when the bho is dynamically added to the WebBrowser object by the chrome frame helper. On the IE8 builder we attempt to register the bho multiple times as we expect the return variant type from the IWebBrowser2::GetProperty call to be VT_DISPATCH. It returns VT_UNKNOWN. This causes the navigation manager to be unregistered in the destructor of the variant object thus leading to the failure. BUG=80820 TEST=ChromeFrame tests should pass on the IE8 windows 7 per user builder. Review URL: http://codereview.chromium.org/6907014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83939 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/bho_loader.cc')
-rw-r--r--chrome_frame/bho_loader.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/chrome_frame/bho_loader.cc b/chrome_frame/bho_loader.cc
index 5b28831..2cf547d 100644
--- a/chrome_frame/bho_loader.cc
+++ b/chrome_frame/bho_loader.cc
@@ -81,7 +81,8 @@ void BHOLoader::OnHookEvent(DWORD event, HWND window) {
HRESULT hr = browser->GetProperty(bho_clsid_as_string_bstr,
&existing_bho);
- if (existing_bho.vt != VT_DISPATCH || existing_bho.pdispVal == NULL) {
+ if (V_VT(&existing_bho) != VT_DISPATCH &&
+ V_VT(&existing_bho) != VT_UNKNOWN) {
// Step 4:
// We have the IWebBrowser2 interface. Now create the BHO instance
CComPtr<IObjectWithSite> bho_object;