Limit the number of chrome Custom Elements that get loaded for GeckoView
Categories
(GeckoView :: General, enhancement, P3)
Tracking
(Performance Impact:high, firefox65 wontfix, firefox66 wontfix, firefox67 wontfix, firefox75 fixed)
People
(Reporter: bgrins, Assigned: bdahl)
References
(Blocks 2 open bugs)
Details
(Keywords: perf:pageload, Whiteboard: [geckoview][geckoview:m75])
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
As I understand it:
- GeckoView creates a xul browser at https://searchfox.org/mozilla-central/rev/00f3836a87b844b5e4bc82f698c559b9966e4be2/mobile/android/chrome/geckoview/geckoview.js#376 via the script loaded in https://searchfox.org/mozilla-central/source/mobile/android/chrome/geckoview/geckoview.xul.
- Because of (1), we must running the same MainProcessSingleton which loads Custom Elements via https://searchfox.org/mozilla-central/rev/00f3836a87b844b5e4bc82f698c559b9966e4be2/toolkit/components/processsingleton/MainProcessSingleton.jsm#58, since that's how the <xul:browser> Custom Element gets loaded.
- There's no other chrome UI that requires Custom Elements in GeckoView.
I think we could expand the condition with which we skip loading non-browser Custom Elements to include geckoview.xul at https://searchfox.org/mozilla-central/rev/00f3836a87b844b5e4bc82f698c559b9966e4be2/toolkit/content/customElements.js#499. This would avoid loading and executing a bunch of JS for Custom Elements that are never used.
Comment 1•6 years ago
|
||
sounds like this change could improve GeckoView startup time.
Updated•6 years ago
|
Comment 2•6 years ago
|
||
:sefeng, did you file this under qf:p1 during your triage? Would you agree this is a qf:responsiveness bug, which would mean this probably would be a p3?
Comment 3•6 years ago
|
||
brennie: Yeah, I think I marked this qf:p1 during triage and I can't recall exactly how we made the decision. However, based on cpeterson's comment, it seems like the GeckoView startup time could be improved by limiting the number of Custom Elements, so I am not sure if responsiveness is the correct category for it.
Updated•6 years ago
|
Comment 4•5 years ago
|
||
I'm editing a bunch of GeckoView bugs. If you'd like to filter all this bugmail, search and destroy emails containing this UUID:
e88a5094-0fc0-4b7c-b7c5-aef00a11dbc9
Comment 5•5 years ago
|
||
This is marked as qf:p1. Chris, could you needinfo someone from GeckoView team to take a look at this?
Comment 6•5 years ago
|
||
(In reply to Olli Pettay [:smaug] from comment #5)
This is marked as qf:p1. Chris, could you needinfo someone from GeckoView team to take a look at this?
I'm no longer the EPM for GeckoView. Forwarding needinfo request to Emily Toop, GeckoView engineering manager. Also, flagging this bug (with whiteboard tag [geckoview]
) so it shows up in the GeckoView triage meeting.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 7•5 years ago
|
||
GeckoView only needs the browser element, skip loading the rest.
Assignee | ||
Comment 8•5 years ago
|
||
Did a quick test of creating 5 new tabs, timing from action_new_tab to DOMContentLoaded on a Moto G. Looks like it shaves off ~100ms.
Comment 10•5 years ago
|
||
(In reply to Brendan Dahl [:bdahl] from comment #8)
Did a quick test of creating 5 new tabs, timing from action_new_tab to DOMContentLoaded on a Moto G. Looks like it shaves off ~100ms.
My guess is that this is pure hotness for Bug 1608826. Thanks, bdahl!
Comment 11•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Updated•5 years ago
|
Updated•3 years ago
|
Description
•