Commit Graph

159 Commits

Author SHA1 Message Date
Mark Banner
98c7d8dead Bug 1520808 - Allow importing of history from Chrome even if it was created in the future. r=mak
Rather than aborting adding data, we set the history items to have the current date/time. This seems mildly better than throwing away the history data.

Differential Revision: https://phabricator.services.mozilla.com/D17830
2019-01-29 12:06:05 +00:00
Kris Maglione
856fa07b17 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16750
2019-01-17 10:18:31 -08:00
Kris Maglione
2fe938bed2 Bug 1482091: Part 2 - Remove TelemetryStopwatch.jsm in favor of native implementation. r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D9888
2018-10-25 19:04:01 -07:00
arthur.iakab
60aefe8252 Backed out 2 changesets (bug 1482091) for bc failures on browser_domFullscreen_fullscreenMode.js
Backed out changeset bc03f101937e (bug 1482091)
Backed out changeset 28a19b7290ab (bug 1482091)
2018-11-03 01:08:36 +02:00
Kris Maglione
937d3bc224 Bug 1482091: Part 2 - Remove TelemetryStopwatch.jsm in favor of native implementation. r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D9888
2018-10-25 19:04:01 -07:00
arthur.iakab
0b02a4f71d Backed out 2 changesets (bug 1482091)for failing browser chrome failures on browser_panelUINotifications_fullscreen_noAutoHideToolbar.js
Backed out changeset afd0a13bcfff (bug 1482091)
Backed out changeset a19c6b3e0402 (bug 1482091)
2018-11-02 23:01:15 +02:00
Kris Maglione
31d1c1a1da Bug 1482091: Part 2 - Remove TelemetryStopwatch.jsm in favor of native implementation. r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D9888
2018-10-25 19:04:01 -07:00
Gijs Kruitbosch
e76c445ba7 Bug 1488926 - remove automigration code (already preffed off), r=dthayer
Differential Revision: https://phabricator.services.mozilla.com/D8425
2018-10-11 17:04:59 +00:00
Kris Maglione
0847e8227e Bug 1464548: Part 3 - Update callers to use defineLazyGlobalGetters. r=mccr8
MozReview-Commit-ID: 9APGewiDDYB
2018-05-25 17:02:29 -07:00
Kris Maglione
fd7e9e6a69 Bug 1456035: Part 4 - Convert callers of XPCOMUtils.generateQI to ChromeUtils.generateQI. r=mccr8
This also removes any redundant Ci.nsISupports elements in the interface
lists.

This was done using the following script:

acecb401b7/processors/chromeutils-generateQI.jsm

MozReview-Commit-ID: AIx10P8GpZY
2018-04-22 20:55:06 -07:00
Ganesh Chaitanya Kale
67bb868656 Bug 1282770 - Convert uses of PU.asyncHistory.updatePlaces in browser/components/migration to PU.history.insertMany. r=mak
Patch originally by Ganesh, updated by Standard8

MozReview-Commit-ID: AihTLo5OyK1
2018-03-20 12:36:31 +00:00
Felipe Gomes
4351746c37 Bug 1439443 - Policies: Don't create the default and smart bookmarks on the profile. r=mak 2018-03-16 21:02:05 -03:00
Kit Cambridge
1e89ded632 Bug 1199077 - Split change sources for automatic and manual bookmark restores. r=mak
MozReview-Commit-ID: 1glcCPj2X90
2018-03-01 13:37:13 -08:00
Gijs Kruitbosch
ac044211af Bug 1437940 - include Chrome Beta and Chrome Dev in migration list on Linux, r=dthayer
MozReview-Commit-ID: HDTkdXdYos3
2018-03-01 14:03:06 +00:00
Sebastian Hengst
4e51639fe3 merge mozilla-central to autoland on a CLOSED TREE 2018-02-24 03:07:44 +02:00
Florian Quèze
f1a55f73f8 Bug 1440284 - change this.EXPORTED_SYMBOLS back to var EXPORTED_SYMBOLS in JS modules, r=mccr8. 2018-02-23 20:50:01 +01:00
Doug Thayer
396519498c Bug 1432529 - Exit spinEventLoopUntil when canceling migrator r=Gijs
Fairly trivial - discussed in bug 862127. Opt to cancel the spin wait
rather than disable canceling in the UI.

MozReview-Commit-ID: B55Fsw34uX7
2018-02-15 11:55:10 -08:00
Margareta Eliza Balazs
7ec62aee45 Backed out changeset ebbcdc3e642d (bug 1433593) for X failing in toolkit/components/passwordmgr/test/unit/test_maybeImportLogin.js on a CLOSED TREE 2018-02-16 04:50:42 +02:00
Doug Thayer
2a70781cd0 Bug 1433593 - Clean up usages of LoginHelper.maybeImportLogin r=MattN
In bug 1426721 we added a bulk interface for importing logins, which
works in a background thread. This patch cleans up the single-login
interface and updates the remaining usages to consume the bulk
interface.

