mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 15:25:52 +00:00
Bug 967204 - Restoring a JSON backup should set stored guids. r=mak
This commit is contained in:
parent
2c5e3332f6
commit
e28fa94079
@ -419,7 +419,8 @@ BookmarkImporter.prototype = {
|
||||
parentId: aContainer,
|
||||
index: aIndex,
|
||||
lastModified: aData.lastModified,
|
||||
siteURI: siteURI
|
||||
siteURI: siteURI,
|
||||
guid: aData.guid
|
||||
}).then(function (aLivemark) {
|
||||
let id = aLivemark.id;
|
||||
if (aData.dateAdded)
|
||||
@ -431,7 +432,7 @@ BookmarkImporter.prototype = {
|
||||
}
|
||||
} else {
|
||||
id = PlacesUtils.bookmarks.createFolder(
|
||||
aContainer, aData.title, aIndex);
|
||||
aContainer, aData.title, aIndex, aData.guid);
|
||||
folderIdMap[aData.id] = id;
|
||||
// Process children
|
||||
if (aData.children) {
|
||||
@ -450,7 +451,7 @@ BookmarkImporter.prototype = {
|
||||
break;
|
||||
case PlacesUtils.TYPE_X_MOZ_PLACE:
|
||||
id = PlacesUtils.bookmarks.insertBookmark(
|
||||
aContainer, NetUtil.newURI(aData.uri), aIndex, aData.title);
|
||||
aContainer, NetUtil.newURI(aData.uri), aIndex, aData.title, aData.guid);
|
||||
if (aData.keyword) {
|
||||
// POST data could be set in 2 ways:
|
||||
// 1. new backups have a postData property
|
||||
@ -509,7 +510,7 @@ BookmarkImporter.prototype = {
|
||||
}
|
||||
break;
|
||||
case PlacesUtils.TYPE_X_MOZ_PLACE_SEPARATOR:
|
||||
id = PlacesUtils.bookmarks.insertSeparator(aContainer, aIndex);
|
||||
id = PlacesUtils.bookmarks.insertSeparator(aContainer, aIndex, aData.guid);
|
||||
break;
|
||||
default:
|
||||
// Unknown node type
|
||||
|
@ -21,7 +21,7 @@ add_task(function* () {
|
||||
root: "unfiledBookmarksFolder",
|
||||
children: [
|
||||
{
|
||||
guid: "guid1",
|
||||
guid: "___guid1____",
|
||||
index: 0,
|
||||
id: 3,
|
||||
charset: "UTF-8",
|
||||
@ -32,7 +32,7 @@ add_task(function* () {
|
||||
uri: "http://test0.com/"
|
||||
},
|
||||
{
|
||||
guid: "guid2",
|
||||
guid: "___guid2____",
|
||||
index: 1,
|
||||
id: 4,
|
||||
charset: "UTF-8",
|
||||
@ -43,7 +43,7 @@ add_task(function* () {
|
||||
uri: "http://test1.com/"
|
||||
},
|
||||
{
|
||||
guid: "guid3",
|
||||
guid: "___guid3____",
|
||||
index: 2,
|
||||
id: 5,
|
||||
charset: "UTF-8",
|
||||
|
File diff suppressed because one or more lines are too long
@ -14,35 +14,44 @@ const DESCRIPTION_ANNO = "bookmarkProperties/description";
|
||||
// An object representing the contents of bookmarks.json.
|
||||
var test_bookmarks = {
|
||||
menu: [
|
||||
{ title: "Mozilla Firefox",
|
||||
{ guid: "OCyeUO5uu9FF",
|
||||
title: "Mozilla Firefox",
|
||||
children: [
|
||||
{ title: "Help and Tutorials",
|
||||
{ guid:"OCyeUO5uu9FG",
|
||||
title: "Help and Tutorials",
|
||||
url: "http://en-us.www.mozilla.com/en-US/firefox/help/",
|
||||
icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg=="
|
||||
},
|
||||
{ title: "Customize Firefox",
|
||||
{ guid:"OCyeUO5uu9FH",
|
||||
title: "Customize Firefox",
|
||||
url: "http://en-us.www.mozilla.com/en-US/firefox/customize/",
|
||||
icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg=="
|
||||
},
|
||||
{ title: "Get Involved",
|
||||
{ guid:"OCyeUO5uu9FI",
|
||||
title: "Get Involved",
|
||||
url: "http://en-us.www.mozilla.com/en-US/firefox/community/",
|
||||
icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg=="
|
||||
},
|
||||
{ title: "About Us",
|
||||
{ guid:"OCyeUO5uu9FJ",
|
||||
title: "About Us",
|
||||
url: "http://en-us.www.mozilla.com/en-US/about/",
|
||||
icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg=="
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
guid: "OCyeUO5uu9FK",
|
||||
type: Ci.nsINavHistoryResultNode.RESULT_TYPE_SEPARATOR
|
||||
},
|
||||
{ title: "test",
|
||||
{
|
||||
guid:"OCyeUO5uu9FL",
|
||||
title: "test",
|
||||
description: "folder test comment",
|
||||
dateAdded: 1177541020000000,
|
||||
//lastModified: 1177541050000000,
|
||||
children: [
|
||||
{ title: "test post keyword",
|
||||
{ guid:"OCyeUO5uu9GX",
|
||||
title: "test post keyword",
|
||||
description: "item description",
|
||||
dateAdded: 1177375336000000,
|
||||
//lastModified: 1177375423000000,
|
||||
@ -55,17 +64,20 @@ var test_bookmarks = {
|
||||
}
|
||||
],
|
||||
toolbar: [
|
||||
{ title: "Getting Started",
|
||||
{ guid: "OCyeUO5uu9FB",
|
||||
title: "Getting Started",
|
||||
url: "http://en-us.www.mozilla.com/en-US/firefox/central/",
|
||||
icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg=="
|
||||
},
|
||||
{ title: "Latest Headlines",
|
||||
{ guid:"OCyeUO5uu9FR",
|
||||
title: "Latest Headlines",
|
||||
url: "http://en-us.fxfeeds.mozilla.com/en-US/firefox/livebookmarks/",
|
||||
feedUrl: "http://en-us.fxfeeds.mozilla.com/en-US/firefox/headlines.xml"
|
||||
}
|
||||
],
|
||||
unfiled: [
|
||||
{ title: "Example.tld",
|
||||
{ guid: "OCyeUO5uu9FW",
|
||||
title: "Example.tld",
|
||||
url: "http://example.tld/"
|
||||
}
|
||||
]
|
||||
@ -187,6 +199,10 @@ function* checkItem(aExpected, aNode) {
|
||||
Assert.equal(entry.keyword, aExpected.keyword);
|
||||
break;
|
||||
}
|
||||
case "guid":
|
||||
let guid = yield PlacesUtils.promiseItemGuid(id);
|
||||
do_check_eq(guid, aExpected.guid);
|
||||
break;
|
||||
case "sidebar":
|
||||
do_check_eq(PlacesUtils.annotations.itemHasAnnotation(
|
||||
id, LOAD_IN_SIDEBAR_ANNO), aExpected.sidebar);
|
||||
|
Loading…
Reference in New Issue
Block a user