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

3458 Коммитов

Автор 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
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
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
Phil Ringnalda 3063243dfc Bug 1323867 followup, placate eslint 2017-02-07 16:20:31 -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
Sebastian Hengst 0264cdf6be Bug 1336311 - Change code comments with http://hg.mozilla.org to https://. r=gps
For components also referencing it in code, see the blockers of bug 1336311.

MozReview-Commit-ID: 4tUZ24HKBWy

--HG--
extra : rebase_source : ec16149f525b9b7eaca7f96f1369929d21497121
2017-02-07 17:52:56 +01: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 cfc8f37c1b Bug 1317667 - Use async bookmark methods in test_bookmark_duping. r=kitcambridge
MozReview-Commit-ID: CpvcDXKkfcl

--HG--
extra : rebase_source : 4d143bdf9af7727933a74a9f05c7a56baa5c321b
2017-02-03 13:52:39 -05: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
Mark Banner df3fdf012f Bug 1333044 - Fix no-shadow issues in services/. r=markh
MozReview-Commit-ID: KqYfpjdR7QS

--HG--
extra : rebase_source : b93a673073045ddfec6e4b4b347b4e8494425310
2017-01-23 14:07:55 +00:00
Mark Banner 2ecc79b536 Bug 1333044 - Prepare services/ for enabling no-undef eslint rule. r=jaws
MozReview-Commit-ID: 29KwwyZH2jn

--HG--
extra : rebase_source : c4b19fe3714b19b445011ae1c413ca0e624cb46e
2017-01-17 12:25:43 +00:00
Wes Kocher 7cd28f7e5d Merge inbound to central, a=merge
MozReview-Commit-ID: HvoljuLV6Gj
2017-01-27 16:37:18 -08: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 ffa8a4f046 Bug 1296767 part 12 - Remove Weave.fxAccountsEnabled. r=markh
MozReview-Commit-ID: L4dM9xN2ELp
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 3844e92a36 Bug 1296767 part 8 - Remove legacy Sync in-content pref screens. r=markh
MozReview-Commit-ID: Blpdd3jeeww
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 cdce850c10 Bug 1296767 part 5 - Remove add_identity_test helper. r=markh
MozReview-Commit-ID: 12pP01IHRyp
2017-01-27 13:30:48 -05:00
Edouard Oger df80e282e9 Bug 1296767 part 4 - Update tests to work with the BrowserID identity manager. r=markh
MozReview-Commit-ID: AFRyZFW6xZU
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