Commit Graph

4221 Commits

Author SHA1 Message Date
Mark Hammond
c2a3916396 Bug 1574382 - use yaml to parse TPS tests. r=tcsc
Differential Revision: https://phabricator.services.mozilla.com/D42263

--HG--
extra : moz-landing-system : lando
2019-08-19 20:55:05 +00:00
Ciure Andrei
9a123fb597 Backed out changeset 81156ff3f4fa (bug 1571656) for causing browser_PageActions.js and test_insertTree_fixupOrSkipInvalidEntries.js to perma fail CLOSED TREE 2019-08-19 13:00:44 +03:00
Moritz Birghan
240771fa29 Bug 1571656 - Use Assert.jsm numeric comparison functions in tests r=mixedpuppy,MattN
Differential Revision: https://phabricator.services.mozilla.com/D40614

--HG--
extra : moz-landing-system : lando
2019-08-19 07:17:12 +00:00
Mark Banner
b1970e6a2f Bug 1571466 - Cleanup unnecessary ESLint global definitions. r=mossop
These are raised as redeclares or unused variables by ESLint 6.

Differential Revision: https://phabricator.services.mozilla.com/D37268

--HG--
extra : moz-landing-system : lando
2019-08-19 07:11:56 +00:00
Lina Cambridge
a17323e9d8 Bug 1573709 - Return an aborted watchdog for testing interrupted bookmark merges. a=testonly
Differential Revision: https://phabricator.services.mozilla.com/D41876

--HG--
extra : moz-landing-system : lando
2019-08-14 00:28:52 +00:00
Lina Cambridge
65dfa84ccd Bug 1573305 - Remove the check for unmerged synced bookmark changes. r=markh
When a local or remote item changed, we'd potentially scan three tables
(with an expensive `LEFT JOIN`!) to check if anything changed...then
scan the same tables again to build the local and remote trees. This
check was originally meant to avoid unnecessary merges. However, the
bottleneck isn't merging now; it's reading from the database.

Since the merger has been rewritten in Rust, is synchronous, doesn't
keep a transaction open for the entire merge (see the
`total_sync_changes` check), and only emits ops for items that actually
changed, it's more efficient to build and merge optimistically, and
bail before applying if nothing changed.

This commit also moves `validateLocalRoots` into Rust.

Differential Revision: https://phabricator.services.mozilla.com/D41690

--HG--
extra : moz-landing-system : lando
2019-08-13 22:58:16 +00:00
Lina Cambridge
19557885f6 Bug 1572615 - Abort bookmark merges that take longer than 5 minutes. r=markh
This commit introduces a new `Watchdog` class that signals an abort,
either after a delay or at shutdown, and wires up the buffered engine
to use it.

Differential Revision: https://phabricator.services.mozilla.com/D41311

--HG--
extra : moz-landing-system : lando
2019-08-13 18:48:25 +00:00
Nicholas Nethercote
41a012cce7 Bug 1572621 - Merge services-sync.js into all.js. r=markh
Differential Revision: https://phabricator.services.mozilla.com/D41323

--HG--
extra : moz-landing-system : lando
2019-08-09 09:18:41 +00:00
Lina Cambridge
0d63b1e98f Bug 1498073 - Use centisecond precision for modified times in Sync tests. a=testonly
Differential Revision: https://phabricator.services.mozilla.com/D41266

--HG--
extra : moz-landing-system : lando
2019-08-08 19:19:47 +00:00
Jared Wein
22ae3511f6 Bug 1571567 - Fix no-fallthrough errors in /services. r=markh
Differential Revision: https://phabricator.services.mozilla.com/D40878

--HG--
extra : moz-landing-system : lando
2019-08-08 15:18:36 +00:00
Bogdan Tara
844afcfb06 Backed out 10 changesets (bug 1571567) complementary backout after es lint failure on the patch CLOSED TREE
Backed out changeset ce83fa75ae32 (bug 1571567)
Backed out changeset 7aa97ba7cce9 (bug 1571567)
Backed out changeset 777d79076e99 (bug 1571567)
Backed out changeset fbdf6b75a484 (bug 1571567)
Backed out changeset e2ed4620f232 (bug 1571567)
Backed out changeset 2c67015f12c6 (bug 1571567)
Backed out changeset 7ec086bb5bd5 (bug 1571567)
Backed out changeset 42df735c8556 (bug 1571567)
Backed out changeset 7d5fc57b2809 (bug 1571567)
Backed out changeset 606bafb8211c (bug 1571567)
2019-08-08 18:13:54 +03:00
Jared Wein
9cf685253f Bug 1571567 - Fix no-fallthrough errors in /services. r=markh
Differential Revision: https://phabricator.services.mozilla.com/D40878

