420246fb29bc2f6502c149056a6e08524e67d61b: Bug 1291821 - Add onBatchComplete to a FetchRecordsDelegate r=rnewman draft
Grisha Kruglov <gkruglov@mozilla.com> - Tue, 11 Oct 2016 19:29:02 -0700 - rev 440610
Push 36274 by gkruglov@mozilla.com at Thu, 17 Nov 2016 22:31:17 +0000
Bug 1291821 - Add onBatchComplete to a FetchRecordsDelegate r=rnewman Intended to signal that a group of records have been fetched, and more are to come after a pause. MozReview-Commit-ID: 8ozZTc6aNdA
d6dbaef8418a7ddf7453df5efdb499082d53c3c0: Bug 1291821 - Rename RepositorySession's delegate to storeDelegate, for clarity r=rnewman draft
Grisha Kruglov <gkruglov@mozilla.com> - Sat, 08 Oct 2016 17:03:38 -0700 - rev 440609
Push 36274 by gkruglov@mozilla.com at Thu, 17 Nov 2016 22:31:17 +0000
Bug 1291821 - Rename RepositorySession's delegate to storeDelegate, for clarity r=rnewman Otherwise we often end up with delegate meaning both fetch delegate and store delegate in extending classes, which gets a little confusing. MozReview-Commit-ID: L4Sd79jLr88
89397ebc4b8835edf10cf47694489b36a0ab3d55: Bug 1291821 - Switch stage duration interval counting to use elapsedRealtime r=rnewman draft
Grisha Kruglov <gkruglov@mozilla.com> - Sat, 08 Oct 2016 15:28:14 -0700 - rev 440608
Push 36274 by gkruglov@mozilla.com at Thu, 17 Nov 2016 22:31:17 +0000
Bug 1291821 - Switch stage duration interval counting to use elapsedRealtime r=rnewman It is a better fit for interval counting. MozReview-Commit-ID: LCF0U24MAwF
5227533200f8517bc584c174556b41ea3c64219d: Bug 1291821 - Buffering repository middleware r=rnewman draft
Grisha Kruglov <gkruglov@mozilla.com> - Wed, 02 Nov 2016 16:50:13 -0700 - rev 440607
Push 36274 by gkruglov@mozilla.com at Thu, 17 Nov 2016 22:31:17 +0000
Bug 1291821 - Buffering repository middleware r=rnewman MozReview-Commit-ID: CBCiD6nNKsM
a824bf56878d87c55c843835af9806f85d203f32: Bug 1291821 - Add storeIncomplete to RepositorySession interface r=rnewman draft
Grisha Kruglov <gkruglov@mozilla.com> - Wed, 02 Nov 2016 16:40:15 -0700 - rev 440606
Push 36274 by gkruglov@mozilla.com at Thu, 17 Nov 2016 22:31:17 +0000
Bug 1291821 - Add storeIncomplete to RepositorySession interface r=rnewman MozReview-Commit-ID: 68ty7KlP5NR
2b154b2d0a229b968c3437aadd282d4687b719e8: Bug 1291821 - Pre: remove unused SerialRecordConsumer r=rnewman draft
Grisha Kruglov <gkruglov@mozilla.com> - Sat, 08 Oct 2016 14:49:46 -0700 - rev 440605
Push 36274 by gkruglov@mozilla.com at Thu, 17 Nov 2016 22:31:17 +0000
Bug 1291821 - Pre: remove unused SerialRecordConsumer r=rnewman MozReview-Commit-ID: 3fiHVErUA1g
609ab0c92044619b46e0ca053960e294651bc3a4: Bug 1258127 - Add migration logic for old synced bookmarks. r?rnewman,markh draft
Kit Cambridge <kit@yakshaving.ninja> - Thu, 17 Nov 2016 08:45:56 -0800 - rev 440604
Push 36273 by bmo:kcambridge@mozilla.com at Thu, 17 Nov 2016 22:30:58 +0000
Bug 1258127 - Add migration logic for old synced bookmarks. r?rnewman,markh Writing an integration test for this is going to be tricky, but I'll explain the basic idea here, and add some tests later. For a non-Sync user upgrading to Firefox 53, we take the following steps: 1. During Places database migration, we set syncStatus = UNKNOWN and syncChangeCounter = 1 for all bookmarks. We also set a Boolean pref indicating that Sync should migrate the existing tracker contents. 2. Once Firefox starts up, we wait for 10 seconds before initializing Sync. After that, we explicitly force initialization if the tracker migration pref is set. Since we load the entire service, this incurs a one-time memory increase for the first restart after upgrading, even if Sync is disabled. 3. During initialization, we check to see if Sync is disabled or not configured. If so, we notify engines to drop migration state via the `migration:reset` notification. This also takes care of case (c): if the user isn't signed in to Sync now, but decides to try it after upgrading, we *don't* want our migration logic to kick in. 4. The bookmarks tracker receives the notification, and clears the migration pref. All bookmarks remain in syncStatus = UNKNOWN and syncChangeCounter = 1. For an existing Sync user upgrading to 53, steps 1-2 are the same. Then: 3. For existing users, we see that Sync is configured, so we fire the `migration:start` notification. 4. The bookmarks tracker receives the notification, and checks to see if the engine is enabled. If not, go to step 8. 5. Otherwise, bookmark syncing is enabled, so we read the contents of the old tracker. 6. We set syncStatus = NORMAL and syncChangeCounter = 0 for all syncable bookmarks. As the comment in `migrateTrackerContents` points out, this is lossy: we can miss changes between startup and the first post-migration sync. We'll also lose changes if the user upgrades to 53, makes a change, quits (before the change is synced), then downgrades to 52. We could make it so that we only reset the status and counter for UNKNOWN bookmarks, but that's not right, either, because NEW and NORMAL bookmarks might be modified and synced in 52. The existing tracker is already lossy, so this behavior isn't much worse. But it is unfortunate. 7. For all existing items in the old tracker, either write tombstones or bump the change counter, depending on whether the bookmark exists. There's a slight chance an existing tombstone might be for a non-syncable item, but the old tracker doesn't have enough information to determine that. We assume it's syncable and write one. 8. Clear the migration pref. At this point, all migrated bookmarks are in syncStatus = NORMAL and syncChangeCounter = 0, if the bookmarks engine is enabled. This approach should work for downgrades, too. Downgrading decrements the schema version, so we'll run the Places migration code and set the pref again on the next upgrade. Finally, we also fire `migration:reset` if the user signs out of Sync, or signs in for the first time, just in case. We don't want our migration code running here. I tried to make this minimally invasive, and work with the existing Sync modules. Another approach is to add a separate migrator module, that doesn't depend on Sync initializing. But it does mean we need to gate Sync initialization on that module, which seems more complicated. I imagine we'll be able to re-use this approach for other migrations, if we decide to track sync changes for history, passwords, and add-ons in Places, Password Manager, and Add-on Manager. MozReview-Commit-ID: Gye30bYZejy
2c704a8e3dfc98dc88895ee806176f39ffbc1808: Bug 1258127 - Move bookmark deletion logic into `PlacesSyncUtils.bookmarks.remove`. r=tcsc draft
Kit Cambridge <kit@yakshaving.ninja> - Tue, 08 Nov 2016 15:28:55 -0800 - rev 440603
Push 36273 by bmo:kcambridge@mozilla.com at Thu, 17 Nov 2016 22:30:58 +0000
Bug 1258127 - Move bookmark deletion logic into `PlacesSyncUtils.bookmarks.remove`. r=tcsc This patch moves most of `BookmarksStore::deletePending` and `BookmarksStore::_shouldReviveRemotelyDeletedRecord` into `PlacesSyncUtils.bookmarks.remove` and `touch`, respectively. Both methods use the same approach as `PlacesSyncUtils.bookmarks.dedupe` to amend the `_modified` changeset with new change records. We use the new `SYNC_REPARENT_REMOVED_FOLDER_CHILDREN` change source to bump the change counters for the reparented items and their new parents, without bumping the score and triggering extra syncs. MozReview-Commit-ID: 1SZvygWNkgL
87325f5ecbb72d82c3ef1a329d2cebc3a6a04ee2: Bug 1258127 - Move bookmark de-duping logic into `PlacesSyncUtils.bookmarks.dedupe`. r=markh draft
Kit Cambridge <kit@yakshaving.ninja> - Mon, 14 Nov 2016 13:55:12 -0800 - rev 440602
Push 36273 by bmo:kcambridge@mozilla.com at Thu, 17 Nov 2016 22:30:58 +0000
Bug 1258127 - Move bookmark de-duping logic into `PlacesSyncUtils.bookmarks.dedupe`. r=markh This patch moves the logic from `BookmarksEngine::_switchItemToDupe` into `PlacesSyncUtils.bookmarks.dedupe`, and updates it to work with the new tracker. `dedupe` returns an object containing new change records, which the bookmarks engine merges into the initial changeset from `PlacesSyncUtils.bookmarks.pullChanges`. This patch also removes `changeItemID` and `PlacesSyncUtils.bookmarks.changeGuid`, since `dedupe` subsumes them. MozReview-Commit-ID: Iw3YRxWuZnK
af4463fa52a036e2113e6b47f404db81be4326d7: Bug 1258127 - Update the bookmarks engine to pull changes from Places. r=markh draft
Kit Cambridge <kcambridge@mozilla.com> - Mon, 14 Nov 2016 20:28:19 -0800 - rev 440601
Push 36273 by bmo:kcambridge@mozilla.com at Thu, 17 Nov 2016 22:30:58 +0000
Bug 1258127 - Update the bookmarks engine to pull changes from Places. r=markh MozReview-Commit-ID: 4YESuxP2rRf
ea8932af97ae01a8956c1a76b6eb65c531941345: Bug 1258127 - Add `PlacesSyncUtils` methods for pulling bookmark changes from Places. r=mak,markh r?rnewman draft
Kit Cambridge <kcambridge@mozilla.com> - Mon, 14 Nov 2016 19:58:47 -0800 - rev 440600
Push 36273 by bmo:kcambridge@mozilla.com at Thu, 17 Nov 2016 22:30:58 +0000
Bug 1258127 - Add `PlacesSyncUtils` methods for pulling bookmark changes from Places. r=mak,markh r?rnewman MozReview-Commit-ID: JsCRwnmgw09
c851a772a2d762e98307fdf70c1f89f349c04873: Bug 1258127 - Update `nsNavBookmarksService` (C++) to track sync changes. r=mak,rnewman draft
Kit Cambridge <kit@yakshaving.ninja> - Thu, 17 Nov 2016 08:06:32 -0800 - rev 440599
Push 36273 by bmo:kcambridge@mozilla.com at Thu, 17 Nov 2016 22:30:58 +0000
Bug 1258127 - Update `nsNavBookmarksService` (C++) to track sync changes. r=mak,rnewman MozReview-Commit-ID: AV6Uyr2eMtA
2687ce0459bfc6af4cbc6c634898de3e8feb7b7b: Bug 1258127 - Update `Bookmarks.jsm` (JS) to track sync changes. r=mak,rnewman draft
Kit Cambridge <kit@yakshaving.ninja> - Mon, 14 Nov 2016 16:52:33 -0800 - rev 440598
Push 36273 by bmo:kcambridge@mozilla.com at Thu, 17 Nov 2016 22:30:58 +0000
Bug 1258127 - Update `Bookmarks.jsm` (JS) to track sync changes. r=mak,rnewman MozReview-Commit-ID: ItXlDKIUyYs
7ef18195d0c3a35b5c478e7ad1bed91c4f438e79: Bug 1258127 - Update the Places schema to track bookmark sync changes. r=mak,rnewman draft
Kit Cambridge <kcambridge@mozilla.com> - Mon, 14 Nov 2016 16:13:51 -0800 - rev 440597
Push 36273 by bmo:kcambridge@mozilla.com at Thu, 17 Nov 2016 22:30:58 +0000
Bug 1258127 - Update the Places schema to track bookmark sync changes. r=mak,rnewman MozReview-Commit-ID: K27JzgU4KnB
c628e7d7fd64898b0e3257dd32e8c3d44f590ae8: Bug 1318228 - Replace nsAutoPtr with UniquePtr in MediaDrmCDMProxy - r?cpearce draft
Gerald Squelart <gsquelart@mozilla.com> - Thu, 17 Nov 2016 21:11:04 +1100 - rev 440596
Push 36272 by gsquelart@mozilla.com at Thu, 17 Nov 2016 22:04:14 +0000
Bug 1318228 - Replace nsAutoPtr with UniquePtr in MediaDrmCDMProxy - r?cpearce MozReview-Commit-ID: 71BGVx1G7JH
0c827d8b0a3a8eb45105d03fadb9d2d71145ece9: Bug 1318228 - Replace nsAutoPtr with UniquePtr in GMPCDMProxy - r?cpearce draft
Gerald Squelart <gsquelart@mozilla.com> - Thu, 17 Nov 2016 18:40:28 +1100 - rev 440595
Push 36272 by gsquelart@mozilla.com at Thu, 17 Nov 2016 22:04:14 +0000
Bug 1318228 - Replace nsAutoPtr with UniquePtr in GMPCDMProxy - r?cpearce MozReview-Commit-ID: Hy4rag5UbsZ
7a2ef5f4d6490c4a04631156946196425cd2d633: Bug 1318089: Follow-up: Re-add a lazy getter trigger that looked like a no-op. r?rhelmer draft
Kris Maglione <maglione.k@gmail.com> - Thu, 17 Nov 2016 13:39:56 -0800 - rev 440594
Push 36271 by maglione.k@gmail.com at Thu, 17 Nov 2016 21:40:49 +0000
Bug 1318089: Follow-up: Re-add a lazy getter trigger that looked like a no-op. r?rhelmer MozReview-Commit-ID: 65HmvAzTNal
87ee1e0caaf5b9533b1278399e8938f19e1eef81: Bug 1318228 - Replace nsAutoPtr with UniquePtr in MediaDrmCDMProxy - r?cpearce draft
Gerald Squelart <gsquelart@mozilla.com> - Thu, 17 Nov 2016 21:11:04 +1100 - rev 440593
Push 36270 by gsquelart@mozilla.com at Thu, 17 Nov 2016 21:01:27 +0000
Bug 1318228 - Replace nsAutoPtr with UniquePtr in MediaDrmCDMProxy - r?cpearce MozReview-Commit-ID: 71BGVx1G7JH
06c70d4f65e63fab871df9d4b468c1f009b7e612: Bug 1318228 - Replace nsAutoPtr with UniquePtr in GMPCMDProxy - r?cpearce draft
Gerald Squelart <gsquelart@mozilla.com> - Thu, 17 Nov 2016 18:40:28 +1100 - rev 440592
Push 36270 by gsquelart@mozilla.com at Thu, 17 Nov 2016 21:01:27 +0000
Bug 1318228 - Replace nsAutoPtr with UniquePtr in GMPCMDProxy - r?cpearce MozReview-Commit-ID: Hy4rag5UbsZ
2a5b0ecbd55457f3190f86c62eec985355987cc1: Bug 1318228 - NewRunnable defaults to StoreCopyPassByConstLRef - r?froydnj draft
Gerald Squelart <gsquelart@mozilla.com> - Thu, 17 Nov 2016 17:07:02 +1100 - rev 440591
Push 36270 by gsquelart@mozilla.com at Thu, 17 Nov 2016 21:01:27 +0000
Bug 1318228 - NewRunnable defaults to StoreCopyPassByConstLRef - r?froydnj MozReview-Commit-ID: LmQHthMLUd3
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip