summaryrefslogtreecommitdiffstats
path: root/chrome/test/data
diff options
context:
space:
mode:
authorfeldstein@chromium.org <feldstein@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-29 00:47:07 +0000
committerfeldstein@chromium.org <feldstein@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-29 00:47:07 +0000
commit480b261a93aff4ef48d44709b87d6daa3bb4d029 (patch)
tree1007a6cb69bbfe296320c182b08c7dd89aff979e /chrome/test/data
parentcce5f9386ff9246b34b52a953815ba1059f53e24 (diff)
downloadchromium_src-480b261a93aff4ef48d44709b87d6daa3bb4d029.zip
chromium_src-480b261a93aff4ef48d44709b87d6daa3bb4d029.tar.gz
chromium_src-480b261a93aff4ef48d44709b87d6daa3bb4d029.tar.bz2
Add import/export to the JS bookmark manager
Adds the import and export commands to the bookmark manager. Also respects the importBegan/Ended events so we don't churn when an import is going on. BUG=none TEST=Do some imports and exports Review URL: http://codereview.chromium.org/556066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37472 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/data')
-rw-r--r--chrome/test/data/extensions/bookmarkmanager/js/bmm/bookmarktree.js11
-rw-r--r--chrome/test/data/extensions/bookmarkmanager/main.html27
2 files changed, 36 insertions, 2 deletions
diff --git a/chrome/test/data/extensions/bookmarkmanager/js/bmm/bookmarktree.js b/chrome/test/data/extensions/bookmarkmanager/js/bmm/bookmarktree.js
index b511796..df83b77 100644
--- a/chrome/test/data/extensions/bookmarkmanager/js/bmm/bookmarktree.js
+++ b/chrome/test/data/extensions/bookmarkmanager/js/bmm/bookmarktree.js
@@ -124,6 +124,17 @@ cr.define('bmm', function() {
}
},
+ insertSubtree:function(folder) {
+ if (!bmm.isFolder(folder))
+ return;
+ var children = folder.children;
+ this.handleCreated(folder.id, folder);
+ for(var i = 0; i < children.length; i++) {
+ var child = children[i];
+ this.insertSubtree(child);
+ }
+ },
+
/**
* Returns the bookmark node with the given ID. The tree only maintains
* folder nodes.
diff --git a/chrome/test/data/extensions/bookmarkmanager/main.html b/chrome/test/data/extensions/bookmarkmanager/main.html
index 5ab265e41..85ff294 100644
--- a/chrome/test/data/extensions/bookmarkmanager/main.html
+++ b/chrome/test/data/extensions/bookmarkmanager/main.html
@@ -409,7 +409,7 @@ function navigateTo(id) {
function updateParentId(id) {
list.parentId = id;
if (id in bmm.treeLookup)
- bmm.treeLookup[id].selected = true;
+ tree.selectedItem = bmm.treeLookup[id];
}
// We listen to hashchange so that we can update the currently shown folder when
@@ -546,6 +546,21 @@ function handleRemoved(id, removeInfo) {
bookmarkCache.remove(id);
}
+function handleImportBegan() {
+ chrome.bookmarks.onCreated.removeListener(handleCreated);
+}
+
+function handleImportEnded() {
+ chrome.bookmarks.onCreated.addListener(handleCreated);
+ chrome.bookmarks.getTree(function(node) {
+ var otherBookmarks = node[0].children[1].children;
+ var importedFolder = otherBookmarks[otherBookmarks.length - 1];
+ var importId = importedFolder.id;
+ tree.insertSubtree(importedFolder);
+ navigateTo(importId)
+ });
+}
+
/**
* Adds the listeners for the bookmark model change events.
*/
@@ -555,6 +570,10 @@ function addBookmarkModelListeners() {
chrome.bookmarks.onCreated.addListener(handleCreated);
chrome.bookmarks.onMoved.addListener(handleMoved);
chrome.bookmarks.onRemoved.addListener(handleRemoved);
+ chrome.experimental.bookmarkManager.onImportBegan.addListener(
+ handleImportBegan);
+ chrome.experimental.bookmarkManager.onImportEnded.addListener(
+ handleImportEnded);
}
/**
@@ -593,7 +612,6 @@ tree.addEventListener('load', function(e) {
tree.buildTree();
addBookmarkModelListeners();
-
</script>
<script>
@@ -1346,6 +1364,11 @@ document.addEventListener('command', function(e) {
var command = e.command;
var commandId = command.id;
console.log(command.id, 'executed', 'on', e.target);
+ if (commandId == 'import-menu-command') {
+ chrome.experimental.bookmarkManager.import();
+ } else if (command.id == 'export-menu-command') {
+ chrome.experimental.bookmarkManager.export();
+ }
});
/**