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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/common/Object.js

Issue 2715483003: DevTools: Template emittable events (Closed)
Patch Set: Created 3 years, 10 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 return; 91 return;
92 92
93 var event = new Common.Event(eventData); 93 var event = new Common.Event(eventData);
94 var listeners = this._listeners.get(eventType).slice(0); 94 var listeners = this._listeners.get(eventType).slice(0);
95 for (var i = 0; i < listeners.length; ++i) 95 for (var i = 0; i < listeners.length; ++i)
96 listeners[i].listener.call(listeners[i].thisObject, event); 96 listeners[i].listener.call(listeners[i].thisObject, event);
97 } 97 }
98 98
99 /** 99 /**
100 * @override 100 * @override
101 * @param {function(new:Common.Emittable, ...)} eventType 101 * @param {function(new:T, ...)} eventType
102 * @param {function(!T)} listener 102 * @param {function(!T)} listener
103 * @param {!Object=} thisObject 103 * @param {!Object=} thisObject
104 * @return {!Common.EventTarget.TypedEventDescriptor} 104 * @return {!Common.EventTarget.TypedEventDescriptor}
105 * @template T 105 * @template T
106 */ 106 */
107 on(eventType, listener, thisObject) { 107 on(eventType, listener, thisObject) {
108 if (!this._listeners) 108 if (!this._listeners)
109 this._listeners = new Map(); 109 this._listeners = new Map();
110 if (!this._listeners.has(eventType)) 110 if (!this._listeners.has(eventType))
111 this._listeners.set(eventType, []); 111 this._listeners.set(eventType, []);
112 this._listeners.get(eventType).push({thisObject: thisObject, listener: liste ner}); 112 this._listeners.get(eventType).push({thisObject: thisObject, listener: liste ner});
113 return new Common.EventTarget.TypedEventDescriptor(this, eventType, thisObje ct, listener); 113 return new Common.EventTarget.TypedEventDescriptor(this, eventType, thisObje ct, listener);
114 } 114 }
115 115
116 /** 116 /**
117 * @override 117 * @override
118 * @param {function(new:Common.Emittable, ...)} eventType 118 * @param {function(new:T, ...)} eventType
119 * @param {function(!Common.Emittable)} listener 119 * @param {function(!T)} listener
120 * @param {!Object=} thisObject 120 * @param {!Object=} thisObject
121 * @template T
121 */ 122 */
122 off(eventType, listener, thisObject) { 123 off(eventType, listener, thisObject) {
123 if (!this._listeners || !this._listeners.has(eventType)) 124 if (!this._listeners || !this._listeners.has(eventType))
124 return; 125 return;
125 var listeners = this._listeners.get(eventType); 126 var listeners = this._listeners.get(eventType);
126 for (var i = 0; i < listeners.length; ++i) { 127 for (var i = 0; i < listeners.length; ++i) {
127 if (listeners[i].listener === listener && listeners[i].thisObject === this Object) 128 if (listeners[i].listener === listener && listeners[i].thisObject === this Object)
128 listeners.splice(i--, 1); 129 listeners.splice(i--, 1);
129 } 130 }
130 if (!listeners.length) 131 if (!listeners.length)
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 */ 268 */
268 hasEventListeners(eventType) {}, 269 hasEventListeners(eventType) {},
269 270
270 /** 271 /**
271 * @param {symbol} eventType 272 * @param {symbol} eventType
272 * @param {*=} eventData 273 * @param {*=} eventData
273 */ 274 */
274 dispatchEventToListeners(eventType, eventData) {}, 275 dispatchEventToListeners(eventType, eventData) {},
275 276
276 /** 277 /**
277 * @param {function(new:Common.Emittable, ...)} eventType 278 * @param {function(new:T, ...)} eventType
278 * @param {function(!T)} listener 279 * @param {function(!T)} listener
279 * @param {!Object=} thisObject 280 * @param {!Object=} thisObject
280 * @return {!Common.EventTarget.TypedEventDescriptor} 281 * @return {!Common.EventTarget.TypedEventDescriptor}
281 * @template T 282 * @template T
282 */ 283 */
283 on(eventType, listener, thisObject) {}, 284 on(eventType, listener, thisObject) {},
284 285
285 /** 286 /**
286 * @param {function(new:Common.Emittable, ...)} eventType 287 * @param {function(new:T, ...)} eventType
287 * @param {function(!Common.Emittable)} listener 288 * @param {function(!T)} listener
288 * @param {!Object=} thisObject 289 * @param {!Object=} thisObject
290 * @template T
289 */ 291 */
290 off(eventType, listener, thisObject) {}, 292 off(eventType, listener, thisObject) {},
291 293
292 /** 294 /**
293 * @param {!Common.Emittable} event 295 * @param {!Common.Emittable} event
294 */ 296 */
295 emit(event) {}, 297 emit(event) {},
296 }; 298 };
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698