author | Kit Cambridge <kit@yakshaving.ninja> |
Sun, 30 Oct 2016 11:44:11 -0700 | |
changeset 320452 | 8eb889dd92716e3c75093529731c444b84d2d833 |
parent 320451 | 8dffbcbe37c9506b824a5d08a94293313e7c086c |
child 320453 | 3e7430fec98998cdc67637a7e0a2b3d0f598d8bd |
push id | 33775 |
push user | kcambridge@mozilla.com |
push date | Wed, 02 Nov 2016 09:32:46 +0000 |
treeherder | autoland@8eb889dd9271 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | markh |
bugs | 1313941 |
milestone | 52.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/toolkit/components/places/nsLivemarkService.js +++ b/toolkit/components/places/nsLivemarkService.js @@ -223,24 +223,25 @@ LivemarkService.prototype = { , index: folder.index , feedURI: aLivemarkInfo.feedURI , siteURI: aLivemarkInfo.siteURI , guid: folder.guid , dateAdded: toPRTime(folder.dateAdded) , lastModified: toPRTime(folder.lastModified) }); - livemark.writeFeedURI(aLivemarkInfo.feedURI); + livemark.writeFeedURI(aLivemarkInfo.feedURI, aLivemarkInfo.source); if (aLivemarkInfo.siteURI) { - livemark.writeSiteURI(aLivemarkInfo.siteURI); + livemark.writeSiteURI(aLivemarkInfo.siteURI, aLivemarkInfo.source); } if (aLivemarkInfo.lastModified) { yield PlacesUtils.bookmarks.update({ guid: folder.guid, - lastModified: toDate(aLivemarkInfo.lastModified) }); + lastModified: toDate(aLivemarkInfo.lastModified), + source: aLivemarkInfo.source }); livemark.lastModified = aLivemarkInfo.lastModified; } livemarksMap.set(folder.guid, livemark); return livemark; }.bind(this)); }, @@ -261,17 +262,18 @@ LivemarkService.prototype = { return Task.spawn(function* () { if (!aLivemarkInfo.guid) aLivemarkInfo.guid = yield PlacesUtils.promiseItemGuid(aLivemarkInfo.id); let livemarksMap = yield this._promiseLivemarksMap(); if (!livemarksMap.has(aLivemarkInfo.guid)) throw new Components.Exception("Invalid livemark", Cr.NS_ERROR_INVALID_ARG); - yield PlacesUtils.bookmarks.remove(aLivemarkInfo.guid); + yield PlacesUtils.bookmarks.remove(aLivemarkInfo.guid, + { source: aLivemarkInfo.source }); }.bind(this)); }, reloadLivemarks(aForceUpdate) { // Check if there's a currently running reload, to save some useless work. let notWorthRestarting = this._forceUpdate || // We're already forceUpdating. !aForceUpdate; // The caller didn't request a forced update. @@ -460,28 +462,30 @@ Livemark.prototype = { set status(val) { if (this._status != val) { this._status = val; this._invalidateRegisteredContainers(); } return this._status; }, - writeFeedURI(aFeedURI) { + writeFeedURI(aFeedURI, aSource) { PlacesUtils.annotations .setItemAnnotation(this.id, PlacesUtils.LMANNO_FEEDURI, aFeedURI.spec, - 0, PlacesUtils.annotations.EXPIRE_NEVER); + 0, PlacesUtils.annotations.EXPIRE_NEVER, + aSource); this.feedURI = aFeedURI; }, - writeSiteURI(aSiteURI) { + writeSiteURI(aSiteURI, aSource) { if (!aSiteURI) { PlacesUtils.annotations.removeItemAnnotation(this.id, - PlacesUtils.LMANNO_SITEURI) + PlacesUtils.LMANNO_SITEURI, + aSource) this.siteURI = null; return; } // Security check the site URI against the feed URI principal. let secMan = Services.scriptSecurityManager; let feedPrincipal = secMan.createCodebasePrincipal(this.feedURI, {}); try { @@ -490,17 +494,18 @@ Livemark.prototype = { } catch (ex) { return; } PlacesUtils.annotations .setItemAnnotation(this.id, PlacesUtils.LMANNO_SITEURI, aSiteURI.spec, - 0, PlacesUtils.annotations.EXPIRE_NEVER); + 0, PlacesUtils.annotations.EXPIRE_NEVER, + aSource); this.siteURI = aSiteURI; }, /** * Tries to updates the livemark if needed. * The update process is asynchronous. * * @param [optional] aForceUpdate