diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-02 05:59:37 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-02 05:59:37 +0000 |
commit | a3bc13b9a554d857d95f696a2b55db0ee57527b0 (patch) | |
tree | d91412d506986882678a7dd9b0a3ce05f611e6c1 /chrome_frame/urlmon_moniker.cc | |
parent | 320c3b656fba917715ff8f44b2c5ce603845d363 (diff) | |
download | chromium_src-a3bc13b9a554d857d95f696a2b55db0ee57527b0.zip chromium_src-a3bc13b9a554d857d95f696a2b55db0ee57527b0.tar.gz chromium_src-a3bc13b9a554d857d95f696a2b55db0ee57527b0.tar.bz2 |
Fix a ChromeFrame crash which occurs probably in the upgrade scenario where we fail to cocreate our
active document object which was most likely unregistered. Added a check to bail here.
Fixes bug http://code.google.com/p/chromium/issues/detail?id=40169
Bug=40169
Review URL: http://codereview.chromium.org/1564008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43456 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/urlmon_moniker.cc')
-rw-r--r-- | chrome_frame/urlmon_moniker.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/chrome_frame/urlmon_moniker.cc b/chrome_frame/urlmon_moniker.cc index 91885a5..77c1fc6 100644 --- a/chrome_frame/urlmon_moniker.cc +++ b/chrome_frame/urlmon_moniker.cc @@ -445,7 +445,10 @@ HRESULT MonikerPatch::BindToObject(IMoniker_BindToObject_Fn original, // the already cached data. ScopedComPtr<IUnknown> cf_doc; hr = cf_doc.CreateInstance(CLSID_ChromeActiveDocument); - DCHECK(SUCCEEDED(hr)); + if (FAILED(hr)) { + NOTREACHED() << "Failed to cocreate active document. Error:" << hr; + return original(me, bind_ctx, to_left, iid, obj); + } ScopedComPtr<IPersistMoniker> persist_moniker; hr = persist_moniker.QueryFrom(cf_doc); DCHECK(SUCCEEDED(hr)); |