blob: cb50bc00a888334cb61c6b80be75584dd4a6f238 [file] [log] [blame]
{
"domain": "Console",
"description": "Console domain defines methods and events for interaction with the JavaScript console. Console collects messages created by means of the <a href='http://getfirebug.com/wiki/index.php/Console_API'>JavaScript Console API</a>. One needs to enable this domain using <code>enable</code> command in order to start receiving the console messages. Browser collects messages issued while console domain is not enabled as well and reports them using <code>messageAdded</code> notification upon enabling.",
"targetTypes": ["javascript", "page", "service-worker", "worker"],
"types": [
{
"id": "ChannelSource",
"type": "string",
"enum": ["xml", "javascript", "network", "console-api", "storage", "appcache", "rendering", "css", "security", "content-blocker", "media", "mediasource", "webrtc", "other"],
"description": "Channels for different types of log messages."
},
{
"id": "ChannelLevel",
"type": "string",
"enum": ["off", "basic", "verbose"],
"description": "Level of logging."
},
{
"id": "Channel",
"description": "Logging channel.",
"type": "object",
"properties": [
{ "name": "source", "$ref": "ChannelSource" },
{ "name": "level", "$ref": "ChannelLevel" }
]
},
{
"id": "ConsoleMessage",
"type": "object",
"description": "Console message.",
"properties": [
{ "name": "source", "$ref": "ChannelSource"},
{ "name": "level", "type": "string", "enum": ["log", "info", "warning", "error", "debug"], "description": "Message severity." },
{ "name": "text", "type": "string", "description": "Message text." },
{ "name": "type", "type": "string", "optional": true, "enum": ["log", "dir", "dirxml", "table", "trace", "clear", "startGroup", "startGroupCollapsed", "endGroup", "assert", "timing", "profile", "profileEnd", "image"], "description": "Console message type." },
{ "name": "url", "type": "string", "optional": true, "description": "URL of the message origin." },
{ "name": "line", "type": "integer", "optional": true, "description": "Line number in the resource that generated this message." },
{ "name": "column", "type": "integer", "optional": true, "description": "Column number on the line in the resource that generated this message." },
{ "name": "repeatCount", "type": "integer", "optional": true, "description": "Repeat count for repeated messages." },
{ "name": "parameters", "type": "array", "items": { "$ref": "Runtime.RemoteObject" }, "optional": true, "description": "Message parameters in case of the formatted message." },
{ "name": "stackTrace", "type": "array", "items": { "$ref": "CallFrame" }, "optional": true, "description": "JavaScript stack trace for assertions and error messages." },
{ "name": "networkRequestId", "$ref": "Network.RequestId", "optional": true, "description": "Identifier of the network request associated with this message." }
]
},
{
"id": "CallFrame",
"type": "object",
"description": "Stack entry for console errors and assertions.",
"properties": [
{ "name": "functionName", "type": "string", "description": "JavaScript function name." },
{ "name": "url", "type": "string", "description": "JavaScript script name or url." },
{ "name": "scriptId", "$ref": "Debugger.ScriptId", "description": "Script identifier." },
{ "name": "lineNumber", "type": "integer", "description": "JavaScript script line number." },
{ "name": "columnNumber", "type": "integer", "description": "JavaScript script column number." }
]
},
{
"id": "StackTrace",
"description": "Call frames for async function calls, console assertions, and error messages.",
"type": "object",
"properties": [
{ "name": "callFrames", "type": "array", "items": { "$ref": "CallFrame" } },
{ "name": "topCallFrameIsBoundary", "type": "boolean", "optional": true, "description": "Whether the first item in <code>callFrames</code> is the native function that scheduled the asynchronous operation (e.g. setTimeout)." },
{ "name": "truncated", "type": "boolean", "optional": true, "description": "Whether one or more frames have been truncated from the bottom of the stack." },
{ "name": "parentStackTrace", "$ref": "StackTrace", "optional": true, "description": "Parent StackTrace." }
]
}
],
"commands": [
{
"name": "enable",
"description": "Enables console domain, sends the messages collected so far to the client by means of the <code>messageAdded</code> notification."
},
{
"name": "disable",
"description": "Disables console domain, prevents further console messages from being reported to the client."
},
{
"name": "clearMessages",
"description": "Clears console messages collected in the browser."
},
{
"name": "getLoggingChannels",
"description": "List of the different message sources that are non-default logging channels.",
"returns": [
{ "name": "channels", "type": "array", "items": { "$ref": "Channel"}, "description": "Logging channels." }
]
},
{
"name": "setLoggingChannelLevel",
"description": "Modify the level of a channel.",
"parameters": [
{ "name": "source", "$ref": "ChannelSource", "description": "Logging channel to modify." },
{ "name": "level", "$ref": "ChannelLevel", "description": "New level." }
]
}
],
"events": [
{
"name": "messageAdded",
"description": "Issued when new console message is added.",
"parameters": [
{ "name": "message", "$ref": "ConsoleMessage", "description": "Console message that has been added." }
]
},
{
"name": "messageRepeatCountUpdated",
"description": "Issued when subsequent message(s) are equal to the previous one(s).",
"parameters": [
{ "name": "count", "type": "integer", "description": "New repeat count value." }
]
},
{
"name": "messagesCleared",
"description": "Issued when console is cleared. This happens either upon <code>clearMessages</code> command or after page navigation."
},
{
"name": "heapSnapshot",
"description": "Issued from console.takeHeapSnapshot.",
"parameters": [
{ "name": "timestamp", "type": "number" },
{ "name": "snapshotData", "$ref": "Heap.HeapSnapshotData", "description": "Snapshot at the end of tracking." },
{ "name": "title", "type": "string", "optional": true, "description": "Optional title provided to console.takeHeapSnapshot." }
]
}
]
}