| 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 |