Closed Bug 1500717 Opened 10 months ago Closed 10 months ago

Parallelize the toolbox loading the inspector's iframe and initializing the inspector

Categories

(DevTools :: Framework, enhancement, P3)

enhancement

Tracking

(firefox65 fixed)

RESOLVED FIXED
Firefox 65
Tracking Status
firefox65 --- fixed

People

(Reporter: gl, Assigned: gl)

Details

Attachments

(1 file)

In https://searchfox.org/mozilla-central/source/devtools/client/framework/toolbox.js#1691, we block on waiting for initInspector to fetch its walker and highlighter over the server before starting to load the inspector iframe. Ideally, we should be able to allow both of these to run in parallel and block the iframe onLoad on whether or not this._initInspector promise is fulfilled.
Attachment #9018851 - Flags: review?(pbrosset)
Comment on attachment 9018851 [details] [diff] [review]
1500717.patch [1.0]

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

Looks good, as long as try is happy!
Attachment #9018851 - Flags: review?(pbrosset) → review+
Pushed by gabriel.luong@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6cd064e0fbd9
Parallelize the toolbox loading the inspector's iframe and initializing the inspector. r=pbro
Backed out 2 changesets for browser-chrome failures at browser/test-oop-extensions/browser_ext_devtools_inspectedWindow.js

Backout: https://hg.mozilla.org/integration/mozilla-inbound/rev/97b682ea485d8f5d2f483051dcc53c59883344d1

Failure push: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=6cd064e0fbd922ac0e590bbf3dcaad902469303a

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=207022890&repo=mozilla-inbound&lineNumber=3398

[task 2018-10-22T16:52:02.632Z] 16:52:02     INFO - TEST-PASS | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_devtools_inspectedWindow.js | Got the expected eval result in the panel - "http://mochi.test:8888/" deepEqual "http://mochi.test:8888/" - 
[task 2018-10-22T16:52:02.634Z] 16:52:02     INFO - Console message: [JavaScript Error: "chrome://browser/content/webext-panels.xul : Unable to run script because scripts are blocked internally."]
[task 2018-10-22T16:52:02.635Z] 16:52:02     INFO - Console message: [JavaScript Error: "about:devtools-toolbox : Unable to run script because scripts are blocked internally."]
[task 2018-10-22T16:52:02.637Z] 16:52:02     INFO - Console message: [JavaScript Error: "about:devtools-toolbox : Unable to run script because scripts are blocked internally."]
[task 2018-10-22T16:52:02.638Z] 16:52:02     INFO - Console message: [JavaScript Error: "TypeError: this.target is null; can't access its "url" property" {file: "resource://devtools/client/inspector/inspector.js" line: 131}]
[task 2018-10-22T16:52:02.640Z] 16:52:02     INFO - Buffered messages finished
[task 2018-10-22T16:52:02.640Z] 16:52:02     INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_devtools_inspectedWindow.js | A promise chain failed to handle a rejection: this.target is null; can't access its "url" property - stack: Inspector@resource://devtools/client/inspector/inspector.js:131:3
[task 2018-10-22T16:52:02.641Z] 16:52:02     INFO - InspectorPanel@resource://devtools/shared/base-loader.js -> resource://devtools/client/inspector/panel.js:8:21
[task 2018-10-22T16:52:02.641Z] 16:52:02     INFO - build@resource://devtools/shared/base-loader.js -> resource://devtools/client/definitions.js:97:12
[task 2018-10-22T16:52:02.642Z] 16:52:02     INFO - onLoad@resource://devtools/shared/base-loader.js -> resource://devtools/client/framework/toolbox.js:1751:21
[task 2018-10-22T16:52:02.643Z] 16:52:02     INFO - Rejection date: Mon Oct 22 2018 16:52:01 GMT+0000 (Coordinated Universal Time) - false == true - JS frame :: resource://testing-common/PromiseTestUtils.jsm :: assertNoUncaughtRejections :: line 257
[task 2018-10-22T16:52:02.645Z] 16:52:02     INFO - Stack trace:
[task 2018-10-22T16:52:02.646Z] 16:52:02     INFO - resource://testing-common/PromiseTestUtils.jsm:assertNoUncaughtRejections:257
[task 2018-10-22T16:52:02.647Z] 16:52:02     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1118
[task 2018-10-22T16:52:02.650Z] 16:52:02     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1084
[task 2018-10-22T16:52:02.651Z] 16:52:02     INFO - chrome://mochikit/content/browser-test.js:nextTest/<:986
[task 2018-10-22T16:52:02.652Z] 16:52:02     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795
[task 2018-10-22T16:52:02.653Z] 16:52:02     INFO - Leaving test bound test_devtools_inspectedWindow_eval_in_page_and_panel
Flags: needinfo?(gl)
Flags: needinfo?(gl)
Pushed by gabriel.luong@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d2f1265ca977
Parallelize the toolbox loading the inspector's iframe and initializing the inspector. r=pbro
https://hg.mozilla.org/mozilla-central/rev/d2f1265ca977
Status: ASSIGNED → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 65
You need to log in before you can comment on or make changes to this bug.