diff options
author | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-21 16:35:21 +0000 |
---|---|---|
committer | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-21 16:35:21 +0000 |
commit | 53b19ac1bdf1771f173a3389cd7fca68dbb2a132 (patch) | |
tree | ea2605e9468b24a8832b916bd73f45094f1738fa /chrome_frame/bind_context_info.cc | |
parent | bfcc96f374e0813b1d7bd435e9aa88af7f931ca6 (diff) | |
download | chromium_src-53b19ac1bdf1771f173a3389cd7fca68dbb2a132.zip chromium_src-53b19ac1bdf1771f173a3389cd7fca68dbb2a132.tar.gz chromium_src-53b19ac1bdf1771f173a3389cd7fca68dbb2a132.tar.bz2 |
Revert 53194 - A different approach to avoid crashes in buggy 3rd party BHOs.This time we're more preceise and only target the buggy components.Behaviour for components that handle browser events correctly, is unchanged even in the presence of buggy DLLs.The core class here is the BuggyBhoTls class and here's the comment for that class:
// Construct an instance of this class on the stack when firing web browser
// events that can be sent to buggy BHOs. This class will intercept those
// BHOs (see list in cc file) and ignore notifications to those components
// for as long as the BuggyBhoTls instance on the stack lives.
TEST=A better fix for bug 44463 but also fixes bug 49373 and a number of crashes that haven't been associated with bug reports yet.
BUG=44463, 49373
Review URL: http://codereview.chromium.org/3031009
TBR=tommi@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53197 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/bind_context_info.cc')
-rw-r--r-- | chrome_frame/bind_context_info.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/chrome_frame/bind_context_info.cc b/chrome_frame/bind_context_info.cc index b1f9565..1f57573 100644 --- a/chrome_frame/bind_context_info.cc +++ b/chrome_frame/bind_context_info.cc @@ -47,10 +47,9 @@ HRESULT BindContextInfo::FromBindContext(IBindCtx* bind_context, hr = internal.QueryFrom(context); DCHECK(SUCCEEDED(hr)); if (SUCCEEDED(hr)) { + BindContextInfo* ret = NULL; hr = internal->GetCppObject(reinterpret_cast<void**>(info)); DCHECK_EQ(hr, S_OK); - DLOG_IF(ERROR, *info != static_cast<BindContextInfo*>(internal.get())) - << "marshalling took place!"; } } else { DCHECK(FAILED(hr)); |