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

Side by Side Diff: trunk/src/chrome/renderer/resources/extensions/event.js

Issue 23945003: Revert 221619 "Initial chrome.mdns API." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var eventNatives = requireNative('event_natives'); 5 var eventNatives = requireNative('event_natives');
6 var logging = requireNative('logging'); 6 var logging = requireNative('logging');
7 var schemaRegistry = requireNative('schema_registry'); 7 var schemaRegistry = requireNative('schema_registry');
8 var sendRequest = require('sendRequest').sendRequest; 8 var sendRequest = require('sendRequest').sendRequest;
9 var utils = require('utils'); 9 var utils = require('utils');
10 var validate = require('schemaUtils').validate; 10 var validate = require('schemaUtils').validate;
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 // its listeners. 221 // its listeners.
222 function registerArgumentMassager(name, callback) { 222 function registerArgumentMassager(name, callback) {
223 if (eventArgumentMassagers[name]) 223 if (eventArgumentMassagers[name])
224 throw new Error("Massager already registered for event: " + name); 224 throw new Error("Massager already registered for event: " + name);
225 eventArgumentMassagers[name] = callback; 225 eventArgumentMassagers[name] = callback;
226 } 226 }
227 227
228 // Dispatches a named event with the given argument array. The args array is 228 // Dispatches a named event with the given argument array. The args array is
229 // the list of arguments that will be sent to the event callback. 229 // the list of arguments that will be sent to the event callback.
230 function dispatchEvent(name, args, filteringInfo) { 230 function dispatchEvent(name, args, filteringInfo) {
231 var listenerIDs = []; 231 var listenerIDs = null;
232 232
233 if (filteringInfo) 233 if (filteringInfo)
234 listenerIDs = eventNatives.MatchAgainstEventFilter(name, filteringInfo); 234 listenerIDs = eventNatives.MatchAgainstEventFilter(name, filteringInfo);
235 235
236 var event = attachedNamedEvents[name]; 236 var event = attachedNamedEvents[name];
237 if (!event) 237 if (!event)
238 return; 238 return;
239 239
240 var dispatchArgs = function(args) { 240 var dispatchArgs = function(args) {
241 var result = event.dispatch_(args, listenerIDs); 241 var result = event.dispatch_(args, listenerIDs);
(...skipping 13 matching lines...) Expand all
255 if (!this.eventOptions_.supportsListeners) 255 if (!this.eventOptions_.supportsListeners)
256 throw new Error("This event does not support listeners."); 256 throw new Error("This event does not support listeners.");
257 if (this.eventOptions_.maxListeners && 257 if (this.eventOptions_.maxListeners &&
258 this.getListenerCount() >= this.eventOptions_.maxListeners) { 258 this.getListenerCount() >= this.eventOptions_.maxListeners) {
259 throw new Error("Too many listeners for " + this.eventName_); 259 throw new Error("Too many listeners for " + this.eventName_);
260 } 260 }
261 if (filters) { 261 if (filters) {
262 if (!this.eventOptions_.supportsFilters) 262 if (!this.eventOptions_.supportsFilters)
263 throw new Error("This event does not support filters."); 263 throw new Error("This event does not support filters.");
264 if (filters.url && !(filters.url instanceof Array)) 264 if (filters.url && !(filters.url instanceof Array))
265 throw new Error("filters.url should be an array."); 265 throw new Error("filters.url should be an array");
266 if (filters.serviceType &&
267 !(typeof filters.serviceType === 'string')) {
268 throw new Error("filters.serviceType should be a string.")
269 }
270 } 266 }
271 var listener = {callback: cb, filters: filters}; 267 var listener = {callback: cb, filters: filters};
272 this.attach_(listener); 268 this.attach_(listener);
273 $Array.push(this.listeners_, listener); 269 $Array.push(this.listeners_, listener);
274 }; 270 };
275 271
276 Event.prototype.attach_ = function(listener) { 272 Event.prototype.attach_ = function(listener) {
277 this.attachmentStrategy_.onAddedListener(listener); 273 this.attachmentStrategy_.onAddedListener(listener);
278 274
279 if (this.listeners_.length == 0) { 275 if (this.listeners_.length == 0) {
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 event.detach_(); 486 event.detach_();
491 } 487 }
492 }); 488 });
493 489
494 // NOTE: Event is (lazily) exposed as chrome.Event from dispatcher.cc. 490 // NOTE: Event is (lazily) exposed as chrome.Event from dispatcher.cc.
495 exports.Event = Event; 491 exports.Event = Event;
496 492
497 exports.dispatchEvent = dispatchEvent; 493 exports.dispatchEvent = dispatchEvent;
498 exports.parseEventOptions = parseEventOptions; 494 exports.parseEventOptions = parseEventOptions;
499 exports.registerArgumentMassager = registerArgumentMassager; 495 exports.registerArgumentMassager = registerArgumentMassager;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698