diff options
author | stoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-10 00:18:27 +0000 |
---|---|---|
committer | stoyan@chromium.org <stoyan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-10 00:18:27 +0000 |
commit | e655884873225a8b146ee2f992baafbfdcacb344 (patch) | |
tree | 98af614d241770030e081551d5c9998bd8b8cda7 /chrome_frame/chrome_frame_automation.h | |
parent | ae7593642c76769c2eb4c56428b861d1327f7a87 (diff) | |
download | chromium_src-e655884873225a8b146ee2f992baafbfdcacb344.zip chromium_src-e655884873225a8b146ee2f992baafbfdcacb344.tar.gz chromium_src-e655884873225a8b146ee2f992baafbfdcacb344.tar.bz2 |
Fix crash. Happens in LaunchDelegate::LaunchComplete if delegate (ChromeFrameAutomationClient) is destroyed before launch callback is invoked. Happens when underlying automation proxy is going to be shared to new instance of ChromeFrameAutomationClient and we destroy that instance before receiving LaunchComplete callback.
Still have a race (and possible crash) for automation_server_ in ReleaseAutomationServer and LaunchComplete,
TEST=test added.
Review URL: http://codereview.chromium.org/582018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38551 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_frame_automation.h')
-rw-r--r-- | chrome_frame/chrome_frame_automation.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/chrome_frame/chrome_frame_automation.h b/chrome_frame/chrome_frame_automation.h index 4cfa187..8b2f801 100644 --- a/chrome_frame/chrome_frame_automation.h +++ b/chrome_frame/chrome_frame_automation.h @@ -122,7 +122,7 @@ class ProxyFactory { void CreateProxy(ProxyCacheEntry* entry, const ChromeFrameLaunchParams& params, LaunchDelegate* delegate); - void DestroyProxy(ProxyCacheEntry* entry); + void ReleaseProxy(ProxyCacheEntry* entry, base::WaitableEvent* done); void SendUMAData(ProxyCacheEntry* proxy_entry); |