Closed Bug 1239287 Opened 4 years ago Closed 4 years ago

browser_toolbox_options_disable_buttons.js throws this.disableJSNode is null

Categories

(DevTools :: Framework, defect)

defect
Not set

Tracking

(firefox47 fixed)

RESOLVED FIXED
Firefox 47
Tracking Status
firefox47 --- fixed

People

(Reporter: ochameau, Assigned: ochameau)

References

Details

Attachments

(2 files)

08:31:00     INFO -  303 INFO TEST-START | devtools/client/framework/test/browser_toolbox_options_disable_buttons.js
08:31:00     INFO -  ++DOCSHELL 0A09A800 == 3 [pid = 2732] [id = 34]
08:31:00     INFO -  ++DOMWINDOW == 9 (0D849400) [pid = 2732] [serial = 74] [outer = 00000000]
08:31:00     INFO -  ++DOMWINDOW == 10 (0DC6E800) [pid = 2732] [serial = 75] [outer = 0D849400]
08:31:00     INFO -  ++DOCSHELL 0E076800 == 4 [pid = 2732] [id = 35]
08:31:00     INFO -  ++DOMWINDOW == 11 (0E076C00) [pid = 2732] [serial = 76] [outer = 00000000]
08:31:00     INFO -  ++DOMWINDOW == 12 (0E07D400) [pid = 2732] [serial = 77] [outer = 0E076C00]
08:31:00     INFO -  --DOMWINDOW == 11 (0E742000) [pid = 2732] [serial = 68] [outer = 00000000] [url = data:text/html;charset=utf8,test%20for%20host%20sizes]
08:31:00     INFO -  --DOMWINDOW == 10 (0E072400) [pid = 2732] [serial = 64] [outer = 00000000] [url = about:blank]
08:31:00     INFO -  ++DOCSHELL 12120800 == 10 [pid = 3312] [id = 159]
08:31:00     INFO -  ++DOMWINDOW == 60 (12120C00) [pid = 3312] [serial = 342] [outer = 00000000]
08:31:00     INFO -  ++DOMWINDOW == 61 (1216CC00) [pid = 3312] [serial = 343] [outer = 12120C00]
08:31:00     INFO -  ++DOMWINDOW == 62 (11E89800) [pid = 3312] [serial = 344] [outer = 12120C00]
08:31:00     INFO -  ++DOCSHELL 11E7DC00 == 11 [pid = 3312] [id = 160]
08:31:00     INFO -  ++DOMWINDOW == 63 (12AB0C00) [pid = 3312] [serial = 345] [outer = 00000000]
08:31:00     INFO -  ++DOMWINDOW == 64 (12AB4C00) [pid = 3312] [serial = 346] [outer = 12AB0C00]
08:31:01     INFO -  ++DOCSHELL 18833000 == 12 [pid = 3312] [id = 161]
08:31:01     INFO -  ++DOMWINDOW == 65 (1887B400) [pid = 3312] [serial = 347] [outer = 00000000]
08:31:01     INFO -  ++DOMWINDOW == 66 (18881800) [pid = 3312] [serial = 348] [outer = 1887B400]
08:31:02     INFO -  Handler function threw an exception: TypeError: this.disableJSNode is null
08:31:02     INFO -  Stack: OptionsPanel.prototype.populatePreferences/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/framework/toolbox-options.js:320:9
08:31:02     INFO -  DebuggerClient.prototype.attachTab/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:442:39
08:31:02     INFO -  DevToolsUtils.executeSoon*executeSoon@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/DevToolsUtils.js:196:11
08:31:02     INFO -  DebuggerClient.prototype.attachTab@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:442:7
08:31:02     INFO -  OptionsPanel.prototype.populatePreferences@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/framework/toolbox-options.js:318:7
08:31:02     INFO -  OptionsPanel.prototype.open/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/framework/toolbox-options.js:111:7
08:31:02     INFO -  Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:933:23
08:31:02     INFO -  this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:812:7
08:31:02     INFO -  Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:743:11
08:31:02     INFO -  this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:775:7
08:31:02     INFO -  Promise.prototype.then@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:450:5
08:31:02     INFO -  OptionsPanel.prototype.open@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/framework/toolbox-options.js:107:12
08:31:02     INFO -  Toolbox.prototype.loadTool/onLoad@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/framework/toolbox.js:1247:19
08:31:02     INFO -  Line: 320, column: 9
Blocks: 1227474
Looks like I missed some other methods Debugger clients...
Attachment #8709045 - Flags: review?(jryans)
...in order to do that!

Without these patches, the test currently throws without failing.
attachTab ends up resolving after the panel is cleaned up!
Attachment #8709046 - Flags: review?(jryans)
Comment on attachment 8709046 [details] [diff] [review]
Wait for attachTab request during Options panel initialization

Review of attachment 8709046 [details] [diff] [review]:
-----------------------------------------------------------------

:bgrins would know better than me about this area.
Attachment #8709046 - Flags: review?(jryans) → review?(bgrinstead)
Comment on attachment 8709046 [details] [diff] [review]
Wait for attachTab request during Options panel initialization

Review of attachment 8709046 [details] [diff] [review]:
-----------------------------------------------------------------

Nice fix.  The open function would be much easier to follow with Task.async..
Attachment #8709046 - Flags: review?(bgrinstead) → review+
https://hg.mozilla.org/integration/fx-team/rev/8a668a03a69f07becfd3cca8f2d34a6e8abbc528
Bug 1239287 - Promisify DebugerClient.attach* requests. r=jryans

https://hg.mozilla.org/integration/fx-team/rev/1747520ecc13b212b4c2573fc8d9c652be9704b1
Bug 1239287 - Wait for attachTab request during Options panel initialization. r=jryans
Blocks: 1242567
https://hg.mozilla.org/mozilla-central/rev/8a668a03a69f
https://hg.mozilla.org/mozilla-central/rev/1747520ecc13
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 47
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.