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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/console_model/ConsoleModel.js

Issue 2751193003: [DevTools] Move ConsoleModel to it's own module (Closed)
Patch Set: Created 3 years, 9 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 13 matching lines...) Expand all
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 /** 31 /**
32 * @implements {SDK.TargetManager.Observer} 32 * @implements {SDK.TargetManager.Observer}
33 */ 33 */
34 SDK.ConsoleModel = class extends Common.Object { 34 ConsoleModel.ConsoleModel = class extends Common.Object {
35 constructor() { 35 constructor() {
36 super(); 36 super();
37 37
38 /** @type {!Array.<!SDK.ConsoleMessage>} */ 38 /** @type {!Array.<!ConsoleModel.ConsoleMessage>} */
39 this._messages = []; 39 this._messages = [];
40 /** @type {!Map<!SDK.Target, !Map<number, !SDK.ConsoleMessage>>} */ 40 /** @type {!Map<!SDK.Target, !Map<number, !ConsoleModel.ConsoleMessage>>} */
41 this._messageByExceptionId = new Map(); 41 this._messageByExceptionId = new Map();
42 this._warnings = 0; 42 this._warnings = 0;
43 this._errors = 0; 43 this._errors = 0;
44 44
45 SDK.targetManager.observeTargets(this); 45 SDK.targetManager.observeTargets(this);
46 } 46 }
47 47
48 /** 48 /**
49 * @override 49 * @override
50 * @param {!SDK.Target} target 50 * @param {!SDK.Target} target
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 eventListeners.push(runtimeModel.addEventListener( 82 eventListeners.push(runtimeModel.addEventListener(
83 SDK.RuntimeModel.Events.ConsoleAPICalled, this._consoleAPICalled.bind( this, runtimeModel))); 83 SDK.RuntimeModel.Events.ConsoleAPICalled, this._consoleAPICalled.bind( this, runtimeModel)));
84 } 84 }
85 85
86 var networkManager = target.model(SDK.NetworkManager); 86 var networkManager = target.model(SDK.NetworkManager);
87 if (networkManager) { 87 if (networkManager) {
88 eventListeners.push(networkManager.addEventListener( 88 eventListeners.push(networkManager.addEventListener(
89 SDK.NetworkManager.Events.WarningGenerated, this._networkWarningGenera ted.bind(this, networkManager))); 89 SDK.NetworkManager.Events.WarningGenerated, this._networkWarningGenera ted.bind(this, networkManager)));
90 } 90 }
91 91
92 target[SDK.ConsoleModel._events] = eventListeners; 92 target[ConsoleModel.ConsoleModel._events] = eventListeners;
93 } 93 }
94 94
95 /** 95 /**
96 * @override 96 * @override
97 * @param {!SDK.Target} target 97 * @param {!SDK.Target} target
98 */ 98 */
99 targetRemoved(target) { 99 targetRemoved(target) {
100 this._messageByExceptionId.delete(target); 100 this._messageByExceptionId.delete(target);
101 Common.EventTarget.removeEventListeners(target[SDK.ConsoleModel._events]); 101 Common.EventTarget.removeEventListeners(target[ConsoleModel.ConsoleModel._ev ents]);
102 } 102 }
103 103
104 /** 104 /**
105 * @param {!SDK.ExecutionContext} executionContext 105 * @param {!SDK.ExecutionContext} executionContext
106 * @param {string} text 106 * @param {string} text
107 * @param {boolean} useCommandLineAPI 107 * @param {boolean} useCommandLineAPI
108 */ 108 */
109 evaluateCommandInConsole(executionContext, text, useCommandLineAPI) { 109 evaluateCommandInConsole(executionContext, text, useCommandLineAPI) {
110 var target = executionContext.target(); 110 var target = executionContext.target();
111 var requestedText = text; 111 var requestedText = text;
112 112
113 var commandMessage = new SDK.ConsoleMessage( 113 var commandMessage = new ConsoleModel.ConsoleMessage(
114 target, SDK.ConsoleMessage.MessageSource.JS, null, text, SDK.ConsoleMess age.MessageType.Command); 114 target, ConsoleModel.ConsoleMessage.MessageSource.JS, null, text,
115 ConsoleModel.ConsoleMessage.MessageType.Command);
115 commandMessage.setExecutionContextId(executionContext.id); 116 commandMessage.setExecutionContextId(executionContext.id);
116 this.addMessage(commandMessage); 117 this.addMessage(commandMessage);
117 118
118 /** 119 /**
119 * @param {?SDK.RemoteObject} result 120 * @param {?SDK.RemoteObject} result
120 * @param {!Protocol.Runtime.ExceptionDetails=} exceptionDetails 121 * @param {!Protocol.Runtime.ExceptionDetails=} exceptionDetails
121 * @this {SDK.ConsoleModel} 122 * @this {ConsoleModel.ConsoleModel}
122 */ 123 */
123 function printResult(result, exceptionDetails) { 124 function printResult(result, exceptionDetails) {
124 if (!result) 125 if (!result)
125 return; 126 return;
126 127
127 Common.console.showPromise().then(() => { 128 Common.console.showPromise().then(() => {
128 this.dispatchEventToListeners( 129 this.dispatchEventToListeners(
129 SDK.ConsoleModel.Events.CommandEvaluated, 130 ConsoleModel.ConsoleModel.Events.CommandEvaluated,
130 {result: result, text: requestedText, commandMessage: commandMessage , exceptionDetails: exceptionDetails}); 131 {result: result, text: requestedText, commandMessage: commandMessage , exceptionDetails: exceptionDetails});
131 }); 132 });
132 } 133 }
133 134
134 /** 135 /**
135 * @param {string} code 136 * @param {string} code
136 * @suppress {uselessCode} 137 * @suppress {uselessCode}
137 * @return {boolean} 138 * @return {boolean}
138 */ 139 */
139 function looksLikeAnObjectLiteral(code) { 140 function looksLikeAnObjectLiteral(code) {
(...skipping 15 matching lines...) Expand all
155 } 156 }
156 157
157 if (looksLikeAnObjectLiteral(text)) 158 if (looksLikeAnObjectLiteral(text))
158 text = '(' + text + ')'; 159 text = '(' + text + ')';
159 160
160 executionContext.evaluate(text, 'console', useCommandLineAPI, false, false, true, true, printResult.bind(this)); 161 executionContext.evaluate(text, 'console', useCommandLineAPI, false, false, true, true, printResult.bind(this));
161 Host.userMetrics.actionTaken(Host.UserMetrics.Action.ConsoleEvaluated); 162 Host.userMetrics.actionTaken(Host.UserMetrics.Action.ConsoleEvaluated);
162 } 163 }
163 164
164 /** 165 /**
165 * @param {!SDK.ConsoleMessage} msg 166 * @param {!ConsoleModel.ConsoleMessage} msg
166 */ 167 */
167 addMessage(msg) { 168 addMessage(msg) {
168 if (msg.source === SDK.ConsoleMessage.MessageSource.Worker && SDK.targetMana ger.targetById(msg.workerId)) 169 if (msg.source === ConsoleModel.ConsoleMessage.MessageSource.Worker && SDK.t argetManager.targetById(msg.workerId))
169 return; 170 return;
170 171
171 if (msg.source === SDK.ConsoleMessage.MessageSource.ConsoleAPI && msg.type = == SDK.ConsoleMessage.MessageType.Clear) 172 if (msg.source === ConsoleModel.ConsoleMessage.MessageSource.ConsoleAPI &&
173 msg.type === ConsoleModel.ConsoleMessage.MessageType.Clear)
172 this._clear(); 174 this._clear();
173 175
174 this._messages.push(msg); 176 this._messages.push(msg);
175 if (msg._exceptionId && msg.target()) { 177 if (msg._exceptionId && msg.target()) {
176 // TODO(dgozman): make target non-nullable, as we only have messages witho ut a target 178 // TODO(dgozman): make target non-nullable, as we only have messages witho ut a target
177 // internally in ConsoleView. 179 // internally in ConsoleView.
178 var target = /** @type {!SDK.Target} */ (msg.target()); 180 var target = /** @type {!SDK.Target} */ (msg.target());
179 var targetMap = this._messageByExceptionId.get(target); 181 var targetMap = this._messageByExceptionId.get(target);
180 if (!targetMap) { 182 if (!targetMap) {
181 targetMap = new Map(); 183 targetMap = new Map();
182 this._messageByExceptionId.set(target, targetMap); 184 this._messageByExceptionId.set(target, targetMap);
183 } 185 }
184 targetMap.set(msg._exceptionId, msg); 186 targetMap.set(msg._exceptionId, msg);
185 } 187 }
186 this._incrementErrorWarningCount(msg); 188 this._incrementErrorWarningCount(msg);
187 this.dispatchEventToListeners(SDK.ConsoleModel.Events.MessageAdded, msg); 189 this.dispatchEventToListeners(ConsoleModel.ConsoleModel.Events.MessageAdded, msg);
188 } 190 }
189 191
190 /** 192 /**
191 * @param {!SDK.LogModel.EntryAddedEvent} event 193 * @param {!SDK.LogModel.EntryAddedEvent} event
192 */ 194 */
193 _logEntryAdded(event) { 195 _logEntryAdded(event) {
194 var consoleMessage = new SDK.ConsoleMessage( 196 var consoleMessage = new ConsoleModel.ConsoleMessage(
195 event.logModel.target(), event.entry.source, event.entry.level, event.en try.text, undefined, event.entry.url, 197 event.logModel.target(), event.entry.source, event.entry.level, event.en try.text, undefined, event.entry.url,
196 event.entry.lineNumber, undefined, event.entry.networkRequestId, undefin ed, event.entry.stackTrace, 198 event.entry.lineNumber, undefined, event.entry.networkRequestId, undefin ed, event.entry.stackTrace,
197 event.entry.timestamp, undefined, undefined, event.entry.workerId); 199 event.entry.timestamp, undefined, undefined, event.entry.workerId);
198 this.addMessage(consoleMessage); 200 this.addMessage(consoleMessage);
199 } 201 }
200 202
201 /** 203 /**
202 * @param {!SDK.RuntimeModel} runtimeModel 204 * @param {!SDK.RuntimeModel} runtimeModel
203 * @param {!Common.Event} event 205 * @param {!Common.Event} event
204 */ 206 */
205 _exceptionThrown(runtimeModel, event) { 207 _exceptionThrown(runtimeModel, event) {
206 var exceptionWithTimestamp = /** @type {!SDK.RuntimeModel.ExceptionWithTimes tamp} */ (event.data); 208 var exceptionWithTimestamp = /** @type {!SDK.RuntimeModel.ExceptionWithTimes tamp} */ (event.data);
207 var consoleMessage = SDK.ConsoleMessage.fromException( 209 var consoleMessage = ConsoleModel.ConsoleMessage.fromException(
208 runtimeModel.target(), exceptionWithTimestamp.details, undefined, except ionWithTimestamp.timestamp, undefined); 210 runtimeModel.target(), exceptionWithTimestamp.details, undefined, except ionWithTimestamp.timestamp, undefined);
209 consoleMessage.setExceptionId(exceptionWithTimestamp.details.exceptionId); 211 consoleMessage.setExceptionId(exceptionWithTimestamp.details.exceptionId);
210 this.addMessage(consoleMessage); 212 this.addMessage(consoleMessage);
211 } 213 }
212 214
213 /** 215 /**
214 * @param {!SDK.RuntimeModel} runtimeModel 216 * @param {!SDK.RuntimeModel} runtimeModel
215 * @param {!Common.Event} event 217 * @param {!Common.Event} event
216 */ 218 */
217 _exceptionRevoked(runtimeModel, event) { 219 _exceptionRevoked(runtimeModel, event) {
218 var exceptionId = /** @type {number} */ (event.data); 220 var exceptionId = /** @type {number} */ (event.data);
219 var targetMap = this._messageByExceptionId.get(runtimeModel.target()); 221 var targetMap = this._messageByExceptionId.get(runtimeModel.target());
220 var exceptionMessage = targetMap ? targetMap.get(exceptionId) : null; 222 var exceptionMessage = targetMap ? targetMap.get(exceptionId) : null;
221 if (!exceptionMessage) 223 if (!exceptionMessage)
222 return; 224 return;
223 this._errors--; 225 this._errors--;
224 exceptionMessage.level = SDK.ConsoleMessage.MessageLevel.Info; 226 exceptionMessage.level = ConsoleModel.ConsoleMessage.MessageLevel.Info;
225 this.dispatchEventToListeners(SDK.ConsoleModel.Events.MessageUpdated, except ionMessage); 227 this.dispatchEventToListeners(ConsoleModel.ConsoleModel.Events.MessageUpdate d, exceptionMessage);
226 } 228 }
227 229
228 /** 230 /**
229 * @param {!SDK.RuntimeModel} runtimeModel 231 * @param {!SDK.RuntimeModel} runtimeModel
230 * @param {!Common.Event} event 232 * @param {!Common.Event} event
231 */ 233 */
232 _consoleAPICalled(runtimeModel, event) { 234 _consoleAPICalled(runtimeModel, event) {
233 var call = /** @type {!SDK.RuntimeModel.ConsoleAPICall} */ (event.data); 235 var call = /** @type {!SDK.RuntimeModel.ConsoleAPICall} */ (event.data);
234 var level = SDK.ConsoleMessage.MessageLevel.Info; 236 var level = ConsoleModel.ConsoleMessage.MessageLevel.Info;
235 if (call.type === SDK.ConsoleMessage.MessageType.Debug) 237 if (call.type === ConsoleModel.ConsoleMessage.MessageType.Debug)
236 level = SDK.ConsoleMessage.MessageLevel.Verbose; 238 level = ConsoleModel.ConsoleMessage.MessageLevel.Verbose;
237 else if (call.type === SDK.ConsoleMessage.MessageType.Error || call.type === SDK.ConsoleMessage.MessageType.Assert) 239 else if (
238 level = SDK.ConsoleMessage.MessageLevel.Error; 240 call.type === ConsoleModel.ConsoleMessage.MessageType.Error ||
239 else if (call.type === SDK.ConsoleMessage.MessageType.Warning) 241 call.type === ConsoleModel.ConsoleMessage.MessageType.Assert)
240 level = SDK.ConsoleMessage.MessageLevel.Warning; 242 level = ConsoleModel.ConsoleMessage.MessageLevel.Error;
241 else if (call.type === SDK.ConsoleMessage.MessageType.Info || call.type === SDK.ConsoleMessage.MessageType.Log) 243 else if (call.type === ConsoleModel.ConsoleMessage.MessageType.Warning)
242 level = SDK.ConsoleMessage.MessageLevel.Info; 244 level = ConsoleModel.ConsoleMessage.MessageLevel.Warning;
245 else if (
246 call.type === ConsoleModel.ConsoleMessage.MessageType.Info ||
247 call.type === ConsoleModel.ConsoleMessage.MessageType.Log)
248 level = ConsoleModel.ConsoleMessage.MessageLevel.Info;
243 var message = ''; 249 var message = '';
244 if (call.args.length && typeof call.args[0].value === 'string') 250 if (call.args.length && typeof call.args[0].value === 'string')
245 message = call.args[0].value; 251 message = call.args[0].value;
246 else if (call.args.length && call.args[0].description) 252 else if (call.args.length && call.args[0].description)
247 message = call.args[0].description; 253 message = call.args[0].description;
248 var callFrame = call.stackTrace && call.stackTrace.callFrames.length ? call. stackTrace.callFrames[0] : null; 254 var callFrame = call.stackTrace && call.stackTrace.callFrames.length ? call. stackTrace.callFrames[0] : null;
249 var consoleMessage = new SDK.ConsoleMessage( 255 var consoleMessage = new ConsoleModel.ConsoleMessage(
250 runtimeModel.target(), SDK.ConsoleMessage.MessageSource.ConsoleAPI, leve l, 256 runtimeModel.target(), ConsoleModel.ConsoleMessage.MessageSource.Console API, level,
251 /** @type {string} */ (message), call.type, callFrame ? callFrame.url : undefined, 257 /** @type {string} */ (message), call.type, callFrame ? callFrame.url : undefined,
252 callFrame ? callFrame.lineNumber : undefined, callFrame ? callFrame.colu mnNumber : undefined, undefined, 258 callFrame ? callFrame.lineNumber : undefined, callFrame ? callFrame.colu mnNumber : undefined, undefined,
253 call.args, call.stackTrace, call.timestamp, call.executionContextId, und efined); 259 call.args, call.stackTrace, call.timestamp, call.executionContextId, und efined);
254 this.addMessage(consoleMessage); 260 this.addMessage(consoleMessage);
255 } 261 }
256 262
257 /** 263 /**
258 * @param {!Common.Event} event 264 * @param {!Common.Event} event
259 */ 265 */
260 _mainFrameStartedLoading(event) { 266 _mainFrameStartedLoading(event) {
261 if (!Common.moduleSetting('preserveConsoleLog').get()) 267 if (!Common.moduleSetting('preserveConsoleLog').get())
262 this._clear(); 268 this._clear();
263 } 269 }
264 270
265 /** 271 /**
266 * @param {!Common.Event} event 272 * @param {!Common.Event} event
267 */ 273 */
268 _mainFrameNavigated(event) { 274 _mainFrameNavigated(event) {
269 if (Common.moduleSetting('preserveConsoleLog').get()) 275 if (Common.moduleSetting('preserveConsoleLog').get())
270 Common.console.log(Common.UIString('Navigated to %s', event.data.url)); 276 Common.console.log(Common.UIString('Navigated to %s', event.data.url));
271 } 277 }
272 278
273 /** 279 /**
274 * @param {!SDK.CPUProfilerModel} cpuProfilerModel 280 * @param {!SDK.CPUProfilerModel} cpuProfilerModel
275 * @param {!Common.Event} event 281 * @param {!Common.Event} event
276 */ 282 */
277 _consoleProfileStarted(cpuProfilerModel, event) { 283 _consoleProfileStarted(cpuProfilerModel, event) {
278 var data = /** @type {!SDK.CPUProfilerModel.EventData} */ (event.data); 284 var data = /** @type {!SDK.CPUProfilerModel.EventData} */ (event.data);
279 this._addConsoleProfileMessage( 285 this._addConsoleProfileMessage(
280 cpuProfilerModel, SDK.ConsoleMessage.MessageType.Profile, data.scriptLoc ation, 286 cpuProfilerModel, ConsoleModel.ConsoleMessage.MessageType.Profile, data. scriptLocation,
281 Common.UIString('Profile \'%s\' started.', data.title)); 287 Common.UIString('Profile \'%s\' started.', data.title));
282 } 288 }
283 289
284 /** 290 /**
285 * @param {!SDK.CPUProfilerModel} cpuProfilerModel 291 * @param {!SDK.CPUProfilerModel} cpuProfilerModel
286 * @param {!Common.Event} event 292 * @param {!Common.Event} event
287 */ 293 */
288 _consoleProfileFinished(cpuProfilerModel, event) { 294 _consoleProfileFinished(cpuProfilerModel, event) {
289 var data = /** @type {!SDK.CPUProfilerModel.EventData} */ (event.data); 295 var data = /** @type {!SDK.CPUProfilerModel.EventData} */ (event.data);
290 this._addConsoleProfileMessage( 296 this._addConsoleProfileMessage(
291 cpuProfilerModel, SDK.ConsoleMessage.MessageType.ProfileEnd, data.script Location, 297 cpuProfilerModel, ConsoleModel.ConsoleMessage.MessageType.ProfileEnd, da ta.scriptLocation,
292 Common.UIString('Profile \'%s\' finished.', data.title)); 298 Common.UIString('Profile \'%s\' finished.', data.title));
293 } 299 }
294 300
295 /** 301 /**
296 * @param {!SDK.CPUProfilerModel} cpuProfilerModel 302 * @param {!SDK.CPUProfilerModel} cpuProfilerModel
297 * @param {string} type 303 * @param {string} type
298 * @param {!SDK.DebuggerModel.Location} scriptLocation 304 * @param {!SDK.DebuggerModel.Location} scriptLocation
299 * @param {string} messageText 305 * @param {string} messageText
300 */ 306 */
301 _addConsoleProfileMessage(cpuProfilerModel, type, scriptLocation, messageText) { 307 _addConsoleProfileMessage(cpuProfilerModel, type, scriptLocation, messageText) {
302 var stackTrace = [{ 308 var stackTrace = [{
303 functionName: '', 309 functionName: '',
304 scriptId: scriptLocation.scriptId, 310 scriptId: scriptLocation.scriptId,
305 url: scriptLocation.script() ? scriptLocation.script().contentURL() : '', 311 url: scriptLocation.script() ? scriptLocation.script().contentURL() : '',
306 lineNumber: scriptLocation.lineNumber, 312 lineNumber: scriptLocation.lineNumber,
307 columnNumber: scriptLocation.columnNumber || 0 313 columnNumber: scriptLocation.columnNumber || 0
308 }]; 314 }];
309 this.addMessage(new SDK.ConsoleMessage( 315 this.addMessage(new ConsoleModel.ConsoleMessage(
310 cpuProfilerModel.target(), SDK.ConsoleMessage.MessageSource.ConsoleAPI, SDK.ConsoleMessage.MessageLevel.Info, 316 cpuProfilerModel.target(), ConsoleModel.ConsoleMessage.MessageSource.Con soleAPI,
311 messageText, type, undefined, undefined, undefined, undefined, stackTrac e)); 317 ConsoleModel.ConsoleMessage.MessageLevel.Info, messageText, type, undefi ned, undefined, undefined, undefined,
318 stackTrace));
312 } 319 }
313 320
314 /** 321 /**
315 * @param {!SDK.NetworkManager} networkManager 322 * @param {!SDK.NetworkManager} networkManager
316 * @param {!Common.Event} event 323 * @param {!Common.Event} event
317 */ 324 */
318 _networkWarningGenerated(networkManager, event) { 325 _networkWarningGenerated(networkManager, event) {
319 var warning = /** @type {!SDK.NetworkManager.Warning} */ (event.data); 326 var warning = /** @type {!SDK.NetworkManager.Warning} */ (event.data);
320 this.addMessage(new SDK.ConsoleMessage( 327 this.addMessage(new ConsoleModel.ConsoleMessage(
321 networkManager.target(), SDK.ConsoleMessage.MessageSource.Network, SDK.C onsoleMessage.MessageLevel.Warning, 328 networkManager.target(), ConsoleModel.ConsoleMessage.MessageSource.Netwo rk,
322 warning.message, undefined, undefined, undefined, undefined, warning.req uestId)); 329 ConsoleModel.ConsoleMessage.MessageLevel.Warning, warning.message, undef ined, undefined, undefined, undefined,
330 warning.requestId));
323 } 331 }
324 332
325 /** 333 /**
326 * @param {!SDK.ConsoleMessage} msg 334 * @param {!ConsoleModel.ConsoleMessage} msg
327 */ 335 */
328 _incrementErrorWarningCount(msg) { 336 _incrementErrorWarningCount(msg) {
329 if (msg.source === SDK.ConsoleMessage.MessageSource.Violation) 337 if (msg.source === ConsoleModel.ConsoleMessage.MessageSource.Violation)
330 return; 338 return;
331 switch (msg.level) { 339 switch (msg.level) {
332 case SDK.ConsoleMessage.MessageLevel.Warning: 340 case ConsoleModel.ConsoleMessage.MessageLevel.Warning:
333 this._warnings++; 341 this._warnings++;
334 break; 342 break;
335 case SDK.ConsoleMessage.MessageLevel.Error: 343 case ConsoleModel.ConsoleMessage.MessageLevel.Error:
336 this._errors++; 344 this._errors++;
337 break; 345 break;
338 } 346 }
339 } 347 }
340 348
341 /** 349 /**
342 * @return {!Array.<!SDK.ConsoleMessage>} 350 * @return {!Array.<!ConsoleModel.ConsoleMessage>}
343 */ 351 */
344 messages() { 352 messages() {
345 return this._messages; 353 return this._messages;
346 } 354 }
347 355
348 requestClearMessages() { 356 requestClearMessages() {
349 for (var logModel of SDK.targetManager.models(SDK.LogModel)) 357 for (var logModel of SDK.targetManager.models(SDK.LogModel))
350 logModel.requestClear(); 358 logModel.requestClear();
351 for (var runtimeModel of SDK.targetManager.models(SDK.RuntimeModel)) 359 for (var runtimeModel of SDK.targetManager.models(SDK.RuntimeModel))
352 runtimeModel.discardConsoleEntries(); 360 runtimeModel.discardConsoleEntries();
353 this._clear(); 361 this._clear();
354 } 362 }
355 363
356 _clear() { 364 _clear() {
357 this._messages = []; 365 this._messages = [];
358 this._messageByExceptionId.clear(); 366 this._messageByExceptionId.clear();
359 this._errors = 0; 367 this._errors = 0;
360 this._warnings = 0; 368 this._warnings = 0;
361 this.dispatchEventToListeners(SDK.ConsoleModel.Events.ConsoleCleared); 369 this.dispatchEventToListeners(ConsoleModel.ConsoleModel.Events.ConsoleCleare d);
362 } 370 }
363 371
364 /** 372 /**
365 * @return {number} 373 * @return {number}
366 */ 374 */
367 errors() { 375 errors() {
368 return this._errors; 376 return this._errors;
369 } 377 }
370 378
371 /** 379 /**
372 * @return {number} 380 * @return {number}
373 */ 381 */
374 warnings() { 382 warnings() {
375 return this._warnings; 383 return this._warnings;
376 } 384 }
377 }; 385 };
378 386
379 /** @enum {symbol} */ 387 /** @enum {symbol} */
380 SDK.ConsoleModel.Events = { 388 ConsoleModel.ConsoleModel.Events = {
381 ConsoleCleared: Symbol('ConsoleCleared'), 389 ConsoleCleared: Symbol('ConsoleCleared'),
382 MessageAdded: Symbol('MessageAdded'), 390 MessageAdded: Symbol('MessageAdded'),
383 MessageUpdated: Symbol('MessageUpdated'), 391 MessageUpdated: Symbol('MessageUpdated'),
384 CommandEvaluated: Symbol('CommandEvaluated') 392 CommandEvaluated: Symbol('CommandEvaluated')
385 }; 393 };
386 394
387 395
388 /** 396 /**
389 * @unrestricted 397 * @unrestricted
390 */ 398 */
391 SDK.ConsoleMessage = class { 399 ConsoleModel.ConsoleMessage = class {
392 /** 400 /**
393 * @param {?SDK.Target} target 401 * @param {?SDK.Target} target
394 * @param {string} source 402 * @param {string} source
395 * @param {?string} level 403 * @param {?string} level
396 * @param {string} messageText 404 * @param {string} messageText
397 * @param {string=} type 405 * @param {string=} type
398 * @param {?string=} url 406 * @param {?string=} url
399 * @param {number=} line 407 * @param {number=} line
400 * @param {number=} column 408 * @param {number=} column
401 * @param {!Protocol.Network.RequestId=} requestId 409 * @param {!Protocol.Network.RequestId=} requestId
402 * @param {!Array.<!Protocol.Runtime.RemoteObject>=} parameters 410 * @param {!Array.<!Protocol.Runtime.RemoteObject>=} parameters
403 * @param {!Protocol.Runtime.StackTrace=} stackTrace 411 * @param {!Protocol.Runtime.StackTrace=} stackTrace
404 * @param {number=} timestamp 412 * @param {number=} timestamp
405 * @param {!Protocol.Runtime.ExecutionContextId=} executionContextId 413 * @param {!Protocol.Runtime.ExecutionContextId=} executionContextId
406 * @param {?string=} scriptId 414 * @param {?string=} scriptId
407 * @param {?string=} workerId 415 * @param {?string=} workerId
408 */ 416 */
409 constructor( 417 constructor(
410 target, 418 target, source, level, messageText, type, url, line, column, requestId, pa rameters, stackTrace, timestamp,
411 source, 419 executionContextId, scriptId, workerId) {
412 level,
413 messageText,
414 type,
415 url,
416 line,
417 column,
418 requestId,
419 parameters,
420 stackTrace,
421 timestamp,
422 executionContextId,
423 scriptId,
424 workerId) {
425 this._target = target; 420 this._target = target;
426 this.source = source; 421 this.source = source;
427 this.level = /** @type {?SDK.ConsoleMessage.MessageLevel} */ (level); 422 this.level = /** @type {?ConsoleModel.ConsoleMessage.MessageLevel} */ (level );
428 this.messageText = messageText; 423 this.messageText = messageText;
429 this.type = type || SDK.ConsoleMessage.MessageType.Log; 424 this.type = type || ConsoleModel.ConsoleMessage.MessageType.Log;
430 /** @type {string|undefined} */ 425 /** @type {string|undefined} */
431 this.url = url || undefined; 426 this.url = url || undefined;
432 /** @type {number} */ 427 /** @type {number} */
433 this.line = line || 0; 428 this.line = line || 0;
434 /** @type {number} */ 429 /** @type {number} */
435 this.column = column || 0; 430 this.column = column || 0;
436 this.parameters = parameters; 431 this.parameters = parameters;
437 /** @type {!Protocol.Runtime.StackTrace|undefined} */ 432 /** @type {!Protocol.Runtime.StackTrace|undefined} */
438 this.stackTrace = stackTrace; 433 this.stackTrace = stackTrace;
439 this.timestamp = timestamp || Date.now(); 434 this.timestamp = timestamp || Date.now();
(...skipping 10 matching lines...) Expand all
450 this.stackTrace = initiator.stack || undefined; 445 this.stackTrace = initiator.stack || undefined;
451 if (initiator.url) { 446 if (initiator.url) {
452 this.url = initiator.url; 447 this.url = initiator.url;
453 this.line = initiator.lineNumber || 0; 448 this.line = initiator.lineNumber || 0;
454 } 449 }
455 } 450 }
456 } 451 }
457 } 452 }
458 453
459 /** 454 /**
460 * @param {!SDK.ConsoleMessage} a 455 * @param {!ConsoleModel.ConsoleMessage} a
461 * @param {!SDK.ConsoleMessage} b 456 * @param {!ConsoleModel.ConsoleMessage} b
462 * @return {number} 457 * @return {number}
463 */ 458 */
464 static timestampComparator(a, b) { 459 static timestampComparator(a, b) {
465 return a.timestamp - b.timestamp; 460 return a.timestamp - b.timestamp;
466 } 461 }
467 462
468 /** 463 /**
469 * @param {!SDK.Target} target 464 * @param {!SDK.Target} target
470 * @param {!Protocol.Runtime.ExceptionDetails} exceptionDetails 465 * @param {!Protocol.Runtime.ExceptionDetails} exceptionDetails
471 * @param {string=} messageType 466 * @param {string=} messageType
472 * @param {number=} timestamp 467 * @param {number=} timestamp
473 * @param {string=} forceUrl 468 * @param {string=} forceUrl
474 * @return {!SDK.ConsoleMessage} 469 * @return {!ConsoleModel.ConsoleMessage}
475 */ 470 */
476 static fromException(target, exceptionDetails, messageType, timestamp, forceUr l) { 471 static fromException(target, exceptionDetails, messageType, timestamp, forceUr l) {
477 return new SDK.ConsoleMessage( 472 return new ConsoleModel.ConsoleMessage(
478 target, SDK.ConsoleMessage.MessageSource.JS, SDK.ConsoleMessage.MessageL evel.Error, 473 target, ConsoleModel.ConsoleMessage.MessageSource.JS, ConsoleModel.Conso leMessage.MessageLevel.Error,
479 SDK.RuntimeModel.simpleTextFromException(exceptionDetails), messageType, forceUrl || exceptionDetails.url, 474 SDK.RuntimeModel.simpleTextFromException(exceptionDetails), messageType, forceUrl || exceptionDetails.url,
480 exceptionDetails.lineNumber, exceptionDetails.columnNumber, undefined, 475 exceptionDetails.lineNumber, exceptionDetails.columnNumber, undefined,
481 exceptionDetails.exception ? 476 exceptionDetails.exception ?
482 [SDK.RemoteObject.fromLocalObject(exceptionDetails.text), exceptionD etails.exception] : 477 [SDK.RemoteObject.fromLocalObject(exceptionDetails.text), exceptionD etails.exception] :
483 undefined, 478 undefined,
484 exceptionDetails.stackTrace, timestamp, exceptionDetails.executionContex tId, exceptionDetails.scriptId); 479 exceptionDetails.stackTrace, timestamp, exceptionDetails.executionContex tId, exceptionDetails.scriptId);
485 } 480 }
486 481
487 /** 482 /**
488 * @return {?SDK.Target} 483 * @return {?SDK.Target}
489 */ 484 */
490 target() { 485 target() {
491 return this._target; 486 return this._target;
492 } 487 }
493 488
494 /** 489 /**
495 * @param {!SDK.ConsoleMessage} originatingMessage 490 * @param {!ConsoleModel.ConsoleMessage} originatingMessage
496 */ 491 */
497 setOriginatingMessage(originatingMessage) { 492 setOriginatingMessage(originatingMessage) {
498 this._originatingConsoleMessage = originatingMessage; 493 this._originatingConsoleMessage = originatingMessage;
499 this.executionContextId = originatingMessage.executionContextId; 494 this.executionContextId = originatingMessage.executionContextId;
500 } 495 }
501 496
502 /** 497 /**
503 * @param {!Protocol.Runtime.ExecutionContextId} executionContextId 498 * @param {!Protocol.Runtime.ExecutionContextId} executionContextId
504 */ 499 */
505 setExecutionContextId(executionContextId) { 500 setExecutionContextId(executionContextId) {
506 this.executionContextId = executionContextId; 501 this.executionContextId = executionContextId;
507 } 502 }
508 503
509 /** 504 /**
510 * @param {number} exceptionId 505 * @param {number} exceptionId
511 */ 506 */
512 setExceptionId(exceptionId) { 507 setExceptionId(exceptionId) {
513 this._exceptionId = exceptionId; 508 this._exceptionId = exceptionId;
514 } 509 }
515 510
516 /** 511 /**
517 * @return {?SDK.ConsoleMessage} 512 * @return {?ConsoleModel.ConsoleMessage}
518 */ 513 */
519 originatingMessage() { 514 originatingMessage() {
520 return this._originatingConsoleMessage; 515 return this._originatingConsoleMessage;
521 } 516 }
522 517
523 /** 518 /**
524 * @return {boolean} 519 * @return {boolean}
525 */ 520 */
526 isGroupMessage() { 521 isGroupMessage() {
527 return this.type === SDK.ConsoleMessage.MessageType.StartGroup || 522 return this.type === ConsoleModel.ConsoleMessage.MessageType.StartGroup ||
528 this.type === SDK.ConsoleMessage.MessageType.StartGroupCollapsed || 523 this.type === ConsoleModel.ConsoleMessage.MessageType.StartGroupCollapse d ||
529 this.type === SDK.ConsoleMessage.MessageType.EndGroup; 524 this.type === ConsoleModel.ConsoleMessage.MessageType.EndGroup;
530 } 525 }
531 526
532 /** 527 /**
533 * @return {boolean} 528 * @return {boolean}
534 */ 529 */
535 isGroupStartMessage() { 530 isGroupStartMessage() {
536 return this.type === SDK.ConsoleMessage.MessageType.StartGroup || 531 return this.type === ConsoleModel.ConsoleMessage.MessageType.StartGroup ||
537 this.type === SDK.ConsoleMessage.MessageType.StartGroupCollapsed; 532 this.type === ConsoleModel.ConsoleMessage.MessageType.StartGroupCollapse d;
538 } 533 }
539 534
540 /** 535 /**
541 * @return {boolean} 536 * @return {boolean}
542 */ 537 */
543 isErrorOrWarning() { 538 isErrorOrWarning() {
544 return ( 539 return (
545 this.level === SDK.ConsoleMessage.MessageLevel.Warning || this.level === SDK.ConsoleMessage.MessageLevel.Error); 540 this.level === ConsoleModel.ConsoleMessage.MessageLevel.Warning ||
541 this.level === ConsoleModel.ConsoleMessage.MessageLevel.Error);
546 } 542 }
547 543
548 /** 544 /**
549 * @param {?SDK.ConsoleMessage} msg 545 * @param {?ConsoleModel.ConsoleMessage} msg
550 * @return {boolean} 546 * @return {boolean}
551 */ 547 */
552 isEqual(msg) { 548 isEqual(msg) {
553 if (!msg) 549 if (!msg)
554 return false; 550 return false;
555 551
556 if (this._exceptionId || msg._exceptionId) 552 if (this._exceptionId || msg._exceptionId)
557 return false; 553 return false;
558 554
559 if (!this._isEqualStackTraces(this.stackTrace, msg.stackTrace)) 555 if (!this._isEqualStackTraces(this.stackTrace, msg.stackTrace))
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 return false; 594 return false;
599 } 595 }
600 return this._isEqualStackTraces(stackTrace1.parent, stackTrace2.parent); 596 return this._isEqualStackTraces(stackTrace1.parent, stackTrace2.parent);
601 } 597 }
602 }; 598 };
603 599
604 // Note: Keep these constants in sync with the ones in Console.h 600 // Note: Keep these constants in sync with the ones in Console.h
605 /** 601 /**
606 * @enum {string} 602 * @enum {string}
607 */ 603 */
608 SDK.ConsoleMessage.MessageSource = { 604 ConsoleModel.ConsoleMessage.MessageSource = {
609 XML: 'xml', 605 XML: 'xml',
610 JS: 'javascript', 606 JS: 'javascript',
611 Network: 'network', 607 Network: 'network',
612 ConsoleAPI: 'console-api', 608 ConsoleAPI: 'console-api',
613 Storage: 'storage', 609 Storage: 'storage',
614 AppCache: 'appcache', 610 AppCache: 'appcache',
615 Rendering: 'rendering', 611 Rendering: 'rendering',
616 CSS: 'css', 612 CSS: 'css',
617 Security: 'security', 613 Security: 'security',
618 Deprecation: 'deprecation', 614 Deprecation: 'deprecation',
619 Worker: 'worker', 615 Worker: 'worker',
620 Violation: 'violation', 616 Violation: 'violation',
621 Intervention: 'intervention', 617 Intervention: 'intervention',
622 Other: 'other' 618 Other: 'other'
623 }; 619 };
624 620
625 /** 621 /**
626 * @enum {string} 622 * @enum {string}
627 */ 623 */
628 SDK.ConsoleMessage.MessageType = { 624 ConsoleModel.ConsoleMessage.MessageType = {
629 Log: 'log', 625 Log: 'log',
630 Debug: 'debug', 626 Debug: 'debug',
631 Info: 'info', 627 Info: 'info',
632 Error: 'error', 628 Error: 'error',
633 Warning: 'warning', 629 Warning: 'warning',
634 Dir: 'dir', 630 Dir: 'dir',
635 DirXML: 'dirxml', 631 DirXML: 'dirxml',
636 Table: 'table', 632 Table: 'table',
637 Trace: 'trace', 633 Trace: 'trace',
638 Clear: 'clear', 634 Clear: 'clear',
639 StartGroup: 'startGroup', 635 StartGroup: 'startGroup',
640 StartGroupCollapsed: 'startGroupCollapsed', 636 StartGroupCollapsed: 'startGroupCollapsed',
641 EndGroup: 'endGroup', 637 EndGroup: 'endGroup',
642 Assert: 'assert', 638 Assert: 'assert',
643 Result: 'result', 639 Result: 'result',
644 Profile: 'profile', 640 Profile: 'profile',
645 ProfileEnd: 'profileEnd', 641 ProfileEnd: 'profileEnd',
646 Command: 'command' 642 Command: 'command'
647 }; 643 };
648 644
649 /** 645 /**
650 * @enum {string} 646 * @enum {string}
651 */ 647 */
652 SDK.ConsoleMessage.MessageLevel = { 648 ConsoleModel.ConsoleMessage.MessageLevel = {
653 Verbose: 'verbose', 649 Verbose: 'verbose',
654 Info: 'info', 650 Info: 'info',
655 Warning: 'warning', 651 Warning: 'warning',
656 Error: 'error' 652 Error: 'error'
657 }; 653 };
658 654
659 /** 655 /**
660 * @param {!SDK.ConsoleMessage.MessageLevel} level 656 * @param {!ConsoleModel.ConsoleMessage.MessageLevel} level
661 * @return {number} 657 * @return {number}
662 */ 658 */
663 SDK.ConsoleMessage.MessageLevel.ordinal = function(level) { 659 ConsoleModel.ConsoleMessage.MessageLevel.ordinal = function(level) {
664 if (level === SDK.ConsoleMessage.MessageLevel.Verbose) 660 if (level === ConsoleModel.ConsoleMessage.MessageLevel.Verbose)
665 return 0; 661 return 0;
666 if (level === SDK.ConsoleMessage.MessageLevel.Info) 662 if (level === ConsoleModel.ConsoleMessage.MessageLevel.Info)
667 return 1; 663 return 1;
668 if (level === SDK.ConsoleMessage.MessageLevel.Warning) 664 if (level === ConsoleModel.ConsoleMessage.MessageLevel.Warning)
669 return 2; 665 return 2;
670 return 3; 666 return 3;
671 }; 667 };
672 668
673 SDK.ConsoleModel._events = Symbol('SDK.ConsoleModel.events'); 669 ConsoleModel.ConsoleModel._events = Symbol('ConsoleModel.ConsoleModel.events');
674 670
675 /** 671 /**
676 * @type {!SDK.ConsoleModel} 672 * @type {!ConsoleModel.ConsoleModel}
677 */ 673 */
678 SDK.consoleModel; 674 ConsoleModel.consoleModel;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698