Bug 437277 - update daily backup before first bookmark sync [r=mconnor]

Share an archiveBookmarks function that wraps the PlacesUtils call to be used from storage.wipe and first sync.
This commit is contained in:
Edward Lee 2010-04-21 11:10:32 -07:00
parent b8f15b4d9c
commit be8613110f

View File

@ -55,6 +55,14 @@ Cu.import("resource://weave/stores.js");
Cu.import("resource://weave/trackers.js");
Cu.import("resource://weave/type_records/bookmark.js");
function archiveBookmarks() {
// Some nightly builds of 3.7 don't have this function
try {
PlacesUtils.archiveBookmarksFile(null, true);
}
catch(ex) {}
}
// Lazily initialize the special top level folders
let kSpecialIds = {};
[["menu", "bookmarksMenuFolder"],
@ -126,6 +134,10 @@ BookmarksEngine.prototype = {
_syncStartup: function _syncStart() {
SyncEngine.prototype._syncStartup.call(this);
// For first-syncs, make a backup for the user to restore
if (this.lastSync == 0)
archiveBookmarks();
// Lazily create a mapping of folder titles and separator positions to GUID
this.__defineGetter__("_lazyMap", function() {
delete this._lazyMap;
@ -936,10 +948,8 @@ BookmarksStore.prototype = {
},
wipe: function BStore_wipe() {
// some nightly builds of 3.7 don't have this function
try {
PlacesUtils.archiveBookmarksFile(null, true);
} catch(e) {}
// Save a backup before clearing out all bookmarks
archiveBookmarks();
for (let [guid, id] in Iterator(kSpecialIds))
if (guid != "places")