MozReview-Commit-ID: IziLXkO5dxQ
2018-02-15 10:26:44 -08:00
shindli
f1661b02af Backed out 2 changesets (bug 1433593) for xpcshell on /tests/unit/test_IE7_passwords.js on a CLOSED TREE
Backed out changeset c1b0ea577728 (bug 1433593)
Backed out changeset 96327b595b91 (bug 1433593)
2018-02-20 23:01:54 +02:00
Doug Thayer
afbdc3b32b Bug 1433593 - Clean up usages of LoginHelper.maybeImportLogin r=MattN
In bug 1426721 we added a bulk interface for importing logins, which
works in a background thread. This patch cleans up the single-login
interface and updates the remaining usages to consume the bulk
interface.

MozReview-Commit-ID: IziLXkO5dxQ
2018-02-15 10:26:44 -08:00
Doug Thayer
38979fb27e Bug 1433593 - Clean up usages of LoginHelper.maybeImportLogin r=MattN
In bug 1426721 we added a bulk interface for importing logins, which
works in a background thread. This patch cleans up the single-login
interface and updates the remaining usages to consume the bulk
interface.

MozReview-Commit-ID: IziLXkO5dxQ
2018-02-15 10:26:44 -08:00
Gijs Kruitbosch
4cd34f4756 Bug 1434167 - remove getSourceHomePageURL implementations and callsites, r=dthayer
MozReview-Commit-ID: 98p2Iy70EPv
2018-02-07 10:18:46 +00:00
Andrew McCreight
272cee1e65 Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian
This patch was autogenerated by my decomponents.py

It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.

It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.

It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)

MozReview-Commit-ID: DeSHcClQ7cG
2018-02-06 09:36:57 -08:00
Kris Maglione
0bb74efdf1 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl
2018-01-29 15:20:18 -08:00
Doug Thayer
73045e022b Bug 1433024 - Update MigrationUtils' sourceHomePageURL r=Gijs
Fairly trivial. This was breaking for the test_refresh_firefox
test in beta, since the code which calls this is only active if
certain branding strings are present.

MozReview-Commit-ID: 3CkosXHgoMm
2018-01-29 09:03:24 -08:00
Doug Thayer
c4a6e59688 Bug 1426721 - Encrypt Chrome logins in background thread r=keeler,MattN
A significant chunk of migration jank that I observe locally
happens due to login encryption. This patch reduces the locally
observed jank (measured importing 100 logins) from 180ms to 25ms.

Try is green, and as far as I can tell I don't see any thread
safety issues, but I'm not 100% sure on that. I don't see any
red flags inside the SecretDecoderRing::Encrypt implementation.

I only moved Chrome logins over since I wanted to frontload any
potential issues with the whole approach. It shouldn't be too
hard to move the MSMigrationUtils and IEProfileMigrator uses
over though.


MozReview-Commit-ID: 75edUqJlk8x
2018-01-04 15:10:54 -08:00
Doug Thayer
015377398b Bug 862127 - Make migration interfaces more async r=Gijs
In order to clean up sync IO within our profile migrators, we
need to have async interfaces for those parts which are currently
doing sync IO. This converts the sync interfaces and adjusts most
of the call sites (migration.js call site changes are addressed
in a separate patch to break it out a bit).


MozReview-Commit-ID: 2Kcrxco4iYr
2018-01-12 09:06:21 -08:00
Sam R-T, Joseph F, Robin H
0be01d2d28 Bug 1432062 - Require dangling commas via eslint for the migration component. r=MattN 2018-01-22 15:22:35 -08:00
Doug Thayer
58c8082bcb Bug 1338800 - await completeDeferred for all resources r=mak
To reduce any contention from migrating multiple resources at the
same time, it seems prudent to wait for each to finish before
migrating the next. res.migrate is only sometimes properly async,
so the simplest thing to do today is to just always await
completeDeferred.promise. Additionally I am filing Bug 1418455
to track simplifying this to simply await res.migrate.

MozReview-Commit-ID: LdgNsxfuzu4
2017-11-17 11:45:44 -08:00
Dan Banner
503979c95a Bug 1367704 - Enable the semi ESLint rule across the tree. r=standard8
MozReview-Commit-ID: GrlcOI9K2hJ
2017-05-28 19:57:46 +01:00
Doug Thayer
284f021806 Bug 1413989 - include Timer.jsm in MigrationUtils.jsm r=MattN
setTimeout was previously undefined. Created a test specifically
for MigrationUtils, since trying to test this through an actual
Chrome migration path seemed trickier and more fragile.

