diff --git a/services/sync/modules/engines.js b/services/sync/modules/engines.js index eea82b7e28aa..758e430e413a 100644 --- a/services/sync/modules/engines.js +++ b/services/sync/modules/engines.js @@ -395,6 +395,9 @@ SyncEngine.prototype = { // case when syncing for the first time two machines that already have the // same bookmarks. In this case we change the IDs to match. _reconcile: function SyncEngine__reconcile(item) { + if (this._log.level <= Log4Moz.Level.Trace) + this._log.trace("Incoming: " + item); + // Step 1: Check for conflicts // If same as local record, do not upload this._log.trace("Reconcile step 1"); @@ -435,8 +438,6 @@ SyncEngine.prototype = { // Apply incoming records _applyIncoming: function SyncEngine__applyIncoming(item) { - if (this._log.level <= Log4Moz.Level.Trace) - this._log.trace("Incoming: " + item); try { this._tracker.ignoreAll = true; this._store.applyIncoming(item); diff --git a/services/sync/modules/engines/bookmarks.js b/services/sync/modules/engines/bookmarks.js index 1f6a0d709ca6..2e966de7413b 100644 --- a/services/sync/modules/engines/bookmarks.js +++ b/services/sync/modules/engines/bookmarks.js @@ -865,6 +865,12 @@ BookmarksTracker.prototype = { if (this._ignore(itemId)) return; + // Make sure to remove items that now have the exclude annotation + if (property == "places/excludeFromBackup") { + this.removeChangedID(GUIDForId(itemId)); + return; + } + // ignore annotations except for the ones that we sync let annos = ["bookmarkProperties/description", "bookmarkProperties/loadInSidebar", "bookmarks/staticTitle",