From ab0a50979b9eb4dfa3320eff7e187e41efedf7a9 Mon Sep 17 00:00:00 2001 From: Jocelyn Turcotte Date: Fri, 8 Aug 2014 14:30:41 +0200 Subject: Update Chromium to beta version 37.0.2062.68 Change-Id: I188e3b5aff1bec75566014291b654eb19f5bc8ca Reviewed-by: Andras Becsi --- .../js/bmm/bookmark_tree.js | 307 --------------------- 1 file changed, 307 deletions(-) delete mode 100644 chromium/chrome/browser/resources/enhanced_bookmark_manager/js/bmm/bookmark_tree.js (limited to 'chromium/chrome/browser/resources/enhanced_bookmark_manager/js/bmm/bookmark_tree.js') diff --git a/chromium/chrome/browser/resources/enhanced_bookmark_manager/js/bmm/bookmark_tree.js b/chromium/chrome/browser/resources/enhanced_bookmark_manager/js/bmm/bookmark_tree.js deleted file mode 100644 index 8098b07e1f0..00000000000 --- a/chromium/chrome/browser/resources/enhanced_bookmark_manager/js/bmm/bookmark_tree.js +++ /dev/null @@ -1,307 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - - -cr.define('bmm', function() { - /** - * The id of the bookmark root. - * @type {string} - * @const - */ - var ROOT_ID = '0'; - - /** @const */ var Tree = cr.ui.Tree; - /** @const */ var TreeItem = cr.ui.TreeItem; - - var treeLookup = {}; - var tree; - - // Manager for persisting the expanded state. - var expandedManager = { - /** - * A map of the collapsed IDs. - * @type {Object} - */ - map: 'bookmarkTreeState' in localStorage ? - JSON.parse(localStorage['bookmarkTreeState']) : {}, - - /** - * Set the collapsed state for an ID. - * @param {string} The bookmark ID of the tree item that was expanded or - * collapsed. - * @param {boolean} expanded Whether the tree item was expanded. - */ - set: function(id, expanded) { - if (expanded) - delete this.map[id]; - else - this.map[id] = 1; - - this.save(); - }, - - /** - * @param {string} id The bookmark ID. - * @return {boolean} Whether the tree item should be expanded. - */ - get: function(id) { - return !(id in this.map); - }, - - /** - * Callback for the expand and collapse events from the tree. - * @param {!Event} e The collapse or expand event. - */ - handleEvent: function(e) { - this.set(e.target.bookmarkId, e.type == 'expand'); - }, - - /** - * Cleans up old bookmark IDs. - */ - cleanUp: function() { - for (var id in this.map) { - // If the id is no longer in the treeLookup the bookmark no longer - // exists. - if (!(id in treeLookup)) - delete this.map[id]; - } - this.save(); - }, - - timer: null, - - /** - * Saves the expanded state to the localStorage. - */ - save: function() { - clearTimeout(this.timer); - var map = this.map; - // Save in a timeout so that we can coalesce multiple changes. - this.timer = setTimeout(function() { - localStorage['bookmarkTreeState'] = JSON.stringify(map); - }, 100); - } - }; - - // Clean up once per session but wait until things settle down a bit. - setTimeout(expandedManager.cleanUp.bind(expandedManager), 1e4); - - /** - * Creates a new tree item for a bookmark node. - * @param {!Object} bookmarkNode The bookmark node. - * @constructor - * @extends {TreeItem} - */ - function BookmarkTreeItem(bookmarkNode) { - var ti = new TreeItem({ - label: bookmarkNode.title, - bookmarkNode: bookmarkNode, - // Bookmark toolbar and Other bookmarks are not draggable. - draggable: bookmarkNode.parentId != ROOT_ID - }); - ti.__proto__ = BookmarkTreeItem.prototype; - treeLookup[bookmarkNode.id] = ti; - return ti; - } - - BookmarkTreeItem.prototype = { - __proto__: TreeItem.prototype, - - /** - * The ID of the bookmark this tree item represents. - * @type {string} - */ - get bookmarkId() { - return this.bookmarkNode.id; - } - }; - - /** - * Asynchronousy adds a tree item at the correct index based on the bookmark - * backend. - * - * Since the bookmark tree only contains folders the index we get from certain - * callbacks is not very useful so we therefore have this async call which - * gets the children of the parent and adds the tree item at the desired - * index. - * - * This also exoands the parent so that newly added children are revealed. - * - * @param {!cr.ui.TreeItem} parent The parent tree item. - * @param {!cr.ui.TreeItem} treeItem The tree item to add. - * @param {Function=} f A function which gets called after the item has been - * added at the right index. - */ - function addTreeItem(parent, treeItem, opt_f) { - chrome.bookmarks.getChildren(parent.bookmarkNode.id, function(children) { - var index = children.filter(bmm.isFolder).map(function(item) { - return item.id; - }).indexOf(treeItem.bookmarkNode.id); - parent.addAt(treeItem, index); - parent.expanded = true; - if (opt_f) - opt_f(); - }); - } - - - /** - * Creates a new bookmark list. - * @param {Object=} opt_propertyBag Optional properties. - * @constructor - * @extends {HTMLButtonElement} - */ - var BookmarkTree = cr.ui.define('tree'); - - BookmarkTree.prototype = { - __proto__: Tree.prototype, - - decorate: function() { - Tree.prototype.decorate.call(this); - this.addEventListener('expand', expandedManager); - this.addEventListener('collapse', expandedManager); - - bmm.tree = this; - }, - - handleBookmarkChanged: function(id, changeInfo) { - var treeItem = treeLookup[id]; - if (treeItem) - treeItem.label = treeItem.bookmarkNode.title = changeInfo.title; - }, - - handleChildrenReordered: function(id, reorderInfo) { - var parentItem = treeLookup[id]; - // The tree only contains folders. - var dirIds = reorderInfo.childIds.filter(function(id) { - return id in treeLookup; - }).forEach(function(id, i) { - parentItem.addAt(treeLookup[id], i); - }); - }, - - handleCreated: function(id, bookmarkNode) { - if (bmm.isFolder(bookmarkNode)) { - var parentItem = treeLookup[bookmarkNode.parentId]; - var newItem = new BookmarkTreeItem(bookmarkNode); - addTreeItem(parentItem, newItem); - } - }, - - handleMoved: function(id, moveInfo) { - var treeItem = treeLookup[id]; - if (treeItem) { - var oldParentItem = treeLookup[moveInfo.oldParentId]; - oldParentItem.remove(treeItem); - var newParentItem = treeLookup[moveInfo.parentId]; - // The tree only shows folders so the index is not the index we want. We - // therefore get the children need to adjust the index. - addTreeItem(newParentItem, treeItem); - } - }, - - handleRemoved: function(id, removeInfo) { - var parentItem = treeLookup[removeInfo.parentId]; - var itemToRemove = treeLookup[id]; - if (parentItem && itemToRemove) - parentItem.remove(itemToRemove); - }, - - 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. - * @param {string} id The ID of the node to find. - * @return {BookmarkTreeNode} The bookmark tree node or null if not found. - */ - getBookmarkNodeById: function(id) { - var treeItem = treeLookup[id]; - if (treeItem) - return treeItem.bookmarkNode; - return null; - }, - - /** - * Returns the selected bookmark folder node as an array. - * @type {!Array} Array of bookmark nodes. - */ - get selectedFolders() { - return this.selectedItem && this.selectedItem.bookmarkNode ? - [this.selectedItem.bookmarkNode] : []; - }, - - /** - * Fetches the bookmark items and builds the tree control. - */ - reload: function() { - /** - * Recursive helper function that adds all the directories to the - * parentTreeItem. - * @param {!cr.ui.Tree|!cr.ui.TreeItem} parentTreeItem The parent tree - * element to append to. - * @param {!Array.} bookmarkNodes A list of bookmark - * nodes to be added. - * @return {boolean} Whether any directories where added. - */ - function buildTreeItems(parentTreeItem, bookmarkNodes) { - var hasDirectories = false; - for (var i = 0, bookmarkNode; bookmarkNode = bookmarkNodes[i]; i++) { - if (bmm.isFolder(bookmarkNode)) { - hasDirectories = true; - var item = new BookmarkTreeItem(bookmarkNode); - parentTreeItem.add(item); - var anyChildren = buildTreeItems(item, bookmarkNode.children); - item.expanded = anyChildren && expandedManager.get(bookmarkNode.id); - } - } - return hasDirectories; - } - - var self = this; - chrome.bookmarkManagerPrivate.getSubtree('', true, function(root) { - self.clear(); - buildTreeItems(self, root[0].children); - cr.dispatchSimpleEvent(self, 'load'); - }); - }, - - /** - * Clears the tree. - */ - clear: function() { - // Remove all fields without recreating the object since other code - // references it. - for (var id in treeLookup) { - delete treeLookup[id]; - } - this.textContent = ''; - }, - - /** @override */ - remove: function(child) { - Tree.prototype.remove.call(this, child); - if (child.bookmarkNode) - delete treeLookup[child.bookmarkNode.id]; - } - }; - - return { - BookmarkTree: BookmarkTree, - BookmarkTreeItem: BookmarkTreeItem, - treeLookup: treeLookup, - tree: tree, - ROOT_ID: ROOT_ID - }; -}); -- cgit v1.2.3