MozReview-Commit-ID: 33U7ZzzG1CC
2017-11-07 15:48:02 -08:00
NARCIS BELEUZU
141fdc18e4 Backed out 1 changesets (bug 1413989) for ESLint failure "browser/components/migration/tests/unit/test_MigrationUtils_timedRetry.js" r=backout on a CLOSED TREE
Backed out changeset 7d8c4617ad28 (bug 1413989)
2017-11-08 11:03:45 +02:00
Doug Thayer
606cdbbf6a Bug 1413989 - include Timer.jsm in MigrationUtils.jsm r=MattN
setTimeout was previously undefined. Created a test specifically
for MigrationUtils, since trying to test this through an actual
Chrome migration path seemed trickier and more fragile.

MozReview-Commit-ID: 33U7ZzzG1CC
2017-11-07 15:48:02 -08:00
gasolin
159f88a860 Bug 1361286 - add in-page messages support for Automigration module; r=Gijs
MozReview-Commit-ID: I4xK2PkuHp3
2017-05-24 16:56:00 +08:00
Sebastian Hengst
7b7ea06c4f Backed out changeset 2612892f2785 (bug 1361286) for typos in its strings. r=backout 2017-05-27 10:27:02 +02:00
gasolin
35b39a589e Bug 1361286 - add in-page messages support for Automigration module; r=Gijs
MozReview-Commit-ID: I4xK2PkuHp3
2017-05-24 16:56:00 +08:00
Florian Quèze
ff53eb9a63 Bug 1353542 - massive script-generated patch converting Task.async and Task.spawn calls, and generators clearly identifiable as tasks, rs=Mossop. 2017-05-12 14:42:39 +02:00
Florian Queze
ddf0cda8da Bug 1355161 - script-generated patch to replace .{currentThread,mainThread}.dispatch(..., Ci.nsIThread.DISPATCH_NORMAL) with .dispatchToMainThread(...), r=froydnj. 2017-04-14 18:29:12 +02:00
Florian Queze
aca1103c68 Bug 1356569 - Remove appendElement's last parameter when it is false, r=jaws. 2017-04-14 21:51:39 +02:00
Florian Queze
d3c36892fa Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Sebastian Hengst
4cd95d4a02 Backed out changeset 18d45aa984d6 (bug 1355161) 2017-04-14 23:39:23 +02:00
Sebastian Hengst
42670ceca0 Backed out changeset 322fde2d53bf (bug 1356569) so bug 1355161 can be backed out. r=backout 2017-04-14 23:39:22 +02:00
Sebastian Hengst
4189eac09e Backed out changeset e1f191aad863 (bug 1356569) 2017-04-14 23:39:17 +02:00
Florian Queze
6c119a88d3 Bug 1356569 - Remove appendElement's last parameter when it is false, r=jaws. 2017-04-14 21:51:39 +02:00
Florian Queze
9b4f73599f Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Florian Queze
35cd8ba883 Bug 1355161 - script-generated patch to replace .{currentThread,mainThread}.dispatch(..., Ci.nsIThread.DISPATCH_NORMAL) with .dispatchToMainThread(...), r=froydnj. 2017-04-14 18:29:12 +02:00
Gijs Kruitbosch
da2191fab2 Bug 1344759 - batch-insert bookmarks when importing from Edge, IE, Safari or Chrome, r=dao
MozReview-Commit-ID: Dhvw0Y0fm5x
2017-03-13 23:46:16 +00:00
Gijs Kruitbosch
d9c7b8ddde Bug 1341097 - part 4: misc. small optimizations, r=mak
The MigrationUtils change is because 99% of the time we will only have
1 visit per URI, and so we spend silly amounts of time doing nothing.
Time spent in composing our undo structure went from ~800ms to ~550ms
with this change.

The other change just seemed obvious - when visits aren't recent,
we shouldn't add them to 'recently visited' lists, which seem to use
'time this function was called' as the time associated with an entry,
which is incorrect.

MozReview-Commit-ID: 2I0D5ApOCI7
2017-02-20 16:06:27 +00:00
Gijs Kruitbosch
705481de09 Bug 1341097 - part 1: group frecency notifications from history notifications, r=mak
When updating a large number of places, sending runnables to the main thread
for every single one of them whose frecency we update is not conducive to a
responsive UI. This only gets worse once more observers care about these
notifications (e.g. when the library is open).

To avoid this on startup when importing from other browsers, this patch adds
and uses an option to group the frecency notifications. Later patches will
also use the option to avoid other notifications where possible.

MozReview-Commit-ID: D5KqPDu86bo
2017-02-21 20:00:24 +00:00