Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3058)

Unified Diff: chrome/browser/resources/bookmark_manager/js/bmm/bookmark_tree.js

Issue 543863002: Typecheck chrome://bookmarks using Closure Compiler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@true_master
Patch Set: revert checker.py Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/bookmark_manager/js/bmm/bookmark_tree.js
diff --git a/chrome/browser/resources/bookmark_manager/js/bmm/bookmark_tree.js b/chrome/browser/resources/bookmark_manager/js/bmm/bookmark_tree.js
index 0a94621a4649c57fd12bba04c0ecee2cdffe37d8..131fe48527877f66c44f3de83c3818db50d6daa2 100644
--- a/chrome/browser/resources/bookmark_manager/js/bmm/bookmark_tree.js
+++ b/chrome/browser/resources/bookmark_manager/js/bmm/bookmark_tree.js
@@ -15,20 +15,27 @@ cr.define('bmm', function() {
/** @const */ var TreeItem = cr.ui.TreeItem;
var treeLookup = {};
+
+ /**
+ * This variable is fake and used only to declare exported bmm.tree name.
+ * @suppress {suspiciousCode}
Dan Beam 2014/09/23 02:46:55 same
Vitaly Pavlenko 2014/09/23 22:20:55 Done.
+ */
var tree;
// Manager for persisting the expanded state.
- var expandedManager = {
+ var expandedManager = /** @type {EventListener} */({
/**
* A map of the collapsed IDs.
* @type {Object}
*/
- map: 'bookmarkTreeState' in localStorage ?
- JSON.parse(localStorage['bookmarkTreeState']) : {},
+ map: 'bookmarkTreeState' in window.localStorage ?
+ /** @type {Object} */(JSON.parse(
+ window.localStorage['bookmarkTreeState'])
Dan Beam 2014/09/23 02:46:55 why can't we just make an alias, e.g. var local
Vitaly Pavlenko 2014/09/23 22:20:55 Done.
+ ) : {},
/**
* Set the collapsed state for an ID.
- * @param {string} The bookmark ID of the tree item that was expanded or
+ * @param {string} id The bookmark ID of the tree item that was expanded or
* collapsed.
* @param {boolean} expanded Whether the tree item was expanded.
*/
@@ -80,10 +87,10 @@ cr.define('bmm', function() {
var map = this.map;
// Save in a timeout so that we can coalesce multiple changes.
this.timer = setTimeout(function() {
- localStorage['bookmarkTreeState'] = JSON.stringify(map);
+ window.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);
@@ -131,12 +138,17 @@ cr.define('bmm', function() {
*
* @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.
+ * @param {Function=} opt_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) {
+ var index = children.filter(
+ /**
+ * @type {function (BookmarkTreeNode, number,
+ * Array.<(BookmarkTreeNode)>)}
+ */(bmm.isFolder)
+ ).map(function(item) {
Dan Beam 2014/09/23 02:46:55 use a temporary variable to keep the code pretty
Vitaly Pavlenko 2014/09/23 22:20:55 Done.
return item.id;
}).indexOf(treeItem.bookmarkNode.id);
parent.addAt(treeItem, index);
@@ -151,7 +163,7 @@ cr.define('bmm', function() {
* Creates a new bookmark list.
* @param {Object=} opt_propertyBag Optional properties.
* @constructor
- * @extends {HTMLButtonElement}
+ * @extends {cr.ui.Tree}
*/
var BookmarkTree = cr.ui.define('tree');
@@ -172,6 +184,10 @@ cr.define('bmm', function() {
treeItem.label = treeItem.bookmarkNode.title = changeInfo.title;
},
+ /**
+ * @param {string} id
+ * @param {ReorderInfo} reorderInfo
+ */
handleChildrenReordered: function(id, reorderInfo) {
var parentItem = treeLookup[id];
// The tree only contains folders.
@@ -190,6 +206,10 @@ cr.define('bmm', function() {
}
},
+ /**
+ * @param {string} id
+ * @param {MoveInfo} moveInfo
+ */
handleMoved: function(id, moveInfo) {
var treeItem = treeLookup[id];
if (treeItem) {
@@ -262,7 +282,8 @@ cr.define('bmm', function() {
hasDirectories = true;
var item = new BookmarkTreeItem(bookmarkNode);
parentTreeItem.add(item);
Dan Beam 2014/09/23 02:46:55 var children = assert(bookmarkNode.children); var
Vitaly Pavlenko 2014/09/23 22:20:55 Done.
- var anyChildren = buildTreeItems(item, bookmarkNode.children);
+ var anyChildren = buildTreeItems(item,
+ assert(bookmarkNode.children));
item.expanded = anyChildren && expandedManager.get(bookmarkNode.id);
}
}

Powered by Google App Engine
This is Rietveld 408576698