--HG--
extra : moz-landing-system : lando
2019-08-08 01:38:51 +00:00
Lina Cambridge
9320172d8f Bug 1567238 - Refactor the bookmarks mirror merge triggers to do less work. r=tcsc,markh
This commit reduces the number of database writes and table scans
needed to merge synced bookmarks.

* Remove `fetchNew{Local, Remote}Contents`. Fetching the tree already
  scans the table, so we can piggyback on it to fetch content info for
  deduping.
* Store completion ops in temp tables to only update changed parts of
  the local tree, and remove the `mergeStates` table and views.
* Replace the `itemsToMerge` view with an indexed `itemsToApply` temp
  table.
* Replace the `updateGuidsAndSyncFlags` trigger with a `changeGuidOps`
  table and a `changeGuids` trigger.
* Replace the `updateLocalItems` trigger with an `apply_remote_items`
  function to bulk upsert new and updated items.
* Replace the `structureToMerge` view with an
  `applyNewLocalStructureOps` table that holds parents and positions
  for moved items, and an `applyNewLocalStructure` trigger to update
  them.
* Remove tombstones for revived items, update change counters, and flag
  mirror items as merged directly in `update_local_items_in_places`,
  instead of indirecting through temp tables.
* Don't mark items flagged for reupload as merged, since we'll write
  them back to the mirror after upload.
* Use a scalar subquery instead of a join in the `localTags` view to
  look up the tags root ID.
* Replace `relatedIdsToReupload` with a `Store::prepare` method that
  flags all bookmarks with keyword-URL mismatches for reupload.
* Trigger frecency updates for origins once, not for every item.
* Remove two extra scans on `itemsAdded` and `itemsChanged` when
  recording observer notifications for changed keywords.
* Notify all `bookmark-added` listeners in a single batch.

This also fixes some edge cases:

* Update root positions correctly after deleting a non-syncable root
  or item.
* Keyword-URL mismatches may reupload more items than before, but now
  ensure that all bookmarks with the same URL have the same keyword.
* Only set items with deduped GUIDs to `SYNC_STATUS_NORMAL` after
  merging.
* Bump the last modified time for modified items only.

Differential Revision: https://phabricator.services.mozilla.com/D39889

--HG--
extra : moz-landing-system : lando
2019-08-06 23:48:03 +00:00
Mark Hammond
60f4926fea Bug 1564131 - re-enable syncing of builtin themes. r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D37837

--HG--
extra : moz-landing-system : lando
2019-07-18 01:25:50 +00:00
Luca Greco
55b47893cf Bug 1541496 - Ensure storage.sync does sync the data for previously synced extensions without an active extension context. r=glasserc
Differential Revision: https://phabricator.services.mozilla.com/D37413

--HG--
extra : moz-landing-system : lando
2019-07-11 14:30:20 +00:00
Narcis Beleuzu
8478c8b076 Merge autoland to mozilla-central. a=merge 2019-07-09 06:43:17 +03:00
ffxbld
6ca9b306bd Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2019-07-08 17:27:36 +00:00
Jonathan Kingston
31441f82ea Bug 1560455 - rename CodebasePrincipal to ContentPrincipal. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D35504

--HG--
extra : moz-landing-system : lando
2019-07-08 16:37:45 +00:00
Victor Porof
34c33b48c4 Bug 1561435 - Fix linting errors for services/, r=standard8
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35931

--HG--
extra : source : f441e31c307bc815c7f05e99c0cd8ee77344dc80
extra : intermediate-source : 7e366ab79479e3a9bbdf9e61f04cfa7b6c271990
2019-06-21 13:38:54 -07:00
Victor Porof
9d673f1f0f Bug 1561435 - Format services/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35930

