Closed Bug 1449055 Opened 2 years ago Closed Last year

Convert formautofill to a webextension

Categories

(Toolkit :: Form Autofill, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: aswan, Assigned: aswan)

References

Details

Attachments

(3 files)

formautofill needs to move off bootstrap.js, MattN and I chatted and agreed that a webextension with a bundled experiment should be relatively straightforward.
Is there still an advantage to having formautofill be an add-on? Out of curiosity, what's stopping us from absorbing it as a normal component?
Flags: needinfo?(MattN+bmo)
(In reply to Mike Conley (:mconley) (:⚙️) (Catching up on needinfos / reviews) from comment #1)
> Is there still an advantage to having formautofill be an add-on? Out of
> curiosity, what's stopping us from absorbing it as a normal component?

Yes, Andrew and I talked about this before he filed the bug. The reason is so we can gradually roll it out to new locales (currently only for 20% of en-US) and so we can react quickly to website breakage with heuristic improvements.
Flags: needinfo?(MattN+bmo)
Assignee: nobody → aswan
Depends on: 1479599
Attachment #8996906 - Flags: review?(kmaglione+bmo)
Attachment #8996906 - Flags: review?(MattN+bmo)
Attachment #8996907 - Flags: review?(MattN+bmo)
Attachment #8996908 - Flags: review?(florian)
Comment on attachment 8996906 [details]
Bug 1449055 Convert formautofill to a webextension

https://reviewboard.mozilla.org/r/260894/#review268122

::: browser/extensions/formautofill/background.js:6
(Diff revision 1)
> +  // don't install the upgrade by doing nothing here.
> +  // The upgrade will be installed upon next restart.

I know you didn't write it, but this comment is super confusing.

Maybe something like "Doing nothing here delays the upgrade until the next browser restart"?

::: browser/extensions/formautofill/api.js:79
(Diff revision 1)
> +    const contentURL = this.extension.rootURI.resolve("chrome/content/");
> +    const localeURL = this.extension.rootURI.resolve("en-US/locale/en-US/");

No need to resolve. Just pass the correct root URI to register chrome and then use relative URIs for the values.
Attachment #8996906 - Flags: review?(kmaglione+bmo) → review+
Comment on attachment 8996908 [details]
Bug 1449055 Make browser_all_files_referenced.js work with formautofill as a webextension

https://reviewboard.mozilla.org/r/260898/#review268498

::: browser/base/content/test/static/browser_all_files_referenced.js:220
(Diff revision 1)
>  var gChromeReg = Cc["@mozilla.org/chrome/chrome-registry;1"]
>                   .getService(Ci.nsIChromeRegistry);
>  var gChromeMap = new Map();
>  var gOverrideMap = new Map();
>  var gComponentsSet = new Set();
> +let gExtensionRoots = new Set();

nit: 'var' usually for global variables defined at the root scope of the file, and here also to match the 4 previous variables.

::: browser/base/content/test/static/browser_all_files_referenced.js:252
(Diff revision 1)
>  
> +// formautofill registers resource://formautofill/ and
> +// chrome://formautofill/content/ dynamically at runtime.
> +// Bug 1480276 is about addressing this without this hard-coding.
> +trackResourcePrefix("formautofill");
> +let bleah = "chrome://formautofill/content/";

Can you find a better name for this variable? Also I would prefer this variable to not remain in the global scope of the test file, so maybe scope this in a block?

::: browser/base/content/test/static/browser_all_files_referenced.js:302
(Diff revision 1)
> +  }
> +
> +  if (data.experiment_apis) {
> +    for (let api of Object.values(data.experiment_apis)) {
> +      if (api.parent && api.parent.script) {
> +        gExtensionRoots.add(uri.resolve(api.parent.script));

Unless I'm missing something, this is just recording a reference of the script file from the manifest file, so it should be possible to call addCodeReference and avoid adding a new Set object.

::: browser/base/content/test/static/browser_all_files_referenced.js:593
(Diff revision 1)
> +  // but also for other things.  To tell them apart, we have to actually
> +  // read the contents.  This will populate gExtensionRoots with all
> +  // embedded extension APIs, and return any manifest.json files that aren't
> +  // webextensions.
> +  let nonWebextManifests = await Promise.all(jsonManifests.map(parseJsonManifest))
> +                                     .filter(uri => !!uri);

nit: broken indent on this line
Attachment #8996908 - Flags: review?(florian) → review-
Comment on attachment 8996908 [details]
Bug 1449055 Make browser_all_files_referenced.js work with formautofill as a webextension

https://reviewboard.mozilla.org/r/260898/#review268498

> Can you find a better name for this variable? Also I would prefer this variable to not remain in the global scope of the test file, so maybe scope this in a block?

Whoops, I meant to clean that up but forgot about it before pushing this, I'll fix it.

> Unless I'm missing something, this is just recording a reference of the script file from the manifest file, so it should be possible to call addCodeReference and avoid adding a new Set object.

Sorry, I'm not sure exactly how this all works, the script file is the thing being referenced, what should the `from` argument be?
(In reply to Andrew Swan [:aswan] from comment #8)

> Sorry, I'm not sure exactly how this all works, the script file is the thing
> being referenced, what should the `from` argument be?

from should point to what contains the reference (ie. the file you are parsing).
Comment on attachment 8996906 [details]
Bug 1449055 Convert formautofill to a webextension

https://reviewboard.mozilla.org/r/260894/#review269380

::: browser/extensions/formautofill/content/editAddress.xhtml:13
(Diff revision 1)
> -  <link rel="stylesheet" href="chrome://formautofill-shared/skin/editAddress.css"/>
> -  <link rel="stylesheet" href="chrome://formautofill/skin/editDialog.css"/>
> +  <link rel="stylesheet" href="resource://formautofill/editDialog.css"/>
> +  <link rel="stylesheet" href="resource://formautofill/editAddress.css"/>

Same here

::: browser/extensions/formautofill/content/editCreditCard.xhtml:13
(Diff revision 1)
> -  <link rel="stylesheet" href="chrome://formautofill-shared/skin/editCreditCard.css"/>
> -  <link rel="stylesheet" href="chrome://formautofill/skin/editDialog.css"/>
> +  <link rel="stylesheet" href="resource://formautofill/editDialog.css"/>
> +  <link rel="stylesheet" href="resource://formautofill/editCreditCard.css"/>

Was the ordering difference between these two files intentional? It could affect the cascade so I would rather revert this if it wasn't to avoid any unintentional change to styling.
Attachment #8996906 - Flags: review?(MattN+bmo) → review+
Comment on attachment 8996906 [details]
Bug 1449055 Convert formautofill to a webextension

https://reviewboard.mozilla.org/r/260894/#review269380

> Was the ordering difference between these two files intentional? It could affect the cascade so I would rather revert this if it wasn't to avoid any unintentional change to styling.

that was an oversight, correct, thanks for catching it.
Comment on attachment 8996908 [details]
Bug 1449055 Make browser_all_files_referenced.js work with formautofill as a webextension

https://reviewboard.mozilla.org/r/260898/#review269390

Thanks!
Attachment #8996908 - Flags: review?(florian) → review+
Comment on attachment 8996907 [details]
Bug 1449055 Update formautofill tests

https://reviewboard.mozilla.org/r/260896/#review269384

::: browser/extensions/formautofill/FormAutofillStorage.jsm:1792
(Diff revision 1)
>    },
> +  _finalize() {

Nit: new line between methods

::: browser/extensions/formautofill/test/unit/head.js:86
(Diff revision 1)
> +  registerCleanupFunction(function finalizeAutofillStorage() {
> +    return profileStorage._finalize();

Could you add a comment explaining what this is needed for?

::: browser/extensions/formautofill/test/unit/test_isAvailable.js:7
(Diff revision 1)
>   * Test enabling the feature in specific locales and regions.
>   */
>  
>  "use strict";
>  
> -// Load bootstrap.js into a sandbox to be able to test `isAvailable`
> +const ENABLED_PREF = "dom.forms.autocomplete.formautofill";

Nit: rename this to DOM_ENABLED_PREF since it's not really about autofill being enabled, it's our signal to the DOM to change behaviour.

::: browser/extensions/formautofill/test/unit/test_isAvailable.js:10
(Diff revision 1)
> -let sandbox = {};
> -Services.scriptloader.loadSubScript(bootstrapURI, sandbox, "utf-8");
> -info("bootstrapURI: " + bootstrapURI);
>  
>  add_task(async function test_defaultTestEnvironment() {
> -  Assert.ok(sandbox.isAvailable());
> +  Assert.ok(Services.prefs.getBoolPref(ENABLED_PREF, false));

Nit: remove the 2nd argument from all getBoolPref accesses so this throws if the pref gets removed from all.js
Comment on attachment 8996907 [details]
Bug 1449055 Update formautofill tests

https://reviewboard.mozilla.org/r/260896/#review269394

This would be an r+ but I'm not sure what the finalize stuff is needed for?
https://hg.mozilla.org/integration/mozilla-inbound/rev/ecda6532c852b3f225fce998e3ce83ad157760e6
Bug 1449055 Convert formautofill to a webextension r=MattN,kmag

https://hg.mozilla.org/integration/mozilla-inbound/rev/644216b0ad9b5f9e1e9e8f1f930d4db1c6e717a1
Bug 1449055 Make browser_all_files_referenced.js work with formautofill as a webextension r=florian
Backed out 2 changesets (bug 1449055) for xpcshell failures on browser/extensions/formautofill/test/unit/heuristics/test_de_fields.js. CLOSED TREE 

Log:
https://treeherder.mozilla.org/logviewer.html#?job_id=193777224&repo=mozilla-inbound&lineNumber=1896

TEST-START | browser/extensions/formautofill/test/unit/heuristics/test_de_fields.js
[task 2018-08-14T02:09:46.117Z] 02:09:46  WARNING -  TEST-UNEXPECTED-FAIL | browser/extensions/formautofill/test/unit/heuristics/test_de_fields.js | xpcshell return code: -11
[task 2018-08-14T02:09:46.118Z] 02:09:46     INFO -  TEST-INFO took 5201ms
[task 2018-08-14T02:09:46.118Z] 02:09:46     INFO -  >>>>>>>
[task 2018-08-14T02:09:46.119Z] 02:09:46     INFO -  PID 9308 | [9308, Main Thread] WARNING: Couldn't get the user appdata directory. Crash events may not be produced.: file /builds/worker/workspace/build/src/toolkit/crashreporter/nsExceptionHandler.cpp, line 2718
[task 2018-08-14T02:09:46.120Z] 02:09:46     INFO -  PID 9308 | JavaScript strict warning: /builds/worker/workspace/build/tests/xpcshell/tests/browser/extensions/formautofill/test/unit/head.js -> resource://testing-common/sinon-2.3.2.js, line 8941: ReferenceError: reference to undefined property "iso-8859-8-i"
[task 2018-08-14T02:09:46.121Z] 02:09:46     INFO -  (xpcshell/head.js) | test MAIN run_test pending (1)
[task 2018-08-14T02:09:46.121Z] 02:09:46     INFO -  (xpcshell/head.js) | test run_next_test 0 pending (2)
[task 2018-08-14T02:09:46.122Z] 02:09:46     INFO -  (xpcshell/head.js) | test MAIN run_test finished (2)
[task 2018-08-14T02:09:46.122Z] 02:09:46     INFO -  running event loop
[task 2018-08-14T02:09:46.123Z] 02:09:46     INFO -  "CONSOLE_MESSAGE: (warn) [JavaScript Warning: "ReferenceError: reference to undefined property "iso-8859-8-i"" {file: "/builds/worker/workspace/build/tests/xpcshell/tests/browser/extensions/formautofill/test/unit/head.js -> resource://testing-common/sinon-2.3.2.js" line: 8941}]"
[task 2018-08-14T02:09:46.123Z] 02:09:46     INFO -  browser/extensions/formautofill/tes

Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=644216b0ad9b5f9e1e9e8f1f930d4db1c6e717a1&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-classifiedState=unclassified

Backout:
https://hg.mozilla.org/integration/mozilla-inbound/rev/e01f02f3bb217eac0ac24d56bf1dba4e85e342a7
Flags: needinfo?(aswan)
New try run with passing debug bc tests:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=455ada3fa55bdeccfc3856c97beed60d0597ca54
Flags: needinfo?(aswan)
https://hg.mozilla.org/integration/mozilla-inbound/rev/da3100049ef2c03f287fc700b620f6b622aa4749
Bug 1449055 Exit the toolbox process gracefully in browser_ext_addon_debugging_netmonitor.js r=rpl

https://hg.mozilla.org/integration/mozilla-inbound/rev/45306ff933fe8dfad0ab11b2f4072389b15fd993
Bug 1449055 Convert formautofill to a webextension r=MattN,kmag

https://hg.mozilla.org/integration/mozilla-inbound/rev/fc97f5b5e65d6dfaac3cf618c7b87e11d5186d4d
Bug 1449055 Make browser_all_files_referenced.js work with formautofill as a webextension r=florian
Backed out for multiple xpcshell failures on | browser/extensions/formautofill/test/ 

backout: https://hg.mozilla.org/integration/mozilla-inbound/rev/9b421c484e49a94345cbf82dd4efa8155a326e5c

push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=fc97f5b5e65d6dfaac3cf618c7b87e11d5186d4d

e.g. failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=194151594&repo=mozilla-inbound&lineNumber=2271

[task 2018-08-15T20:18:06.634Z] 20:18:06     INFO -  TEST-START | browser/extensions/formautofill/test/unit/heuristics/test_basic.js
[task 2018-08-15T20:23:06.645Z] 20:23:06  WARNING -  TEST-UNEXPECTED-TIMEOUT | browser/extensions/formautofill/test/unit/heuristics/test_basic.js | Test timed out
[task 2018-08-15T20:23:06.646Z] 20:23:06     INFO -  TEST-INFO took 300000ms
[task 2018-08-15T20:23:06.647Z] 20:23:06     INFO -  >>>>>>>
[task 2018-08-15T20:23:06.648Z] 20:23:06     INFO -  PID 12810 | JavaScript strict warning: /builds/worker/workspace/build/tests/xpcshell/tests/browser/extensions/formautofill/test/unit/head.js -> resource://testing-common/sinon-2.3.2.js, line 8941: ReferenceError: reference to undefined property "iso-8859-8-i"
[task 2018-08-15T20:23:06.648Z] 20:23:06     INFO -  PID 12810 | JavaScript strict warning: resource://testing-common/AddonTestUtils.jsm, line 310: ReferenceError: reference to undefined property "testScope"
[task 2018-08-15T20:23:06.649Z] 20:23:06     INFO -  "CONSOLE_MESSAGE: (warn) [JavaScript Warning: "ReferenceError: reference to undefined property "iso-8859-8-i"" {file: "/builds/worker/workspace/build/tests/xpcshell/tests/browser/extensions/formautofill/test/unit/head.js -> resource://testing-common/sinon-2.3.2.js" line: 8941}]"
[task 2018-08-15T20:23:06.650Z] 20:23:06     INFO -  "CONSOLE_MESSAGE: (warn) [JavaScript Warning: "ReferenceError: reference to undefined property "testScope"" {file: "resource://testing-common/AddonTestUtils.jsm" line: 310}]"
[task 2018-08-15T20:23:06.651Z] 20:23:06     INFO -  (xpcshell/head.js) | test MAIN run_test pending (1)
[task 2018-08-15T20:23:06.651Z] 20:23:06     INFO -  (xpcshell/head.js) | test run_next_test 0 pending (2)
[task 2018-08-15T20:23:06.652Z] 20:23:06     INFO -  (xpcshell/head.js) | test MAIN run_test finished (2)
[task 2018-08-15T20:23:06.653Z] 20:23:06     INFO -  running event loop
[task 2018-08-15T20:23:06.654Z] 20:23:06     INFO -  browser/extensions/formautofill/test/unit/heuristics/test_basic.js | Starting head_initialize
[task 2018-08-15T20:23:06.654Z] 20:23:06     INFO -  (xpcshell/head.js) | test head_initialize pending (2)
[task 2018-08-15T20:23:06.655Z] 20:23:06     INFO -  PID 12810 | 1534364286841	addons.manager	DEBUG	Application has been upgraded
[task 2018-08-15T20:23:06.656Z] 20:23:06     INFO -  PID 12810 | 1534364286854	addons.manager	DEBUG	Loaded provider scope for resource://gre/modules/addons/XPIProvider.jsm: ["XPIProvider", "XPIInternal"]
[task 2018-08-15T20:23:06.656Z] 20:23:06     INFO -  PID 12810 | 1534364286857	addons.manager	DEBUG	Loaded provider scope for resource://gre/modules/LightweightThemeManager.jsm: ["LightweightThemeManager"]
[task 2018-08-15T20:23:06.657Z] 20:23:06     INFO -  PID 12810 | 1534364286861	addons.manager	DEBUG	Loaded provider scope for resource://gre/modules/addons/GMPProvider.jsm
[task 2018-08-15T20:23:06.657Z] 20:23:06     INFO -  PID 12810 | 1534364286863	addons.manager	DEBUG	Loaded provider scope for resource://gre/modules/addons/PluginProvider.jsm
[task 2018-08-15T20:23:06.658Z] 20:23:06     INFO -  PID 12810 | 1534364286864	addons.manager	DEBUG	Starting provider: XPIProvider
[task 2018-08-15T20:23:06.659Z] 20:23:06     INFO -  PID 12810 | 1534364286864	addons.xpi	DEBUG	startup
[task 2018-08-15T20:23:06.661Z] 20:23:06     INFO -  PID 12810 | 1534364286864	addons.xpi	WARN	List of valid built-in add-ons could not be parsed.: [Exception... "Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIXPCComponents_Utils.readUTF8URI]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: resource://gre/modules/addons/XPIProvider.jsm :: startup :: line 2093"  data: no] Stack trace: startup()@resource://gre/modules/addons/XPIProvider.jsm:2093
[task 2018-08-15T20:23:06.668Z] 20:23:06     INFO -  PID 12810 | callProvider()@resource://gre/modules/AddonManager.jsm:206
[task 2018-08-15T20:23:06.670Z] 20:23:06     INFO -  PID 12810 | _startProvider()@resource://gre/modules/AddonManager.jsm:654
[task 2018-08-15T20:23:06.671Z] 20:23:06     INFO -  PID 12810 | startup()@resource://gre/modules/AddonManager.jsm:813
[task 2018-08-15T20:23:06.673Z] 20:23:06     INFO -  PID 12810 | startup()@resource://gre/modules/AddonManager.jsm:2808
[task 2018-08-15T20:23:06.674Z] 20:23:06     INFO -  PID 12810 | observe()@jar:file:///builds/worker/workspace/build/application/firefox/omni.ja!/components/addonManager.js:66
[task 2018-08-15T20:23:06.675Z] 20:23:06     INFO -  PID 12810 | promiseStartupManager()@resource://testing-common/AddonTestUtils.jsm:773
[task 2018-08-15T20:23:06.677Z] 20:23:06     INFO -  PID 12810 | 1534364286867	addons.xpi	INFO	SystemAddonLocation directory is missing
[task 2018-08-15T20:23:06.682Z] 20:23:06     INFO -  PID 12810 | 1534364286877	addons.xpi	INFO	Removing all system add-on upgrades.
[task 2018-08-15T20:23:06.687Z] 20:23:06     INFO -  PID 12810 | 1534364286878	addons.xpi	DEBUG	checkForChanges
[task 2018-08-15T20:23:06.692Z] 20:23:06     INFO -  PID 12810 | 1534364286879	addons.xpi	DEBUG	Loaded add-on state: ${}
[task 2018-08-15T20:23:06.696Z] 20:23:06     INFO -  PID 12810 | 1534364286879	addons.xpi	DEBUG	scanForChanges changed: false, state: {}
[task 2018-08-15T20:23:06.698Z] 20:23:06     INFO -  PID 12810 | 1534364286880	addons.xpi	DEBUG	Empty XPI database, setting schema version preference to 27
[task 2018-08-15T20:23:06.702Z] 20:23:06     INFO -  PID 12810 | 1534364286880	addons.xpi	DEBUG	No changes found
[task 2018-08-15T20:23:06.703Z] 20:23:06     INFO -  PID 12810 | 1534364286887	addons.manager	DEBUG	Registering shutdown blocker for XPIProvider
[task 2018-08-15T20:23:06.711Z] 20:23:06     INFO -  PID 12810 | 1534364286888	addons.manager	DEBUG	Provider finished startup: XPIProvider
[task 2018-08-15T20:23:06.715Z] 20:23:06     INFO -  PID 12810 | 1534364286888	addons.manager	DEBUG	Starting provider: LightweightThemeManager
[task 2018-08-15T20:23:06.719Z] 20:23:06     INFO -  PID 12810 | 1534364286888	addons.manager	DEBUG	Registering shutdown blocker for LightweightThemeManager
[task 2018-08-15T20:23:06.721Z] 20:23:06     INFO -  PID 12810 | 1534364286888	addons.manager	DEBUG	Provider finished startup: LightweightThemeManager
[task 2018-08-15T20:23:06.722Z] 20:23:06     INFO -  PID 12810 | 1534364286889	addons.manager	DEBUG	Starting provider: GMPProvider
[task 2018-08-15T20:23:06.723Z] 20:23:06     INFO -  PID 12810 | 1534364286890	addons.manager	DEBUG	Registering shutdown blocker for GMPProvider
[task 2018-08-15T20:23:06.724Z] 20:23:06     INFO -  PID 12810 | 1534364286891	addons.manager	DEBUG	Provider finished startup: GMPProvider
[task 2018-08-15T20:23:06.725Z] 20:23:06     INFO -  PID 12810 | 1534364286891	addons.manager	DEBUG	Starting provider: PluginProvider
[task 2018-08-15T20:23:06.725Z] 20:23:06     INFO -  PID 12810 | 1534364286891	addons.manager	DEBUG	Registering shutdown blocker for PluginProvider
[task 2018-08-15T20:23:06.726Z] 20:23:06     INFO -  PID 12810 | 1534364286891	addons.manager	DEBUG	Provider finished startup: PluginProvider
[task 2018-08-15T20:23:06.727Z] 20:23:06     INFO -  PID 12810 | JavaScript strict warning: resource://gre/modules/LightweightThemeManager.jsm, line 772: ReferenceError: reference to undefined property "version"
[task 2018-08-15T20:23:06.727Z] 20:23:06     INFO -  PID 12810 | 1534364286895	addons.manager	DEBUG	Completed startup sequence
[task 2018-08-15T20:23:06.728Z] 20:23:06     INFO -  (xpcshell/head.js) | test run_next_test 0 finished (2)
Flags: needinfo?(aswan)
https://hg.mozilla.org/integration/mozilla-inbound/rev/774f0b7aba0004b10107d5d28e1b608f51b3fc60
Bug 1449055 Exit the toolbox process gracefully in browser_ext_addon_debugging_netmonitor.js r=rpl

https://hg.mozilla.org/integration/mozilla-inbound/rev/d13360c413ff6bd1fcb05201bb58ca4f61ff85bd
Bug 1449055 Convert formautofill to a webextension r=MattN,kmag

https://hg.mozilla.org/integration/mozilla-inbound/rev/39dc85d0cc5a9255768fd0147d6909e69193b4b3
Bug 1449055 Make browser_all_files_referenced.js work with formautofill as a webextension r=florian
when this landed there was no performance changes seen, but on backing this out, we see perf improvements (and now landing the code back again we see the improvements turn to regressions).

== Change summary for alert #15055 (as of Thu, 16 Aug 2018 01:15:32 GMT) ==

Improvements:

 19%  sessionrestore_no_auto_restore linux64 pgo e10s stylo     347.58 -> 282.08
 19%  sessionrestore linux64 pgo e10s stylo                     324.08 -> 263.58
 18%  sessionrestore_no_auto_restore linux64 opt e10s stylo     359.11 -> 294.50
 18%  sessionrestore linux64 opt e10s stylo                     333.78 -> 274.25
 17%  sessionrestore_no_auto_restore windows10-64 opt e10s stylo323.50 -> 267.83
 17%  sessionrestore_no_auto_restore windows10-64 pgo e10s stylo297.62 -> 248.00
 17%  sessionrestore windows7-32 opt e10s stylo                 288.25 -> 240.25
 17%  sessionrestore windows7-32 pgo e10s stylo                 279.92 -> 233.67
 15%  sessionrestore_no_auto_restore osx-10-10 opt e10s stylo   712.08 -> 604.42
 14%  sessionrestore_no_auto_restore windows7-32 pgo e10s stylo 314.42 -> 271.50
 13%  sessionrestore windows10-64 pgo e10s stylo                245.79 -> 214.92
 12%  sessionrestore osx-10-10 opt e10s stylo                   652.17 -> 571.42
 12%  sessionrestore_no_auto_restore windows7-32 opt e10s stylo 325.88 -> 285.75
 11%  sessionrestore windows10-64 opt e10s stylo                264.67 -> 234.33
  2%  ts_paint_heavy windows7-32 pgo e10s stylo                 325.12 -> 317.25

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=15055

we will be filing a bug for the regressions when the alerts come in- these seem to be following the pattern of this regression bug 1483172
I'm pretty sure there is one underlying effect here -- the cost of starting the extension process earlier in startup as described in https://bugzilla.mozilla.org/show_bug.cgi?id=1483172#c5

Since fxmonitor and the webextension version of formautofill have both landed and bounced multiple times, you're seeing this effect in a few different places but I think that to keep everybody sane it would be easiest to keep the discussion in bug 1483172 rather than fragmenting it across multiple bugs.
Flags: needinfo?(aswan)
Depends on: 1484236
See Also: → 1487103
You need to log in before you can comment on or make changes to this bug.