summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/resources/extension_process_bindings.js
diff options
context:
space:
mode:
authorjstritar@chromium.org <jstritar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-14 16:07:27 +0000
committerjstritar@chromium.org <jstritar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-14 16:07:27 +0000
commitd3b94c23bfd798c2fa9c72e1da23e9dfa7834862 (patch)
tree4846c7fd6287d592ccac3c4619cf9c900c813d5c /chrome/renderer/resources/extension_process_bindings.js
parente6850c99467f8747125a378cf80108fc2f57e95f (diff)
downloadchromium_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.js10
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;
+ }
});
};