Don't load FormAutofillContent and FormValidationChild until they're needed
Categories
(Toolkit :: Form Autofill, enhancement, P3)
Tracking
()
People
(Reporter: kmag, Assigned: MattN)
References
(Blocks 2 open bugs)
Details
(Whiteboard: [overhead:89k] )
Attachments
(10 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
FormAutofillContent shouldn't be needed in a content process until we get an "earlyformsubmit" or its frame script gets a "focusin" event. In many content processes, such as ad iframes, this will never happen, and it need never be loaded it all. The JSM already delegates a lot of its event handling to its frame script. It should delegate the rest as well. If ProfileAutocomplete needs to be registered before this point (which seems unlikely), it should be registered in a chrome.manifest so it can be loaded lazily when necessary.
Assignee | ||
Updated•6 years ago
|
Comment 1•6 years ago
|
||
This is a pretty big Fission MemShrink [1] win for a low level of effort. Matt do you know who could look into this? Kris should be able to provide guidance on where to start for whoever ends up working on it. [1] https://groups.google.com/d/msg/mozilla.dev.platform/QbDgI4oM3oY/rTqap48BCgAJ
Assignee | ||
Comment 2•6 years ago
|
||
Realistically it's unlikely to happen in the 63 cycle since we're trying to get PaymentRequest enabled by default for Nightly and I have a security bug to fix.
Comment 3•6 years ago
|
||
(In reply to Matthew N. [:MattN] (away until Sept. 9) from comment #2) > Realistically it's unlikely to happen in the 63 cycle since we're trying to > get PaymentRequest enabled by default for Nightly and I have a security bug > to fix. Marking as wontfix for 63
Assignee | ||
Comment 4•5 years ago
|
||
I started looking at this tonight… I have some test failures to work through
Assignee | ||
Comment 5•5 years ago
|
||
I have a large patch series that mostly works other than bug 1520075 and maybe one other issue.
Assignee | ||
Comment 6•5 years ago
|
||
Assignee | ||
Comment 7•5 years ago
|
||
Depends on D16646
Assignee | ||
Comment 8•5 years ago
|
||
Depends on D16647
Assignee | ||
Comment 9•5 years ago
|
||
Depends on D16649
Assignee | ||
Comment 10•5 years ago
|
||
Depends on D16650
Assignee | ||
Comment 11•5 years ago
|
||
Depends on D16651
Assignee | ||
Comment 12•5 years ago
|
||
Depends on D16652
Assignee | ||
Comment 13•5 years ago
|
||
Extend ActorChild for satchel's formSubmitListener in order to listen to the event. Depends on D16653
Assignee | ||
Comment 14•5 years ago
|
||
Switch to using DOMFormBeforeSubmit event instead of earlyformsubmit observer notifications. Depends on D16655
Assignee | ||
Comment 15•5 years ago
|
||
Depends on D16656
Assignee | ||
Comment 16•5 years ago
|
||
I confirmed that after my changes I was able to see
satchelFormListener: Form submit observer notified.
in the ADB logs and got the password manager save doorhanger as I would expect. m-c Form Autofill isn't on Android so there's nothing to test there.
This is still blocked on bug 1520075 and bug 1520383 (and the soft code freeze) for landing.
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 17•5 years ago
|
||
Try push with patches from bug 1042082 and bug 1520075: https://treeherder.mozilla.org/#/jobs?repo=try&revision=f9682d47842996cec18e522d756efb8271863bd1
Assignee | ||
Comment 18•5 years ago
|
||
Try looks good and the two dependencies have landed so I will land this once bug 1304001 is on autoland longer.
Comment 19•5 years ago
|
||
Pushed by mozilla@noorenberghe.ca: https://hg.mozilla.org/integration/autoland/rev/9fe55dd58cd8 Use sharedData instead of initialProcessData for autofillSavedFieldNames. r=Felipe https://hg.mozilla.org/integration/autoland/rev/3983d7b6d9ad Use sharedData instead of initialProcessData for autofillEnabled. r=Felipe https://hg.mozilla.org/integration/autoland/rev/2fc9b13171d0 Remove unused 'passwordmanager' category and gPasswordManagerInitialized. r=Ehsan https://hg.mozilla.org/integration/autoland/rev/1a83be7a75ca Remove unused 'firstformsubmit' category and gFirstFormSubmitted. r=Ehsan https://hg.mozilla.org/integration/autoland/rev/9fd0d7a7946f Replace form submission observer notifications with events. r=Ehsan https://hg.mozilla.org/integration/autoland/rev/5d35599598bb Switch earlyformsubmit pwmgr observers to DOMFormBeforeSubmit listeners. r=Felipe https://hg.mozilla.org/integration/autoland/rev/5c112b77e489 Rename FormSubmitChild.jsm to FormValidationChild.jsm. r=Felipe https://hg.mozilla.org/integration/autoland/rev/85ec4f1f5f60 Switch earlyformsubmit satchel observer to DOMFormBeforeSubmit listener. r=Felipe https://hg.mozilla.org/integration/autoland/rev/78bfb4dd1f6a Don't load FormAutofillContent.jsm until it's needed. r=Felipe https://hg.mozilla.org/integration/autoland/rev/1b5d04866585 Switch earlyformsubmit webNavigation observers to DOMFormBeforeSubmit listeners. r=Felipe
Comment 20•5 years ago
|
||
Backed out 10 changesets (bug 1474143) for perma failing browser_markup_events_01.js
push that caused the failure: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&classifiedState=unclassified&selectedJob=229944309&revision=1b5d0486658571aed2d5ea68281f13cc627cb5d5
backout: https://hg.mozilla.org/integration/autoland/rev/9634959f052667455f4fb4521b2def4403d2af97
Assignee | ||
Comment 21•5 years ago
|
||
The patch in bug 1520383 should fix the test failure in unofficial builds (asan or local).
Comment 22•5 years ago
|
||
Pushed by mozilla@noorenberghe.ca: https://hg.mozilla.org/integration/autoland/rev/913a5a45b3c5 Use sharedData instead of initialProcessData for autofillSavedFieldNames. r=Felipe https://hg.mozilla.org/integration/autoland/rev/93aed64c54ca Use sharedData instead of initialProcessData for autofillEnabled. r=Felipe https://hg.mozilla.org/integration/autoland/rev/ffc0f96ff0b1 Remove unused 'passwordmanager' category and gPasswordManagerInitialized. r=Ehsan https://hg.mozilla.org/integration/autoland/rev/edb3dd416083 Remove unused 'firstformsubmit' category and gFirstFormSubmitted. r=Ehsan https://hg.mozilla.org/integration/autoland/rev/93b2262689a0 Replace form submission observer notifications with events. r=Ehsan https://hg.mozilla.org/integration/autoland/rev/d13f92b248a2 Switch earlyformsubmit pwmgr observers to DOMFormBeforeSubmit listeners. r=Felipe https://hg.mozilla.org/integration/autoland/rev/bb1ecf178495 Rename FormSubmitChild.jsm to FormValidationChild.jsm. r=Felipe https://hg.mozilla.org/integration/autoland/rev/25f5c0d8531d Switch earlyformsubmit satchel observer to DOMFormBeforeSubmit listener. r=Felipe https://hg.mozilla.org/integration/autoland/rev/1eea6e958cca Don't load FormAutofillContent.jsm until it's needed. r=Felipe https://hg.mozilla.org/integration/autoland/rev/5a471d8ee829 Switch earlyformsubmit webNavigation observers to DOMFormBeforeSubmit listeners. r=Felipe
Comment 23•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/913a5a45b3c5
https://hg.mozilla.org/mozilla-central/rev/93aed64c54ca
https://hg.mozilla.org/mozilla-central/rev/ffc0f96ff0b1
https://hg.mozilla.org/mozilla-central/rev/edb3dd416083
https://hg.mozilla.org/mozilla-central/rev/93b2262689a0
https://hg.mozilla.org/mozilla-central/rev/d13f92b248a2
https://hg.mozilla.org/mozilla-central/rev/bb1ecf178495
https://hg.mozilla.org/mozilla-central/rev/25f5c0d8531d
https://hg.mozilla.org/mozilla-central/rev/1eea6e958cca
https://hg.mozilla.org/mozilla-central/rev/5a471d8ee829
Comment 24•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/913a5a45b3c5
https://hg.mozilla.org/mozilla-central/rev/93aed64c54ca
https://hg.mozilla.org/mozilla-central/rev/ffc0f96ff0b1
https://hg.mozilla.org/mozilla-central/rev/edb3dd416083
https://hg.mozilla.org/mozilla-central/rev/93b2262689a0
https://hg.mozilla.org/mozilla-central/rev/d13f92b248a2
https://hg.mozilla.org/mozilla-central/rev/bb1ecf178495
https://hg.mozilla.org/mozilla-central/rev/25f5c0d8531d
https://hg.mozilla.org/mozilla-central/rev/1eea6e958cca
https://hg.mozilla.org/mozilla-central/rev/5a471d8ee829
Assignee | ||
Comment 25•5 years ago
|
||
Because the scope of the bug included more than just Form Autofill, this ended up being a 89k (2.19%) "macOS Base JS After tabs open [+30s, forced GC] opt stylo" improvement.
Updated•5 years ago
|
Comment 26•5 years ago
|
||
== Change summary for alert #19589 (as of Fri, 22 Feb 2019 22:27:30 GMT) ==
Improvements:
2% Base Content JS windows10-64-pgo-qr opt stylo 4,226,344.00 -> 4,126,941.33
2% Base Content JS osx-10-10 opt stylo 4,161,778.67 -> 4,066,890.67
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=19589
Updated•5 years ago
|
Description
•