OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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; |
OLD | NEW |