Commit Graph

1647 Commits

Author SHA1 Message Date
rfkelly
048a518c75 Bug 1591312 - Revert to using BrowserID to generate OAuth tokens. r=markh
Differential Revision: https://phabricator.services.mozilla.com/D50770

--HG--
extra : moz-landing-system : lando
2019-11-08 06:28:54 +00:00
Coroiu Cristina
27a753cc4a Backed out changeset 96048cce4b80 (bug 1571656) for xpcshell failures at toolkit/components/places/tests/unifiedcomplete/test_autofill_origins.js on a CLOSED TREE 2019-11-06 22:59:45 +02:00
Moritz Birghan
70c7a633fb 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-11-06 18:07:54 +00:00
Thom Chiovoloni
0aee355709 Bug 1582263 - Move devices list to top level of sync ping. r=markh
Move devices list to top level of sync ping

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

--HG--
extra : moz-landing-system : lando
2019-11-05 17:21:12 +00:00
lougenia
4a5ba28d8a Bug 1588948 - Check passwords engine handles incoming records with null or missing username fields r=lina
Differential Revision: https://phabricator.services.mozilla.com/D49805

--HG--
extra : source : b300b58faf473a242d4ed3428a97dec17bcd862c
2019-10-23 17:49:51 +00:00
Cosmin Sabou
68edcb2abb Backed out changeset b300b58faf47 (bug 1588948) for browser chrome failures on test_basic_form_autocomplete.html. 2019-10-24 02:06:37 +03:00
lougenia
8fff38140a Bug 1588948 - Check passwords engine handles incoming records with null or missing username fields r=lina
Differential Revision: https://phabricator.services.mozilla.com/D49805

--HG--
extra : moz-landing-system : lando
2019-10-23 17:49:51 +00:00
Mark Hammond
12dd37165b Bug 1574051 - make FxA's session/account status checking sane and understandable. r=rfkelly,mtigley
Differential Revision: https://phabricator.services.mozilla.com/D49689

--HG--
extra : moz-landing-system : lando
2019-10-22 00:58:36 +00:00
Mark Hammond
9a28c6748d Bug 1574052 - only return public fields from fxAccounts.getSignedInUser(). r=rfkelly,eoger
Differential Revision: https://phabricator.services.mozilla.com/D49525

--HG--
extra : moz-landing-system : lando
2019-10-22 00:57:27 +00:00
Lina Cambridge
a0d2e56628 Bug 1588329 - Centralize array chunking in PlacesUtils.chunkArray. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D49072

--HG--
extra : moz-landing-system : lando
2019-10-15 21:23:07 +00:00
Mark Hammond
0481284ac7 Bug 1583897 - Send a telemetry event for new sendtab. r=tcsc,eoger,lina
Differential Revision: https://phabricator.services.mozilla.com/D48153

--HG--
extra : moz-landing-system : lando
2019-10-14 22:17:28 +00:00
Mark Hammond
c7296e7825 Bug 1587769 - update the pref we watch to ensure we sync immediately after device name change. r=eoger
Differential Revision: https://phabricator.services.mozilla.com/D49102

--HG--
extra : moz-landing-system : lando
2019-10-14 16:30:27 +00:00
Edouard Oger
44a0e91fcd Bug 1584249 - Update enabled sync engines before opening CWTS dialog. r=markh
Differential Revision: https://phabricator.services.mozilla.com/D48272

--HG--
extra : moz-landing-system : lando
2019-10-07 15:25:38 +00:00
Lina Cambridge
397d3a1156 Bug 1583413 - Fetch the Send Tab target list from FxA, not Sync. r=markh,eoger
Instead of using the list of FxA devices from the Sync clients engine,
we now fetch the list of Send Tab devices from FxA. This works like
this:

* `FxAccountsDevice#getDeviceList` has been split up into
  `recentDeviceList` and `refreshDeviceList`.
* `recentDeviceList` synchronously returns the last fetched list, so
  that consumers like Send Tab can use it right away.
