diff options
-rw-r--r-- | chrome/renderer/resources/extension_process_bindings.js | 10 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/webrequest/events/test.html | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/chrome/renderer/resources/extension_process_bindings.js b/chrome/renderer/resources/extension_process_bindings.js index 98e31cb..b2d10ff 100644 --- a/chrome/renderer/resources/extension_process_bindings.js +++ b/chrome/renderer/resources/extension_process_bindings.js @@ -274,6 +274,16 @@ var chrome = chrome || {}; this.callbackMap_ = {}; }; + // Test if the given callback is registered for this event. + chrome.WebRequestEvent.prototype.hasListener = function(cb) { + return this.findListener_(cb) > -1; + }; + + // Test if any callbacks are registered fur thus event. + chrome.WebRequestEvent.prototype.hasListeners = function(cb) { + return this.subEvents_.length > 0; + }; + // Registers a callback to be called when this event is dispatched. If // opt_filter is specified, then the callback is only called for events that // match the given filters. If opt_extraInfo is specified, the given optional diff --git a/chrome/test/data/extensions/api_test/webrequest/events/test.html b/chrome/test/data/extensions/api_test/webrequest/events/test.html index 2a35531..181acda 100644 --- a/chrome/test/data/extensions/api_test/webrequest/events/test.html +++ b/chrome/test/data/extensions/api_test/webrequest/events/test.html @@ -226,7 +226,7 @@ function removeListeners() { for (var cb in event.callbackMap_) { event.removeListener(cb); } - chrome.test.assertEq(0, event.subEvents_.length); + chrome.test.assertFalse(event.hasListeners()); } helper(chrome.experimental.webRequest.onBeforeRequest); helper(chrome.experimental.webRequest.onBeforeSendHeaders); |