Open
Bug 1440464
Opened 7 years ago
Updated 2 years ago
console.time / console.timeEnd throws an error when used from a jsm without using a console created via createInstance
Categories
(DevTools :: Console, defect, P3)
DevTools
Console
Tracking
(firefox60 affected)
NEW
Tracking | Status | |
---|---|---|
firefox60 | --- | affected |
People
(Reporter: bgrins, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
Originally posted in https://bugzilla.mozilla.org/show_bug.cgi?id=1430810#c12:
After re-testing with Bug 1433625 resolved I'm now seeing a different error on both devtools/client/webconsole/test/browser_console_consolejsm_output.js and with the LightweightThemeManager example script in Comment 10. If I include these lines in LightweightThemeManager.jsm:
console.log("LightweightThemeManager.jsm");
console.time("LightweightThemeManager.jsm timer");
console.timeEnd("LightweightThemeManager.jsm timer");
Then when I `./mach run --jsconsole` I see an error in the Browser Console:
Error: Timer “LightweightThemeManager.jsm timer” doesn’t exist.
Stack trace:
logConsoleAPIMessage@resource://devtools/shared/base-loader.js -> resource://devtools/client/webconsole/webconsole.js:1278:25
_outputMessageFromQueue@resource://devtools/shared/base-loader.js -> resource://devtools/client/webconsole/webconsole.js:2103:16
_flushMessageQueue@resource://devtools/shared/base-loader.js -> resource://devtools/client/webconsole/webconsole.js:1992:20
We are receiving this packet from the actor which means we are somehow hitting the eTimerDoesntExist case in Console.cpp:
{
"addonId": "",
"arguments": [
"LightweightThemeManager.jsm timer"
],
"columnNumber": 3,
"counter": null,
"filename": "resource://gre/modules/LightweightThemeManager.jsm",
"functionName": "",
"groupName": "",
"level": "timeEnd",
"lineNumber": 20,
"prefix": "",
"private": false,
"timeStamp": 1517266277688,
"timer": {
"error": "timerDoesntExist",
"name": "LightweightThemeManager.jsm timer"
},
"workerType": "none",
"styles": [],
"category": "webdev",
"_type": "ConsoleAPI"
}
Here's the interesting thing - If I do this script instead it works just as expected:
var c = console.createInstance();
c.log("LightweightThemeManager.jsm");
c.time("LightweightThemeManager.jsm timer");
c.timeEnd("LightweightThemeManager.jsm timer");
So I guess this only is an issue when using the webidl console global directly from a JSM, and it's not a problem when first calling createInstance.
Comment 2•7 years ago
|
||
We need to have BackstagePass CCed in order to implement this feature.
Depends on: 1137770
Flags: needinfo?(amarchesini)
Updated•6 years ago
|
Product: Firefox → DevTools
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•