--HG--
extra : source : 073567e8ded785e46382ba7e402d8da939a69d7b
2019-07-05 10:58:22 +02:00
Victor Porof
b5a4cb3848 Bug 1558517 - Pre 3.0: Remove conflicting eslint rules, and turn on "curly: all" everywhere, r=standard8
Differential Revision: https://phabricator.services.mozilla.com/D34535

--HG--
extra : source : 74ed7ee773393d305c4e948a57a1b1e32b1f12e8
extra : intermediate-source : 403d0757d61683e0a85d0bb07768eb39fbd0af72
2019-06-28 17:14:01 +02:00
Marco Bonardo
eb9461aa93 Bug 1508973 - Remove getAnnotationsForItem and unused bookmark annotations APIs. r=Standard8,lina
Differential Revision: https://phabricator.services.mozilla.com/D35009

--HG--
extra : moz-landing-system : lando
2019-06-25 15:21:53 +00:00
Mark Hammond
adf91feaf8 Bug 1538015 (part 2) - restrict when incoming synced prefs are applied. r=tcsc,pauljt,Gijs
Specifically, a "control pref" for a pref must already exist locally, or
a new preference, `services.sync.prefs.dangerously_allow_arbitrary` must
be set to true.

This also removes a few preferences from the set we sync by default based
due to potential harm which can be caused syncing inappropriate values.

Differential Revision: https://phabricator.services.mozilla.com/D29775

--HG--
extra : moz-landing-system : lando
2019-06-25 04:40:58 +00:00
Mark Hammond
e5bb9b8a73 Bug 1538015 (part 1) - test only change to tighten up the checks being made. r=tcsc
This is a test-only change to make the existing synced prefs tests more
explicit about values being checked and moves a couple of prefs around to make
things a bit clearer, which should make the test changes in part 2 clearer.

Differential Revision: https://phabricator.services.mozilla.com/D29774

--HG--
extra : moz-landing-system : lando
2019-06-25 04:40:41 +00:00
Boris Zbarsky
9de72a3ac6 Bug 1557793 part 2. Stop using [array] in nsIStringBundle. r=Pike
Differential Revision: https://phabricator.services.mozilla.com/D34196

--HG--
extra : moz-landing-system : lando
2019-06-11 15:51:51 +00:00
Sebastian Hengst
3f89105d67 Backed out changeset 4f2475241df7 (bug 1550473) on request from ckerschb. a=backou
--HG--
extra : rebase_source : 8297426f6df40a9dc94fccf514ba3f4efa88889e
2019-06-06 15:33:55 +02:00
Edouard Oger
d3751d4293 Bug 1555771 - Update Sync and FxA illustrations. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D33234

--HG--
extra : moz-landing-system : lando
2019-06-05 17:46:54 +00:00
Matthew Noorenberghe
e7afdd4c3e Bug 1148205 - Replace misnamed formSubmitURL and hostname properties on nsILoginInfo in services/sync/ r=markh,tcsc
Differential Revision: https://phabricator.services.mozilla.com/D33347

--HG--
extra : moz-landing-system : lando
2019-06-05 03:59:46 +00:00
Lina Cambridge
ede2c0b68a Bug 1552621 - Include optional steps in Sync engine telemetry. r=tcsc,tdsmith
Before this commit, we used event telemetry to record timing and counts
for the different steps of a bookmark merge (fetching the local tree,
new local contents, remote tree, and new remote contents; merging;
applying; fetching outgoing records; and notifying observers).

This has several limitations. We need to store all numbers as strings,
include a "flow ID" to tag events from the same merge, and collect
failure reasons twice. We also can't correlate these events to the
existing engine telemetry, meaning we can't see other stats for that
engine, or for the entire sync. Finally, we need to run separate
queries on these events for analysis, instead of extending our
existing engine dashboards.

This approach also feels like an abuse of event telemetry, so this
commit adds a "steps" field for each engine in the Sync ping. Each step
has a name, time taken, and additional named counts, like the number of
items in the tree, or merged structure stats.

Currently, only the `buffered-bookmarks` engine records these steps.

Differential Revision: https://phabricator.services.mozilla.com/D33411

--HG--
extra : moz-landing-system : lando
2019-06-04 20:08:07 +00:00
Lina Cambridge
efa5e0cc06 Bug 1552621 - Record bookmark validation telemetry for the buffered engine. r=tcsc
Differential Revision: https://phabricator.services.mozilla.com/D33410

