diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-11 02:33:18 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-11 02:33:18 +0000 |
commit | cd0dec6b9b78a34d7d632d898b18d98a5658ebaf (patch) | |
tree | 27b934688f7e5eb025a487a7fbf90635c8244ac0 /chrome/browser/external_tab_container.cc | |
parent | 593c43b0d36dc37a260c3204857a642da7e6e523 (diff) | |
download | chromium_src-cd0dec6b9b78a34d7d632d898b18d98a5658ebaf.zip chromium_src-cd0dec6b9b78a34d7d632d898b18d98a5658ebaf.tar.gz chromium_src-cd0dec6b9b78a34d7d632d898b18d98a5658ebaf.tar.bz2 |
Fix an ExternalTabContainer leak caused in the code path which attaches an ExternalTabContainer to
an IE tab, which connects to it. The leak occurs because of a refcount leak. This causes the AutomationProvider
to not get released thus resulting in a running chrome.exe instance even after we shutdown IE.
Review URL: http://codereview.chromium.org/600063
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38735 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/external_tab_container.cc')
-rw-r--r-- | chrome/browser/external_tab_container.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/chrome/browser/external_tab_container.cc b/chrome/browser/external_tab_container.cc index 2f9b334..9d0d089 100644 --- a/chrome/browser/external_tab_container.cc +++ b/chrome/browser/external_tab_container.cc @@ -727,12 +727,13 @@ bool ExternalTabContainer::InitNavigationInfo(IPC::NavigationInfo* nav_info, return true; } -ExternalTabContainer* ExternalTabContainer::RemovePendingTab(intptr_t cookie) { +scoped_refptr<ExternalTabContainer> ExternalTabContainer::RemovePendingTab( + intptr_t cookie) { PendingTabs::iterator index = pending_tabs_.find(cookie); if (index != pending_tabs_.end()) { scoped_refptr<ExternalTabContainer> container = (*index).second; pending_tabs_.erase(index); - return container.release(); + return container; } NOTREACHED() << "Failed to find ExternalTabContainer for cookie: " |