summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_active_document.cc
diff options
context:
space:
mode:
authorstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-11 18:06:00 +0000
committerstoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-11 18:06:00 +0000
commit3148c0ae4462e01f4b830b8d2150dcd7fee2cb3b (patch)
treeb475d693512495f0e2209d1f85a852beb45dc1c5 /chrome_frame/chrome_active_document.cc
parentb438c4a50990c32e11e8b9a4d806c8a7bc2b8746 (diff)
downloadchromium_src-3148c0ae4462e01f4b830b8d2150dcd7fee2cb3b.zip
chromium_src-3148c0ae4462e01f4b830b8d2150dcd7fee2cb3b.tar.gz
chromium_src-3148c0ae4462e01f4b830b8d2150dcd7fee2cb3b.tar.bz2
AddRef ChromeFrameAutomationClient as long as the supporting window exists.
Crash was due the final Release() called from inside message handler. Additionally prevent invoking member functions of invalid/old chrome_frame_delegate_. Still have a race acessing url_fetcher_ though. BUG=35556 Review URL: http://codereview.chromium.org/825005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41290 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_active_document.cc')
-rw-r--r--chrome_frame/chrome_active_document.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/chrome_frame/chrome_active_document.cc b/chrome_frame/chrome_active_document.cc
index ce1897f..e4a26bd 100644
--- a/chrome_frame/chrome_active_document.cc
+++ b/chrome_frame/chrome_active_document.cc
@@ -65,7 +65,7 @@ HRESULT ChromeActiveDocument::FinalConstruct() {
ChromeActiveDocument* cached_document = g_active_doc_cache.Get();
if (cached_document) {
DCHECK(automation_client_.get() == NULL);
- automation_client_ = cached_document->automation_client_.release();
+ automation_client_.swap(cached_document->automation_client_);
DLOG(INFO) << "Reusing automation client instance from "
<< cached_document;
DCHECK(automation_client_.get() != NULL);