--HG--
extra : moz-landing-system : lando
2019-06-04 20:08:51 +00:00
Lina Cambridge
0c9500bf00 Bug 1552621 - Record shutdown blocker progress in the bookmarks mirror. r=markh,tcsc
This commit introduces a `mozISyncedBookmarksMirrorProgressListener`
interface for capturing telemetry and updating shutdown blocker state
after each step of the merge, instead of waiting until the end. This
also means we can also record events for interrupted and failed merges,
and pass validation data through to the Sync ping.

Shutdown hang crash reports now have a `steps` field, indicating the
sequence of completed steps and when they were recorded. If the last
step in the hang report is `fetchLocalTree`, we know the merger is
blocked on `fetchNewLocalContents`. If the last step is
`fetchNewLocalContents`, the merger is stuck at `fetchRemoteTree`,
since that's the next step after `fetchNewLocalContents`.

This commit also implements `Driver::record_telemetry_event` to
dispatch progress callback runnables to the main thread.

Differential Revision: https://phabricator.services.mozilla.com/D31950

--HG--
extra : moz-landing-system : lando
2019-06-03 23:04:37 +00:00
Coroiu Cristina
598c42a9d2 Backed out changeset 8aca39389e35 (bug 1555771) for browser-chrome failures at browser/components/extensions/test/browser/browser_ext_tabs_events.js 2019-06-04 03:22:59 +03:00
Edouard Oger
6387709163 Bug 1555771 - Update Sync and FxA illustrations. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D33234

--HG--
extra : moz-landing-system : lando
2019-06-03 21:24:42 +00:00
shindli
7849b17acb Backed out changeset 7f8884b7de4e (bug 1555771) for causing perma browser chrome failures in browser/base/content/test/sync/browser_sync.js CLOSED TREE 2019-06-03 22:14:42 +03:00
Edouard Oger
52eba7cee8 Bug 1555771 - Update Sync and FxA illustrations. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D33234

--HG--
extra : moz-landing-system : lando
2019-06-03 17:33:47 +00:00
Cosmin Sabou
6095e3c3c4 Backed out changeset 69f10997c98f (bug 1555771) for build bustages. CLOSED TREE 2019-06-01 01:13:36 +03:00
Edouard Oger
d94afcd4dc Bug 1555771 - Update Sync and FxA illustrations. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D33234

--HG--
extra : moz-landing-system : lando
2019-05-31 21:23:19 +00:00
Michael Kaply
75cc987da6 Bug 1456140 - Remove unnecessary size args for getChildList. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D31631

--HG--
extra : moz-landing-system : lando
2019-05-21 06:20:40 +00:00
Gurzau Raul
c8aba9a691 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-05-20 16:47:30 +03:00
ffxbld
866936d99a Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2019-05-20 13:22:45 +00:00
Jonas Allmann
0d25b2aa37 Bug 1550473 - Remove ajv-4.1.1.js from eval()-whitelist. r=ckerschb
Allow eval() by flipping pref in all affected test files.

Differential Revision: https://phabricator.services.mozilla.com/D31771

--HG--
extra : moz-landing-system : lando
2019-05-20 13:20:16 +00:00
Boris Zbarsky
048db3278e Bug 1551779 part 5. Stop using [array] for getTagsForURI. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D31242

--HG--
extra : moz-landing-system : lando
2019-05-16 14:03:54 +00:00
Boris Zbarsky
d0161062da Bug 1551657 part 4. Stop using [array] in searchLogins. r=MattN
Audited https://searchfox.org/mozilla-central/search?q=%5B%5EA-Za-z_%5D%5BsS%5DearchLogins%5B%5EA-Za-z_%5D&case=true&regexp=true&path=

Differential Revision: https://phabricator.services.mozilla.com/D31120

--HG--
extra : moz-landing-system : lando
2019-05-14 19:32:17 +00:00
Boris Zbarsky
47a701ff47 Bug 1551657 part 3. Stop using [array] in findLogins. r=MattN
I audited the results from
https://searchfox.org/mozilla-central/search?q=%5B%5EA-Za-z_%5D%5BFf%5DindLogins%5B%5EA-Za-z_%5D&case=true&regexp=true&path=

