Граф коммитов

2336 Коммитов

Автор SHA1 Сообщение Дата
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
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
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
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
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
Ethan Glasser-Camp e9fb891837 Bug 1333810: Encrypt record deletes, r=kmag,rnewman
Camouflage deletes as updates, according to the rules given by the new
RemoteTransformer contract.

MozReview-Commit-ID: CwVJSs2jOil

--HG--
extra : rebase_source : 88f8e1b4db0b6b7aea4ae5dcfc67af906cb01009
2017-01-27 19:27:10 -05:00
Edouard Oger 5aba6580c8 Bug 1332556 - Set correct passwords' timestamps on first Sync. r=markh
MozReview-Commit-ID: Izg9sIeGNJo

--HG--
extra : rebase_source : 079f73e0e09bf9969989bb72d82736291dbe83dc
2017-02-07 12:56:56 -05:00
Ahsan 39fbeac36e Bug 1336282 - Moved bookmark frecency query into `PlacesSyncUtils`. r=kitcambridge
MozReview-Commit-ID: 4DDXOUQ2C8N

--HG--
extra : rebase_source : b4d1785e126b87672fc064dee329a791977b1372
2017-02-09 12:28:26 -08:00
Kit Cambridge 1e92ba873d Bug 1323867 - Bump bookmark validation threshold to 1k. r=tcsc
This patch also refactors `compareServerWithClient` and
`inspectServerRecords` to periodically yield back to the main thread,
since validating a large number of bookmarks in a tight loop causes
jank. Yielding every 50 records for 50ms is somewhat arbitrary, but
keeps things snappy for my profile (2947 records).

MozReview-Commit-ID: 99DJtNvNeHI

--HG--
extra : rebase_source : cc0991106c17ce906b8779afbe9eced0e27cc4b4
2017-01-12 14:02:45 -07:00
Kit Cambridge 912d625cf7 Bug 1325523 - Persist tracked IDs on finalization, and don't persist IDs in Sync tests. r=markh
MozReview-Commit-ID: CpQP2aM1DO

--HG--
extra : rebase_source : 02fa555cc44bd9d94a6c3beedf00fa1746f0c637
2017-02-07 11:51:06 -08:00
Mark Hammond f02fca824e Bug 1310065 - use more reliable preferences for calculating the client count in the sync scheduler. r=eoger
This patch switches to using preferences written by the clients engine to
determine the number of clients so it's correct before the first sync for
a browser session.

It also fixes another bug I discovered - if a mobile device dropped from the
client list, the preference for the number of mobile devices would remain at
1 rather than resetting to zero.

MozReview-Commit-ID: IPythSQcorx

--HG--
extra : rebase_source : 4ce465e3958d037f90312553a0c353cdc161c0fe
2017-01-25 18:11:05 +11:00
Edouard Oger f7e895d911 Bug 1329850 - Sync records creation failures are reported to telemetry. r=markh
MozReview-Commit-ID: AEOlmkmyIvY

--HG--
extra : rebase_source : 71c2a627bd0291fa2b9448710e6b0eb1fae36719
2017-01-24 17:05:12 -05:00
Sebastian Hengst 573326d526 Backed out changeset 20863de3b8f4 (bug 1329850) for eslint failure: redeclaration of collection in deeper scope in test_syncengine_sync.js. r=backout 2017-01-31 18:46:39 +01:00
Edouard Oger ecdeb55693 Bug 1329850 - Sync records creation failures are reported to telemetry. r=markh
MozReview-Commit-ID: AEOlmkmyIvY

--HG--
extra : rebase_source : bce1d12bf1fdb7867ac0f290fdfe4e6b5d761bcc
2017-01-24 17:05:12 -05:00
Mark Banner 8cf0d4744c Bug 1333044 - Enable no-undef eslint rule for services/. r=markh
MozReview-Commit-ID: IrtWclENDth

--HG--
extra : rebase_source : 72df6ddc457431ae77f953a00712462e4902b5f1
2017-01-23 15:15:05 +00:00
Edouard Oger 1d38375171 Bug 1296767 part 13 - Repair Weave Service getStorageInfo. r=markh
MozReview-Commit-ID: E4S5xYTNDIH
2017-01-27 13:31:58 -05:00
Edouard Oger ad36606986 Bug 1296767 part 11 - Remove Weave.Service.serverURL and friends. r=markh
MozReview-Commit-ID: Kmsxn10sA2X
2017-01-27 13:31:58 -05:00
Edouard Oger 7314dabc8c Bug 1296767 part 10 - Remove FxA Migration code. r=markh
MozReview-Commit-ID: DamrbblcMmZ
2017-01-27 13:31:58 -05:00
Edouard Oger f5eb6dc494 Bug 1296767 part 7 - Remove non-in-content legacy Sync pref screens. r=markh
MozReview-Commit-ID: LK9akz4chd1
2017-01-27 13:31:57 -05:00
Edouard Oger ea99e4442d Bug 1296767 part 6 - Remove startOverKeepIdentity pref. r=markh
MozReview-Commit-ID: 7YDYTCRiKZa
2017-01-27 13:30:48 -05:00
Edouard Oger bf4dae4e25 Bug 1296767 part 3 - Make BrowserID the only Sync identity manager. r=markh
MozReview-Commit-ID: IC7kRjgtPp8
2017-01-27 13:30:47 -05:00
Edouard Oger c94655827a Bug 1296767 part 2 - Remove Sync UserApi. r=markh
MozReview-Commit-ID: CdgLxCN52Os
2017-01-27 13:30:47 -05:00
Edouard Oger bb525e4654 Bug 1296767 part 1 - Remove J-PAKE from Sync. r=markh
MozReview-Commit-ID: iD4OJv436i
2017-01-27 13:30:47 -05:00
Wes Kocher c3cc3b6407 Backed out 13 changesets (bug 1296767) for xpcshell failures a=backout CLOSED TREE
Backed out changeset 41ed77788333 (bug 1296767)
Backed out changeset 1c0c9289b532 (bug 1296767)
Backed out changeset 50294db1d871 (bug 1296767)
Backed out changeset 26c065f79c54 (bug 1296767)
Backed out changeset 0362a78d6978 (bug 1296767)
Backed out changeset 4e71cf94e4ee (bug 1296767)
Backed out changeset f6f59447d22a (bug 1296767)
Backed out changeset 6c9b792cc296 (bug 1296767)
Backed out changeset 46a52b10a868 (bug 1296767)
Backed out changeset 5d70d87d2a8f (bug 1296767)
Backed out changeset 8219686be6a2 (bug 1296767)
Backed out changeset 0a989b0cea67 (bug 1296767)
Backed out changeset 9f59a0b75c1f (bug 1296767)

