Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6483)

Unified Diff: chrome/renderer/resources/extensions/event.js

Issue 10855015: Add documentation for filtered events. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase again Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/resources/extensions/event.js
diff --git a/chrome/renderer/resources/extensions/event.js b/chrome/renderer/resources/extensions/event.js
index f342014fdda09db0652e8d08c3778d0f9e3c99f9..19419fbd8264ac2d8cb4632dfc32ddeb785a23b0 100644
--- a/chrome/renderer/resources/extensions/event.js
+++ b/chrome/renderer/resources/extensions/event.js
@@ -158,6 +158,24 @@
return result;
};
+ chromeHidden.parseEventOptions = function(opt_eventOptions) {
+ function merge(dest, src) {
+ for (var k in src) {
+ if (!dest.hasOwnProperty(k)) {
+ dest[k] = src[k];
+ }
+ }
+ }
+
+ var options = opt_eventOptions || {};
+ merge(options,
+ {supportsFilters: false,
+ supportsListeners: true,
+ supportsRules: false,
+ });
+ return options;
+ };
+
// Event object. If opt_eventName is provided, this object represents
// the unique instance of that named event, and dispatching an event
// with that name will route through this object's listeners. Note that
@@ -174,11 +192,7 @@
chrome.Event = function(opt_eventName, opt_argSchemas, opt_eventOptions) {
this.eventName_ = opt_eventName;
this.listeners_ = [];
- this.eventOptions_ = opt_eventOptions ||
- {supportsFilters: false,
- supportsListeners: true,
- supportsRules: false,
- };
+ this.eventOptions_ = chromeHidden.parseEventOptions(opt_eventOptions);
if (this.eventOptions_.supportsRules && !opt_eventName)
throw new Error("Events that support rules require an event name.");
@@ -207,6 +221,7 @@
}
};
+
chromeHidden.Event = {};
// callback is a function(args, dispatch). args are the args we receive from

Powered by Google App Engine
This is Rietveld 408576698