Commit Graph

3485 Commits

Author SHA1 Message Date
David Rajchenbach-Teller
2508d8532a Bug 1086549 - Converting Sync tests from removePage to History.remove. Patch by Yoric, updated by Standard8. r=markh
MozReview-Commit-ID: 3dZljFrvJUA

--HG--
extra : rebase_source : 355265e0dbdc169df308ba15212997373f781ea3
2014-10-24 14:57:02 +02:00
Kris Maglione
1d0cefff4a Bug 1345345: Fix preference observers reporting changes to arbitrary sub-branches. r=rhelmer
MozReview-Commit-ID: CrGHoTiw4kz

--HG--
extra : rebase_source : b0259975f6f857eb3155e4fcc2b5cc889201384d
2017-03-07 20:10:42 -08:00
Edouard Oger
fe217294a0 Bug 1346136 - Add more leeway in backoff testing. r=markh
MozReview-Commit-ID: 4M86B9BVbq9

--HG--
extra : rebase_source : 726bf645306864410f18bac78c3484e347e9ff7d
2017-03-10 15:39:41 -05:00
Edouard Oger
036a984325 Bug 745410 - Remove microsummary support from Sync. r=kitcambridge
MozReview-Commit-ID: BdBgxHeHndj

--HG--
extra : rebase_source : 1049da5ecc1a61ef6a042f67ab37b619118eb45a
2017-03-10 15:03:07 -05:00
Wes Kocher
0cca2c83d5 Backed out changeset 9c8eac7852f6 (bug 745410) for build failures a=backout
MozReview-Commit-ID: JY6fS63iCwJ
2017-03-10 13:19:34 -08:00
Edouard Oger
5e9bd0d28b Bug 745410 - Remove microsummary support from Sync. r=kitcambridge
MozReview-Commit-ID: BdBgxHeHndj

--HG--
extra : rebase_source : 184b254f3299209f98cfc50f6630050a2ca29ab1
2017-03-10 15:03:07 -05:00
Thom Chiovoloni
577f26289e Bug 676563 - Add dateAdded field to synced bookmarks r=markh,rnewman
MozReview-Commit-ID: 5dxoTGrypqm

--HG--
extra : rebase_source : 94af07afc4c0ae2faccc33247fa8f2df91683cce
2017-01-17 14:45:08 -05:00
BharatR123
4e41b48a97 Bug 1332557 - Enable sync success logs by default on Nightly. r=markh
MozReview-Commit-ID: 3c0iIF1ZLr0

--HG--
extra : rebase_source : f074f570dcf2da93ccd73bf4dea3d3a8597d3b54
2017-03-10 15:33:58 +05:30
Wes Kocher
65140a44e3 Merge inbound to central, a=merge CLOSED TREE
MozReview-Commit-ID: Gj4s6DtqKmw
2017-03-09 16:33:31 -08:00
Edouard Oger
682b54d712 Bug 1339861 - Mark Sync clients as stale if not in the FxA device list. r=markh
MozReview-Commit-ID: 84Tl3QTHInO

--HG--
extra : rebase_source : c05a5462be71b9eb0bc1bddc6a6a74f1b13088b7
2017-02-28 16:35:01 -05:00
BharatR123
56b41b115e Bug 1345009 - remove _migratePrefs() function and related test and references in xpcshell.ini r=markh
MozReview-Commit-ID: CbXXPLNXUet

--HG--
extra : rebase_source : 81ace434bc1ecdff3a84b9c8a978343d052ad1ea
2017-03-07 14:41:46 +05:30
Kit Cambridge
35e400d22b Bug 1345005 - Ensure validation prefs are set for all tests that run a full sync. r=tcsc
Some of our tests call `Svc.Prefs.resetBranch("")` or
`Service.startOver()`, which resets the validation prefs to their
default values. This patch makes it a bit more explicit which tests
perform a full sync, and should run validation.

MozReview-Commit-ID: 7a0wR8nuJeW

--HG--
extra : rebase_source : 18ff025671c9dd5e2e30d441940f5c2fb804cae3
2017-03-06 11:29:19 -08:00
Florian Quèze
cd762cc83c Bug 1344711 - script-generated patch to remove try blocks around get*Pref calls, r=jaws.
--HG--
extra : rebase_source : c6e20e6e79b0ca5de751c52712d96cbea9432d26
2017-03-07 15:29:48 +01:00
Carsten "Tomcat" Book
11a63f44ea merge autoland to mozilla-central a=merge 2017-03-07 15:04:48 +01:00
ffxbld
cce942762c Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release
MozReview-Commit-ID: GEyM0F1O4hP
2017-03-06 23:53:55 +01:00
Carsten "Tomcat" Book
1bc7720a43 Backed out changeset 0bd17b868a31 (bug 1335877) for causing regression bug 1344760 2017-03-06 17:03:11 +01:00
Edouard Oger
69b317e280 Bug 1321119 - Allow to Sync more tabs and reduce tabs history to 5. r=markh
MozReview-Commit-ID: 7kRg4XQeT4C

--HG--
extra : rebase_source : 7558c92cc3fefe1ade2359008df9102f5ba72322
2017-03-01 13:47:20 -05:00
Zibi Braniecki
4b7b3d4092 Bug 1335877 - Remove resource://services-common/stringbundle.js. r=rnewman
MozReview-Commit-ID: M7V6JS5myy

--HG--
extra : rebase_source : a47d739d3dd67ce563088aaf9fab5421de376cd7
2017-03-02 15:26:53 -08:00
Mark Hammond
b86ff30666 Bug 1317223 (part 7) - disable tests on ASAN due to bug 1344085. r=kitcambridge
MozReview-Commit-ID: 6L72ACMcDBq
2017-03-03 10:54:45 +11:00
Mark Hammond
5712360194 Bug 1317223 (part 6) - integration tests for the bookmark repair requestor and responder. r=tcsc
A poor start, but at least it's something.

MozReview-Commit-ID: 8us4v6Y21oM
2017-03-01 23:17:05 +11:00
Mark Hammond
9b6693b8ee Bug 1317223 (part 5) - a bookmark repair responder. r=kitcambridge
This is the "repair responder" - it handles a "repairRequest" command sent
by another client and attempts to take the list of IDs that client lists as
missing and upload whatever records are necessary such that the requesting
client would then be likely to find a complete and valid tree on the server.

MozReview-Commit-ID: 4xw19nH6EfL
2017-02-28 15:34:37 +11:00
Kit Cambridge
46e87ef366 Bug 1317223 (part 4) - formalize weak tracking in BookmarksChangeset. r=markh
MozReview-Commit-ID: C6otrtSuhZH
2017-02-06 10:19:27 -08:00
Mark Hammond
8c4e55d022 Bug 1317223 (part 3) - a bookmark repair requestor. r=markh,tcsc
The bookmark repair requestor takes the validation results and possibly
initiates a bookmark repair.

MozReview-Commit-ID: 7rRNbBx8Vo3
2017-03-02 19:21:53 +11:00
Mark Hammond
de20e8f357 Bug 1317223 (part 2) - add 'doctor' concept and move bookmark validation logic to it. r=tcsc
This patch defines the concept of a "doctor" for collections. The doctor is
responsible for running all validators and deciding whether or not to initiate
a repair request based on the validation results.

MozReview-Commit-ID: 6NLRE6L0OpA
2017-03-02 17:14:31 +11:00
Mark Hammond
fdeace22db Bug 1317223 (part 1) - a collection_repair module (without any repairers) and integration with the clients engine. r=rnewman
This creates a collection_repair module, somewhat analogous to the existing
collection_validator module. This defines the public interface to request a
new repair and respond to a remote repair request, and also includes changes
to clients.js to call this public interface.

MozReview-Commit-ID: 9JPpRrLgFoR
2017-03-02 16:14:51 +11:00
Mark Hammond
79d7981ee8 Bug 1342851 - record the last-modified time of a Sync client record. r=rnewman
MozReview-Commit-ID: 2jtCsl3sy3X