MozReview-Commit-ID: 2XBNsd8JrZL

--HG--
extra : amend_source : 1afafaa8127fcebac31ce1d7743dc16872fa0522
2017-01-26 11:16:12 -08:00
Edouard Oger 1595b78c75 Bug 1296767 part 13 - Repair Weave Service getStorageInfo. r=markh
MozReview-Commit-ID: E4S5xYTNDIH

--HG--
extra : rebase_source : 6a98b9503183bbf679622b00073d162fd3e4f5e4
2017-01-23 15:19:04 -05:00
Edouard Oger f49ecb465d Bug 1296767 part 11 - Remove Weave.Service.serverURL and friends. r=markh
MozReview-Commit-ID: Kmsxn10sA2X

--HG--
extra : rebase_source : 87bebd2abc19a6b62647d4bcb48193765a3622e2
2017-01-19 13:19:33 -05:00
Edouard Oger 775061c90e Bug 1296767 part 10 - Remove FxA Migration code. r=markh
MozReview-Commit-ID: DamrbblcMmZ

--HG--
extra : rebase_source : 7356a6a99005ae702e90eb5d5e2f0cbee35ff861
2017-01-19 13:03:38 -05:00
Edouard Oger b41402ea7b Bug 1296767 part 7 - Remove non-in-content legacy Sync pref screens. r=markh
MozReview-Commit-ID: LK9akz4chd1

--HG--
extra : rebase_source : b7113c37a486f88ae1138c54e314bb0ff07ef1af
2017-01-18 17:39:11 -05:00
Edouard Oger 17b83cde16 Bug 1296767 part 6 - Remove startOverKeepIdentity pref. r=markh
MozReview-Commit-ID: 7YDYTCRiKZa

--HG--
extra : rebase_source : 41574e70bd92ee2abe6f92a799c57e1f5910f8b4
2017-01-18 16:30:38 -05:00
Edouard Oger 49552f7919 Bug 1296767 part 3 - Make BrowserID the only Sync identity manager. r=markh
MozReview-Commit-ID: IC7kRjgtPp8

--HG--
extra : rebase_source : ec10c24400afa4b1c1fd3840f31a9d57d498ec8a
2017-01-13 15:02:21 -05:00
Edouard Oger eb0c42bf7a Bug 1296767 part 2 - Remove Sync UserApi. r=markh
MozReview-Commit-ID: CdgLxCN52Os

--HG--
extra : rebase_source : c270d7dfbaf621c1eb8f440009b361212969a8bc
2017-01-13 15:54:46 -05:00
Edouard Oger 0c915a6f46 Bug 1296767 part 1 - Remove J-PAKE from Sync. r=markh
MozReview-Commit-ID: iD4OJv436i

--HG--
extra : rebase_source : 1653284a3b2e014719a7eb37588f99df868e2060
2017-01-10 13:47:24 -05:00
Kit Cambridge 009412ee92 Bug 1332024 - Finalize tracker storage and consolidate cleanup logic in engine tests. r=markh
MozReview-Commit-ID: 8t9bXFrLA1Z

--HG--
extra : rebase_source : 51e15f6cc8fd44947f42cc59be413df6775291b0
2017-01-24 09:59:09 -08:00
Edouard Oger 8561ffa3a2 Bug 1319433 - Bump tabs engine TTL to 21 days. r=markh
MozReview-Commit-ID: GdEZkQEdZMD

--HG--
extra : rebase_source : 949e172445996b71271788d11cf136bef95254f8
2017-01-23 11:05:41 -05:00
Carsten "Tomcat" Book a6178c3af9 Backed out changeset 9c6b98edac72 (bug 1333044)
--HG--
extra : rebase_source : e81a05f7fa7ffca19ced3e0aca62ada7bde935b2
2017-01-25 15:29:33 +01:00
Mark Banner eb102a103e Bug 1333044 - Enable no-undef eslint rule for services/. r=markh
MozReview-Commit-ID: IrtWclENDth

--HG--
extra : rebase_source : 19e5895756579ecf88d5be70e8aaaf8c3166ada1
2017-01-23 15:15:05 +00:00