Closed Bug 1498027 Opened 6 years ago Closed 6 years ago

Stop creating windowless browsers during startup

Categories

(WebExtensions :: General, enhancement, P1)

enhancement

Tracking

(firefox66 fixed)

RESOLVED FIXED
mozilla66
Tracking Status
firefox66 --- fixed

People

(Reporter: aswan, Assigned: aswan)

References

Details

Attachments

(1 file, 1 obsolete file)

Even though background page startup is delayed, we still instantiate a BackgroundPage object during startup which instantiates a hidden window. We don't need to be doing that during startup. Kris suggested we could also share a single window for all hidden extension pages.
Attached file Bug 1498027 first draft (obsolete) —
See Also: → 1451485
Assignee: nobody → aswan
Priority: -- → P1
Also, use a single hidden window to hold <browser> elements for multiple extensions.
Attachment #9016073 - Attachment is obsolete: true
Pushed by aswan@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4db0d3e10cb1 Defer window/browser creation for extension pages r=kmag
Backed out changeset 4db0d3e10cb1 (bug 1498027) for a11y failures Backout: https://hg.mozilla.org/integration/autoland/rev/aee6c9dbb430598724cab97d8e8c601cfe54e4b9 Failure push: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=4db0d3e10cb162b850e90948015a7ed99e18b0e5 Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=216408054&repo=autoland&lineNumber=11213 [task 2018-12-11T18:27:00.528Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 1 nsXPCComponents_Exception [task 2018-12-11T18:27:00.529Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 1 nsXPCComponents_ID [task 2018-12-11T18:27:00.529Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 6 nsXPCComponents_Interfaces [task 2018-12-11T18:27:00.530Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 6 nsXPCComponents_Results [task 2018-12-11T18:27:00.530Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 6 nsXPCComponents_Utils [task 2018-12-11T18:27:00.531Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 1 nsXPCComponents_utils_Sandbox [task 2018-12-11T18:27:00.531Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 38 nsXPCWrappedJS [task 2018-12-11T18:27:00.532Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 11 nsXPCWrappedJSClass [task 2018-12-11T18:27:00.532Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 1 nsXPConnect [task 2018-12-11T18:27:00.533Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 1 nsXULCommandDispatcher [task 2018-12-11T18:27:00.534Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 2 nsXULControllers [task 2018-12-11T18:27:00.534Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 1941 nsXULElement [task 2018-12-11T18:27:00.535Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 26 nsXULPopupListener [task 2018-12-11T18:27:00.535Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 1 nsXULPopupManager [task 2018-12-11T18:27:00.536Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 4145 nsXULPrototypeAttribute [task 2018-12-11T18:27:00.536Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 1 nsXULPrototypeCache [task 2018-12-11T18:27:00.537Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 12 nsXULPrototypeDocument [task 2018-12-11T18:27:00.538Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 1503 nsXULPrototypeNode [task 2018-12-11T18:27:00.538Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 1 nsXULTooltipListener [task 2018-12-11T18:27:00.539Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 2 nsZipArchive [task 2018-12-11T18:27:00.539Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 1 nsZipReaderCache [task 2018-12-11T18:27:00.540Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 8 xpc::CompartmentPrivate [task 2018-12-11T18:27:00.540Z] 18:27:00 INFO - TEST-INFO | leakcheck | default leaked 2 xpcJSWeakReference [task 2018-12-11T18:27:00.541Z] 18:27:00 INFO - TEST-UNEXPECTED-FAIL | leakcheck | default 1819396 bytes leaked (AbstractThread, AbstractWatcher, AnimationTimeline, AsyncFreeSnowWhite, AtomSet, ...) [task 2018-12-11T18:27:00.542Z] 18:27:00 INFO - [task 2018-12-11T18:27:00.542Z] 18:27:00 INFO - runtests.py | Running tests: end. [task 2018-12-11T18:27:00.543Z] 18:27:00 INFO - Buffered messages finished [task 2018-12-11T18:27:00.543Z] 18:27:00 INFO - SUITE-END | took 363s [task 2018-12-11T18:27:00.592Z] 18:27:00 INFO - Return code: 0
Flags: needinfo?(aswan)
Pushed by aswan@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/66a1ed62e2d8 Defer window/browser creation for extension pages r=kmag
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
This generated a performance improvement == Change summary for alert #18256 (as of Mon, 17 Dec 2018 09:59:05 GMT) == Improvements: 6% sessionrestore opt e10s stylo 326.92 -> 307.92 6% sessionrestore_no_auto_restore opt e10s stylo 344.92 -> 325.92 5% sessionrestore pgo e10s stylo 317.83 -> 300.50 5% sessionrestore opt e10s stylo 334.42 -> 317.33 5% sessionrestore_no_auto_restore opt e10s stylo 354.71 -> 336.75 5% sessionrestore_no_auto_restore pgo e10s stylo 338.50 -> 321.50 5% sessionrestore opt e10s stylo 385.79 -> 366.50 5% sessionrestore_no_auto_restore pgo e10s stylo 332.67 -> 317.00 4% sessionrestore pgo e10s stylo 318.04 -> 304.08 4% sessionrestore opt e10s stylo 351.75 -> 338.58 For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=18256
Flags: needinfo?(aswan)
Hey Gijs, this seemed relevant to the about:blank stuff you were doing, so putting it on your radar.

Is manual validation required on this bug? if so please provide some info on how to correctly validate the fix, thanks!

Flags: needinfo?(aswan)
Flags: needinfo?(aswan) → qe-verify-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: