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

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

Issue 2466123002: DevTools: reformat front-end code to match chromium style. (Closed)
Patch Set: all done Created 4 years, 1 month 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
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
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * 12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY 13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 /**
26 * @implements {WebInspector.EventTarget}
27 * @unrestricted
28 */
29 WebInspector.Object = class {
30 /**
31 * @override
32 * @param {string|symbol} eventType
33 * @param {function(!WebInspector.Event)} listener
34 * @param {!Object=} thisObject
35 * @return {!WebInspector.EventTarget.EventDescriptor}
36 */
37 addEventListener(eventType, listener, thisObject) {
38 if (!listener)
39 console.assert(false);
25 40
26 /** 41 if (!this._listeners)
27 * @constructor 42 this._listeners = new Map();
28 * @implements {WebInspector.EventTarget} 43 if (!this._listeners.has(eventType))
29 */ 44 this._listeners.set(eventType, []);
30 WebInspector.Object = function() { 45 this._listeners.get(eventType).push({thisObject: thisObject, listener: liste ner});
31 }; 46 return new WebInspector.EventTarget.EventDescriptor(this, eventType, thisObj ect, listener);
47 }
32 48
33 WebInspector.Object.prototype = { 49 /**
34 /** 50 * @override
35 * @override 51 * @param {string|symbol} eventType
36 * @param {string|symbol} eventType 52 * @param {function(!WebInspector.Event)} listener
37 * @param {function(!WebInspector.Event)} listener 53 * @param {!Object=} thisObject
38 * @param {!Object=} thisObject 54 */
39 * @return {!WebInspector.EventTarget.EventDescriptor} 55 removeEventListener(eventType, listener, thisObject) {
40 */ 56 console.assert(listener);
41 addEventListener: function(eventType, listener, thisObject)
42 {
43 if (!listener)
44 console.assert(false);
45 57
46 if (!this._listeners) 58 if (!this._listeners || !this._listeners.has(eventType))
47 this._listeners = new Map(); 59 return;
48 if (!this._listeners.has(eventType)) 60 var listeners = this._listeners.get(eventType);
49 this._listeners.set(eventType, []); 61 for (var i = 0; i < listeners.length; ++i) {
50 this._listeners.get(eventType).push({ thisObject: thisObject, listener: listener }); 62 if (listeners[i].listener === listener && listeners[i].thisObject === this Object)
51 return new WebInspector.EventTarget.EventDescriptor(this, eventType, thi sObject, listener); 63 listeners.splice(i--, 1);
52 }, 64 }
53 65
54 /** 66 if (!listeners.length)
55 * @override 67 this._listeners.delete(eventType);
56 * @param {string|symbol} eventType 68 }
57 * @param {function(!WebInspector.Event)} listener
58 * @param {!Object=} thisObject
59 */
60 removeEventListener: function(eventType, listener, thisObject)
61 {
62 console.assert(listener);
63 69
64 if (!this._listeners || !this._listeners.has(eventType)) 70 /**
65 return; 71 * @override
66 var listeners = this._listeners.get(eventType); 72 */
67 for (var i = 0; i < listeners.length; ++i) { 73 removeAllListeners() {
68 if (listeners[i].listener === listener && listeners[i].thisObject == = thisObject) 74 delete this._listeners;
69 listeners.splice(i--, 1); 75 }
70 }
71 76
72 if (!listeners.length) 77 /**
73 this._listeners.delete(eventType); 78 * @override
74 }, 79 * @param {string|symbol} eventType
80 * @return {boolean}
81 */
82 hasEventListeners(eventType) {
83 return this._listeners && this._listeners.has(eventType);
84 }
75 85
76 /** 86 /**
77 * @override 87 * @override
78 */ 88 * @param {string|symbol} eventType
79 removeAllListeners: function() 89 * @param {*=} eventData
80 { 90 * @return {boolean}
81 delete this._listeners; 91 */
82 }, 92 dispatchEventToListeners(eventType, eventData) {
93 if (!this._listeners || !this._listeners.has(eventType))
94 return false;
83 95
84 /** 96 var event = new WebInspector.Event(this, eventType, eventData);
85 * @override 97 var listeners = this._listeners.get(eventType).slice(0);
86 * @param {string|symbol} eventType 98 for (var i = 0; i < listeners.length; ++i) {
87 * @return {boolean} 99 listeners[i].listener.call(listeners[i].thisObject, event);
88 */ 100 if (event._stoppedPropagation)
89 hasEventListeners: function(eventType) 101 break;
90 { 102 }
91 return this._listeners && this._listeners.has(eventType);
92 },
93 103
94 /** 104 return event.defaultPrevented;
95 * @override 105 }
96 * @param {string|symbol} eventType
97 * @param {*=} eventData
98 * @return {boolean}
99 */
100 dispatchEventToListeners: function(eventType, eventData)
101 {
102 if (!this._listeners || !this._listeners.has(eventType))
103 return false;
104
105 var event = new WebInspector.Event(this, eventType, eventData);
106 var listeners = this._listeners.get(eventType).slice(0);
107 for (var i = 0; i < listeners.length; ++i) {
108 listeners[i].listener.call(listeners[i].thisObject, event);
109 if (event._stoppedPropagation)
110 break;
111 }
112
113 return event.defaultPrevented;
114 }
115 }; 106 };
116 107
117 /** 108 /**
118 * @constructor 109 * @unrestricted
119 * @param {!WebInspector.EventTarget} target
120 * @param {string|symbol} type
121 * @param {*=} data
122 */ 110 */
123 WebInspector.Event = function(target, type, data) 111 WebInspector.Event = class {
124 { 112 /**
113 * @param {!WebInspector.EventTarget} target
114 * @param {string|symbol} type
115 * @param {*=} data
116 */
117 constructor(target, type, data) {
125 this.target = target; 118 this.target = target;
126 this.type = type; 119 this.type = type;
127 this.data = data; 120 this.data = data;
128 this.defaultPrevented = false; 121 this.defaultPrevented = false;
129 this._stoppedPropagation = false; 122 this._stoppedPropagation = false;
130 }; 123 }
131 124
132 WebInspector.Event.prototype = { 125 stopPropagation() {
133 stopPropagation: function() 126 this._stoppedPropagation = true;
134 { 127 }
135 this._stoppedPropagation = true;
136 },
137 128
138 preventDefault: function() 129 preventDefault() {
139 { 130 this.defaultPrevented = true;
140 this.defaultPrevented = true; 131 }
141 },
142 132
143 /** 133 /**
144 * @param {boolean=} preventDefault 134 * @param {boolean=} preventDefault
145 */ 135 */
146 consume: function(preventDefault) 136 consume(preventDefault) {
147 { 137 this.stopPropagation();
148 this.stopPropagation(); 138 if (preventDefault)
149 if (preventDefault) 139 this.preventDefault();
150 this.preventDefault(); 140 }
151 }
152 }; 141 };
153 142
154 /** 143 /**
155 * @interface 144 * @interface
156 */ 145 */
157 WebInspector.EventTarget = function() 146 WebInspector.EventTarget = function() {};
158 {
159 };
160 147
161 /** 148 /**
162 * @param {!Array<!WebInspector.EventTarget.EventDescriptor>} eventList 149 * @param {!Array<!WebInspector.EventTarget.EventDescriptor>} eventList
163 */ 150 */
164 WebInspector.EventTarget.removeEventListeners = function(eventList) 151 WebInspector.EventTarget.removeEventListeners = function(eventList) {
165 { 152 for (var i = 0; i < eventList.length; ++i) {
166 for (var i = 0; i < eventList.length; ++i) { 153 var eventInfo = eventList[i];
167 var eventInfo = eventList[i]; 154 eventInfo.eventTarget.removeEventListener(eventInfo.eventType, eventInfo.met hod, eventInfo.receiver);
168 eventInfo.eventTarget.removeEventListener(eventInfo.eventType, eventInfo .method, eventInfo.receiver); 155 }
169 } 156 // Do not hold references on unused event descriptors.
170 // Do not hold references on unused event descriptors. 157 eventList.splice(0, eventList.length);
171 eventList.splice(0, eventList.length);
172 }; 158 };
173 159
174 WebInspector.EventTarget.prototype = { 160 WebInspector.EventTarget.prototype = {
175 /** 161 /**
176 * @param {string|symbol} eventType 162 * @param {string|symbol} eventType
177 * @param {function(!WebInspector.Event)} listener 163 * @param {function(!WebInspector.Event)} listener
178 * @param {!Object=} thisObject 164 * @param {!Object=} thisObject
179 * @return {!WebInspector.EventTarget.EventDescriptor} 165 * @return {!WebInspector.EventTarget.EventDescriptor}
180 */ 166 */
181 addEventListener: function(eventType, listener, thisObject) { }, 167 addEventListener: function(eventType, listener, thisObject) {},
182 168
183 /** 169 /**
184 * @param {string|symbol} eventType 170 * @param {string|symbol} eventType
185 * @param {function(!WebInspector.Event)} listener 171 * @param {function(!WebInspector.Event)} listener
186 * @param {!Object=} thisObject 172 * @param {!Object=} thisObject
187 */ 173 */
188 removeEventListener: function(eventType, listener, thisObject) { }, 174 removeEventListener: function(eventType, listener, thisObject) {},
189 175
190 removeAllListeners: function() { }, 176 removeAllListeners: function() {},
191 177
192 /** 178 /**
193 * @param {string|symbol} eventType 179 * @param {string|symbol} eventType
194 * @return {boolean} 180 * @return {boolean}
195 */ 181 */
196 hasEventListeners: function(eventType) { }, 182 hasEventListeners: function(eventType) {},
197 183
198 /** 184 /**
199 * @param {string|symbol} eventType 185 * @param {string|symbol} eventType
200 * @param {*=} eventData 186 * @param {*=} eventData
201 * @return {boolean} 187 * @return {boolean}
202 */ 188 */
203 dispatchEventToListeners: function(eventType, eventData) { }, 189 dispatchEventToListeners: function(eventType, eventData) {},
204 }; 190 };
205 191
206 /** 192 /**
207 * @constructor 193 * @unrestricted
208 * @param {!WebInspector.EventTarget} eventTarget
209 * @param {string|symbol} eventType
210 * @param {(!Object|undefined)} receiver
211 * @param {function(?):?} method
212 */ 194 */
213 WebInspector.EventTarget.EventDescriptor = function(eventTarget, eventType, rece iver, method) 195 WebInspector.EventTarget.EventDescriptor = class {
214 { 196 /**
197 * @param {!WebInspector.EventTarget} eventTarget
198 * @param {string|symbol} eventType
199 * @param {(!Object|undefined)} receiver
200 * @param {function(?):?} method
201 */
202 constructor(eventTarget, eventType, receiver, method) {
215 this.eventTarget = eventTarget; 203 this.eventTarget = eventTarget;
216 this.eventType = eventType; 204 this.eventType = eventType;
217 this.receiver = receiver; 205 this.receiver = receiver;
218 this.method = method; 206 this.method = method;
207 }
219 }; 208 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698