--HG--
extra : rebase_source : f0d24ca1a990abd8499f7f07eb7561840441dd1a
2017-02-27 12:44:12 +11:00
Joel Maher
5708b8f058 Bug 1345556 - add BUG_COMPONENT to services/* files. r=rfkelly, kit
MozReview-Commit-ID: 3QzgxUDL5xa
2017-03-09 05:33:31 -05:00
Zibi Braniecki
100766fec4 Bug 1335877 - Remove resource://services-common/stringbundle.js from gecko. r=gandalf
MozReview-Commit-ID: FNoj7XH71E4

--HG--
extra : rebase_source : 294d3e425ca60e2aac6149998da7f39f62864ae5
2017-03-06 09:39:52 -08:00
Thom Chiovoloni
25c588b7f3 Bug 1321740 - Avoid a full sync after signing in due to fxa reauthentication. r=markh
MozReview-Commit-ID: 8wVq1RYojUS

--HG--
extra : rebase_source : d0ba2c635d1de121476e8f8a1f9d570d7f4dc48a
2017-02-21 16:18:43 -05:00
Edouard Oger
baba07044d Bug 1317667 - Use dates further in the future in test_bookmark_duping. r=kitcambridge
MozReview-Commit-ID: 3R3tbbzio2I

--HG--
extra : rebase_source : f87d2261859ff7195e795e2e2ba4c5285536e6cf
2017-02-27 11:44:22 -05:00
Gijs Kruitbosch
b0f2da2a20 Bug 1341097 - part 3: don't dispatch oodles of titlechanged notifications for new history entries, r=mak
MozReview-Commit-ID: 7jHOcCQ5ZBb

--HG--
extra : rebase_source : 6dff335e78857e7c860ebe7ec6ea415fe0f9e3f6
2017-02-27 18:26:21 +00:00
Kit Cambridge
ffd9158f97 Bug 1335752 - Disable persistence and clean up after RotaryEngine in tests. r=markh
MozReview-Commit-ID: 8feE9O6Dv3W

--HG--
extra : rebase_source : c01eed08e72fd4ff654b3afed0472cb5185aec4e
2017-02-13 13:48:08 -08:00
Kit Cambridge
a0eae5b8e4 Bug 1335752 - Remove all observers when finalizing the tracker. r=markh
MozReview-Commit-ID: CKc19VAO9WW

--HG--
extra : rebase_source : 804897e8a18e740483fa96e980ee63a76fa2616a
2017-02-13 13:16:30 -08:00
Thom Chiovoloni
c396116b69 Bug 1337993 - Ensure we mark all current bookmarks for reupload when bookmark engine enabled state changes. r=kitcambridge
MozReview-Commit-ID: 4gOmqrzUr77

--HG--
extra : rebase_source : ee645449c2bb08cc13a6b9040a0bbdd506d5c0a3
2017-02-13 14:28:06 -05:00
Edouard Oger
54ace62c98 Bug 1244622 - Add "Show More/All" (tabs) buttons in the Synced Tabs menu. r=markh
MozReview-Commit-ID: 7z9fTVCDGgF

--HG--
extra : rebase_source : 99afed681759d8f65605f6c11a8b0c72e8012888
2017-02-06 16:31:31 -05:00
Thom Chiovoloni
7586d15716 Bug 1336186 - Check separator position in sync bookmark validator. r=markh
This reverts bug 1276152.

MozReview-Commit-ID: Cdv4XPYl4cp

--HG--
extra : rebase_source : 985e68e3908ed2abe080e7d0d9ae0c1ce338f5fe
2017-02-15 16:30:59 -05:00
Carsten "Tomcat" Book
9857d2af8e merge mozilla-inbound to mozilla-central a=merge 2017-02-20 14:05:25 +01:00
Mark Hammond
7b4704dcc1 Bug 1319972 - write a session ID to sync logs. r=tcsc
MozReview-Commit-ID: GY8tvMVJ0p1

--HG--
extra : rebase_source : 757c31ada9c14633076fc0d4bfac59234913f1b6
2017-02-17 15:38:11 +11:00
Mark Hammond
cd73a70071 Bug 1340357 - remove all special eslint rules in services/. r=eoger
MozReview-Commit-ID: 6zMOBoWLOhJ

--HG--
extra : rebase_source : cf546abd9a52230746c0c05f7bb716cae42815bf
2017-02-17 12:34:45 +11:00
Edouard Oger
1f7391754c Bug 1337244 - Delete previous device registration when setting-up a new FxA user. r=markh
MozReview-Commit-ID: wp4OJ1nwKH

--HG--
extra : rebase_source : 31cc6e6c40c9f0b0e6efa76032a5ae5c75281306
2017-02-14 20:07:36 +01:00
Carsten "Tomcat" Book
b218b4c6ae merge mozilla-inbound to mozilla-central a=merge 2017-02-16 13:15:55 +01:00
Mayank Srivastav
dcffae55e6 Bug 1337188 - Remove unused return statement from EngineManager::register. r=kit
--HG--
extra : rebase_source : a8eea63dc3b2c208ed8ffc3ac6d0ae36e8ec8489
2017-02-15 00:42:10 +05:30
Ethan Glasser-Camp
b228d5b47d Bug 1321570 - use dependency injection for fxAccounts, r=kmag
Get rid of the ugly hack where test code monkeypatches a singleton to
convince the rest of the ExtensionStorageSync code that a fake user is
logged in. Instead, take a handle to the fxAccounts service at
construction time. Test code can provide any kind of fxAccounts it
wants, including one that has a hard-coded user.

This provokes a bunch of changes:

- ExtensionStorageSync is now no longer a singleton, but a class. You
  have to instantiate it in order to do anything with it. A global
  instance extensionStorageSync is provided for use by Sync code as
  well as WebExtension code.

- CryptoCollection is now also a class, and each ExtensionStorageSync
  instance has its own CryptoCollection. This dependency should maybe
  also be injected, but for the time being it doesn't provide us any
  value to do so.

- Converting singletons with asynchronous methods to classes is a pain
  in the neck. We convert async method foo from `foo:
  Task.async(....)` to `async foo() { .... }`. While we're here,
  convert KeyRingEncryptionRemoteTransformer#decode to async/await to
  eliminate a need for `let self = this`.

- Update Sync code and WebExtension code to use extensionStorageSync.

- There's a cyclic dependency where CryptoCollection#sync depends on
  ExtensionStorageSync#_syncCollection which depends on
  CryptoCollection#getKeyRing. As a short-term hack, we now require an
  ExtensionStorageSync argument to CryptoCollection#sync.

- KeyRingEncryptionRemoteTransformer now takes a handle to fxAccounts
  on construction time as well. Because this is the only
  EncryptionRemoteTransformer subclass that accesses fxAccounts, we
  can get rid of the hack where the tests monkeypatch something in the
  EncryptionRemoteTransformer prototype.

- CollectionKeyEncryptionRemoteTransformer now takes a handle to a
  CryptoCollection, rather than relying on a global one.

- A bunch of methods that previously assumed access to fxAccounts now
  check if fxAccounts is present (i.e. if we're on Android). Strictly
  speaking, this isn't required by this change, but it helps make
  certain kinds of failure a little easier to diagnose.

- Update tests, including extracting a domain-specific helper method
  to hide the use of CollectionKeyEncryptionRemoteTransformer. We now
  no longer monkeypatch in our mock fxaService, but pass it to the
  test so that it can do whatever it wants with it. We also provide an
  ExtensionStorageSync instance for convenience. Access to the global
  cryptoCollection is now done through an ExtensionStorageSync
  instance.

To summarize, we've gone from a situation where a bunch of singletons
had implicit dependencies on other singletons in a shared global
namespace, to a situation where dependencies are provided explicitly
using method/constructor arguments. This highlights some of the
dependencies present:

- ExtensionStorageSync depends on CryptoCollection and fxAccounts if
  it needs to sync

- Every collection created via openCollection needs a handle to
  CryptoCollection so it can correctly create its remote transformers

- CryptoCollection needs a handle to fxAccounts so it can create its
  own remote transformer for its special collection

Most of this is only possible, or at least much easier, because we no
longer try to juggle Sqlite connections but just keep one around
forever.

However, please note:

- CryptoCollection needs a handle to ExtensionStorageSync to actually
  perform syncing logic because that's where we foolishly put the
  logic to make requests

- There's still a backing Sqlite store which is shared by everything

- There's still a singleton tracking contexts that opened extensions
  which we manage to try to clean contexts up correctly

MozReview-Commit-ID: DGIzyRTdYZ1

--HG--
extra : rebase_source : 305a98b8e1ece3ae7a5e8a2fdb5c58d8e7c496d9
2017-01-10 16:44:01 -05:00
Ethan Glasser-Camp
4f7afb05a6 Bug 1321570 - Move ExtensionStorageSync crypto out of services/sync, r=kmag
Since services/sync doesn't ship on Android, this meant
conditionally-defining some variables such as `cryptoCollection` and
`CollectionKeyEncryptionRemoteTransformer` depending on whether or not
we were on Android. However, none of these definitions really rely on
functionality that isn't present on Android (although you can't really
use them yet either). Move the dependency together with the dependant
code so we can simplify a bit. This lets us remove conditional uses of
`cryptoCollection` and `CollectionKeyEncryptionRemoteTransformer`.

Because the WebExtensions source directory has more stringent eslint
rules, we end up reformatting and commenting a bit in addition to
moving.

MozReview-Commit-ID: 2ddDeymYFNi

--HG--
rename : services/sync/tests/unit/test_extension_storage_crypto.js => toolkit/components/extensions/test/xpcshell/test_ext_storage_sync_crypto.js
extra : rebase_source : f84c0810b6a447f2104f96c9dc9d6139743f269c
2017-02-13 15:06:02 -05:00
Wes Kocher
3e40dccbed Backed out changeset 174570c9ca6b (bug 1321740) for browser_sanitizeDialog.js failures a=backout
MozReview-Commit-ID: 8zmWz4JBCVk
2017-02-15 15:02:59 -08:00
Thom Chiovoloni
f38291dc93 Bug 1321740 - Avoid a full sync after signing in due to fxa reauthentication. r=markh
MozReview-Commit-ID: 8wVq1RYojUS

--HG--
extra : rebase_source : 1ed0c32fa992c7248b096bdd05e9c255930f3746
2017-02-08 16:35:00 -05:00
Phil Ringnalda
aa72959f4e Bug 1338439 followup, placate eslint 2017-02-12 20:50:46 -08:00
Mark Hammond
e23f30ffed Bug 1338439 - Sync event telemetry should use the same flowID when sending a command to multiple clients, and should include a reason for some commands. r=tcsc
MozReview-Commit-ID: 7a6qjRUswGL

--HG--
extra : rebase_source : a6112f4fb8762f3cde4a85aaa5ef4a8d11b15947
2017-02-10 16:49:33 +11:00
Kit Cambridge
e73b9cdef7 Bug 1338668 - Ignore tag query folder IDs when comparing client and server bookmark records. r=tcsc
MozReview-Commit-ID: 2Mz9fTsTou5

--HG--
extra : rebase_source : e2030c91a20356d61677a212fa57f88d680bfb90
2017-02-10 15:03:34 -08:00
Ethan Glasser-Camp
3a3e213b7d Bug 1333810: Hash record IDs during encryption, r=kmag,rnewman
This does a sha256 of record IDs, the same way we do for collection
IDs, during encryption.

The way we compute the new ID (using an overridden method) is a little
bit of a hack, but we use the new ID as part of the HMAC. This also
invalidates a previous assumption, which is that we kept record IDs
the same during decryption.

MozReview-Commit-ID: Gbzlo9OE1he

--HG--
extra : rebase_source : 3a303cce50e60ecf0cd709da4ebef5ff98bff314
extra : intermediate-source : 033163eeac84466553d4f9636093c3b824d7cf2b
extra : source : c5c115baff4a729b064e74e87821f7ee3b9d3edb
2017-01-31 13:09:38 -05:00