diff options
author | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-12 19:02:02 +0000 |
---|---|---|
committer | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-12 19:02:02 +0000 |
commit | afccd9a3331edcf4aed92ee5c84d57cf2355b0db (patch) | |
tree | 6221d0e2080cc8a05618f763d2df31dbabb3fa03 /chrome | |
parent | 43a9ffb2d6fe201d5ba2a9a6bc09d2c6ebbc226d (diff) | |
download | chromium_src-afccd9a3331edcf4aed92ee5c84d57cf2355b0db.zip chromium_src-afccd9a3331edcf4aed92ee5c84d57cf2355b0db.tar.gz chromium_src-afccd9a3331edcf4aed92ee5c84d57cf2355b0db.tar.bz2 |
cleanup pending_extension_requests_ in dtor.
pending requests never get cleared in extension_api_client_tests, so they were causing a memory leak.
BUG=11809
R=erikkay
Review URL: http://codereview.chromium.org/112018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15883 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/renderer/render_view.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc index 1a15c57..99e662b 100644 --- a/chrome/renderer/render_view.cc +++ b/chrome/renderer/render_view.cc @@ -214,6 +214,13 @@ RenderView::~RenderView() { it = plugin_delegates_.erase(it); } + // Clear any pending extension api call requests. + IDMap<ExtensionProcessBindings::CallContext>::const_iterator call = + pending_extension_requests_.begin(); + for (; call != pending_extension_requests_.end(); ++call) { + delete call->second; + } + render_thread_->RemoveFilter(debug_message_handler_); render_thread_->RemoveFilter(audio_message_filter_); } |