* `refreshDeviceList` is asynchronous, and refreshes the last fetched
  list. Refreshes are limited to once every minute by default, matching
  the minimum sync interval (Send Tab passes the `ignoreCached` option
  to override the limit if the user clicks the "refresh" button).
  Concurrent calls to `refreshDeviceList` are also serialized, to
  ensure the list is only fetched once.
* The list is flagged as stale when a device is connected or
  disconnected. It's still kept around, but the next call to
  `refreshDeviceList` will fetch a new list from the server.
* The Send Tab UI refreshes FxA devices in the background. Matching FxA
  devices to Sync client records is best effort; we don't do it if Sync
  isn't configured or hasn't run yet. This only impacts the fallback
  case if the target doesn't support FxA commands.

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

--HG--
extra : moz-landing-system : lando
2019-10-03 22:40:55 +00:00
Mark Hammond
7ec2097ae8 Bug 1582633 - allow an FxA user to be signed in without sync being enabled. r=eoger,lina
Differential Revision: https://phabricator.services.mozilla.com/D46572

--HG--
extra : moz-landing-system : lando
2019-09-25 06:51:18 +00:00
Geoff Brown
dcb380399e Bug 1582785 - Enable some xpcshell tests on Android; r=geckoview-reviewers,agi
Most of these tests have been disabled for a long time; they run well
in the current test environment.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 22:43:55 +00:00
Mark Hammond
7531325c86 Bug 1582023 - Replace "sync disconnect" dialog and local data removal with simple confirmation dialog. r=eoger,flod,fluent-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D46253

--HG--
extra : moz-landing-system : lando
2019-09-19 05:59:51 +00:00
Mark Hammond
140dc3f765 Bug 1578217 - remove the sync 'yellow state' telemetry. r=tcsc
Differential Revision: https://phabricator.services.mozilla.com/D45765

--HG--
extra : moz-landing-system : lando
2019-09-19 00:34:04 +00:00
Edouard Oger
926c5d067c Bug 1570569 p1 - Add Sync Disabled state to Synced Tabs menu. r=vbudhram,fluent-reviewers,flod,markh
Differential Revision: https://phabricator.services.mozilla.com/D44484

--HG--
extra : moz-landing-system : lando
2019-09-11 01:17:46 +00:00
Mark Hammond
0203cd1dd5 Bug 1574048 - Remove FxAccounts internal/external/Object.freeze()/ weirdness. r=lina,rfkelly
Differential Revision: https://phabricator.services.mozilla.com/D44083

--HG--
extra : moz-landing-system : lando
2019-09-12 02:08:50 +00:00
Mark Hammond
e074186422 Bug 1575921 - store the FxA device ID in an FxA-specific pref branch. r=eoger
Differential Revision: https://phabricator.services.mozilla.com/D43897

--HG--
extra : moz-landing-system : lando
2019-09-11 01:37:50 +00:00
Bogdan Tara
0f5e9e5206 Backed out changeset 93d2d4bbe263 (bug 1575921) for xpcshell failures on test_device.js CLOSED TREE 2019-09-10 04:42:15 +03:00
Mark Hammond
15535c9309 Bug 1575921 - store the FxA device ID in an FxA-specific pref branch. r=eoger
Differential Revision: https://phabricator.services.mozilla.com/D43897

--HG--
extra : moz-landing-system : lando
2019-09-10 00:09:52 +00:00
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
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
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
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
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
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
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
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
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
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
Lina Cambridge
ef1ac8b64d Bug 1540894 - Store diverging structure in the bookmarks mirror. r=tcsc
This commit:

* Uses chunking to insert child GUIDs in `storeRemoteFolder`.
* Changes the mirror schema to store diverging structure, so that it
  can be passed to Dogear.
* Sorts remote items by GUID, so that diverging ones can be reparented
  in a deterministic order.
* Measures and logs the time taken to run the Rust merger.
* Adds tests for multiple parents and replacing invalid remote items.
* Fixes two tests in `test_bookmark_structure_changes` to ensure the
  remote structure is consistent.

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

--HG--
extra : moz-landing-system : lando
2019-04-05 20:44:43 +00:00
Oana Pop Rus
226e6c59d9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-03-28 12:23:56 +02:00