Differential Revision: https://phabricator.services.mozilla.com/D31119

--HG--
extra : moz-landing-system : lando
2019-05-14 19:28:52 +00:00
Boris Zbarsky
fd4dae89f0 Bug 1551657 part 1. Stop using [array] in getAllLogins. r=MattN
I audited all the callsites
https://searchfox.org/mozilla-central/search?q=%5B%5EA-Za-z_%5D%5BGg%5DetAllLogins%5B%5EA-Za-z_%5D&case=true&regexp=true&path=
brings up.

Differential Revision: https://phabricator.services.mozilla.com/D31117

--HG--
extra : moz-landing-system : lando
2019-05-14 19:28:51 +00:00
Lina Cambridge
542d414ea3 Bug 1548884 - Enable the synced bookmarks mirror on Nightly and Beta. r=tcsc
The number of Sync users on these channels is low compared to Release,
so we can do this without a gradual rollout. This also lets more users
test the new bookmark sync engine without manually flipping the pref.

Differential Revision: https://phabricator.services.mozilla.com/D29859

--HG--
extra : moz-landing-system : lando
2019-05-06 20:40:20 +00:00
Honza Bambas
2555fb9646 Bug 1545420 - Allow extensions to set Proxy-Authorization and connection isolation key through proxy.onRequest, r=dragana,mixedpuppy+mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D29825

--HG--
extra : moz-landing-system : lando
2019-05-06 07:22:18 +00:00
Lina Cambridge
ea48c5e7eb Bug 1546035 - Remove local and remote livemarks when syncing. r=mak,tcsc
This commit exports livemarks before syncing for the first time, to
avoid losing livemarks that Sync may have resurrected. As of v0.2.4,
Dogear treats livemarks as non-syncable, and deletes them on both
sides.

This also bumps the mirror schema version, to trigger a first sync.

Differential Revision: https://phabricator.services.mozilla.com/D28543

--HG--
extra : moz-landing-system : lando
2019-05-02 08:03:36 +00:00
Arpit
474e467436 Bug 1483077 - Replaced reference to getBrowser with gBrowser r=robwu,dao
Differential Revision: https://phabricator.services.mozilla.com/D27418

--HG--
extra : moz-landing-system : lando
2019-04-17 00:04:54 +00:00
Rob Wu
4a6f84f91d Bug 1544834 - Replace deprecated generics in test code r=evilpie
- `Array.map` becomes `Array.from`
- Array copying via `Array.slice` becomes `Array.from`.
- `Array.forEach` that did not rely on closures becomes `for`-`of` loops.
- Anything else: `Array.X` becomes `Array.prototype.X`.

Complex cases:

dom/bindings/test/TestInterfaceJS.js and
dom/bindings/test/test_exception_options_from_jsimplemented.html
use `Array.indexOf` to generate an error with a specific error message.
Switched to `Array.prototype.forEach` to generate the same error.

js/src/jit-test/tests/basic/exception-column-number.js
In this test `Array.indexOf()` is used to generate an error. Since the
exact message doesn't matter, I switched to `Array.from()`.

Intentionally not changed:

editor/libeditor/tests/browserscope/lib/richtext/richtext/js/range.js
Did not modify because this is 3rd-party code and the code uses
feature detection as a fall back when Array generics are not used.

testing/talos/talos/tests/dromaeo/lib/mootools.js
Did not modify because mootools adds the `Array.slice` method to the
`Array` object.

Not changed because they check the implementation of Array generics:
js/src/jit-test/tests/basic/arrayNatives.js
js/src/jit-test/tests/basic/bug563243.js
js/src/jit-test/tests/basic/bug618853.js
js/src/jit-test/tests/basic/bug830967.js
js/src/jit-test/tests/jaeger/recompile/bug656753.js
js/src/jit-test/tests/self-hosting/alternate-static-and-instance-array-extras.js
js/src/tests/non262/Array/generics.js
js/src/tests/non262/Array/regress-415540.js
js/src/tests/non262/extensions/regress-355497.js
js/src/tests/non262/extensions/typedarray-set-neutering.js

Depends on D27802

Differential Revision: https://phabricator.services.mozilla.com/D27803

--HG--
extra : moz-landing-system : lando
2019-04-17 19:03:19 +00:00