diff options
author | jstritar@chromium.org <jstritar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-14 16:07:27 +0000 |
---|---|---|
committer | jstritar@chromium.org <jstritar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-14 16:07:27 +0000 |
commit | d3b94c23bfd798c2fa9c72e1da23e9dfa7834862 (patch) | |
tree | 4846c7fd6287d592ccac3c4619cf9c900c813d5c /chrome/renderer/resources/extension_process_bindings.js | |
parent | e6850c99467f8747125a378cf80108fc2f57e95f (diff) | |
download | chromium_src-d3b94c23bfd798c2fa9c72e1da23e9dfa7834862.zip chromium_src-d3b94c23bfd798c2fa9c72e1da23e9dfa7834862.tar.gz chromium_src-d3b94c23bfd798c2fa9c72e1da23e9dfa7834862.tar.bz2 |
Fix Port and Event leaking.
BUG=67344
TEST=See bug.
Review URL: http://codereview.chromium.org/6670001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78036 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/resources/extension_process_bindings.js')
-rw-r--r-- | chrome/renderer/resources/extension_process_bindings.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/chrome/renderer/resources/extension_process_bindings.js b/chrome/renderer/resources/extension_process_bindings.js index 6588c70..7b4ce83 100644 --- a/chrome/renderer/resources/extension_process_bindings.js +++ b/chrome/renderer/resources/extension_process_bindings.js @@ -652,9 +652,13 @@ var chrome = chrome || {}; responseCallback(); }); port.onMessage.addListener(function(response) { - if (responseCallback) - responseCallback(response); - port.disconnect(); + try { + if (responseCallback) + responseCallback(response); + } finally { + port.disconnect(); + port = null; + } }); }; |