| 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);
|
|
|