Index: chrome/renderer/resources/extensions/event.js |
diff --git a/chrome/renderer/resources/extensions/event.js b/chrome/renderer/resources/extensions/event.js |
index 13ad277481dc0391d4e8a3cb6ff8503cef33b67c..c6c5a0fc0151355d542192d2237caf3f213a3859 100644 |
--- a/chrome/renderer/resources/extensions/event.js |
+++ b/chrome/renderer/resources/extensions/event.js |
@@ -228,7 +228,7 @@ |
// Dispatches a named event with the given argument array. The args array is |
// the list of arguments that will be sent to the event callback. |
function dispatchEvent(name, args, filteringInfo) { |
- var listenerIDs = null; |
+ var listenerIDs = []; |
if (filteringInfo) |
listenerIDs = eventNatives.MatchAgainstEventFilter(name, filteringInfo); |
@@ -262,7 +262,11 @@ |
if (!this.eventOptions_.supportsFilters) |
throw new Error("This event does not support filters."); |
if (filters.url && !(filters.url instanceof Array)) |
- throw new Error("filters.url should be an array"); |
+ throw new Error("filters.url should be an array."); |
+ if (filters.serviceType && |
+ !(typeof filters.serviceType === 'string')) { |
+ throw new Error("filters.serviceType should be a string.") |
+ } |
} |
var listener = {callback: cb, filters: filters}; |
this.attach_(listener); |