Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / resources / bookmark_manager / js / main.js
index f9cb6ea..f6f2eb3 100644 (file)
@@ -149,24 +149,24 @@ function updateHash() {
 /**
  * Navigates to a bookmark ID.
  * @param {string} id The ID to navigate to.
- * @param {function()callback Function called when list view loaded or
+ * @param {function()=} opt_callback Function called when list view loaded or
  *     displayed specified folder.
  */
-function navigateTo(id, callback) {
-  updateHash(id);
-
-  if (list.parentId == id) {
-    callback();
-    return;
-  }
+function navigateTo(id, opt_callback) {
+  window.location.hash = id;
+  updateAllCommands();
 
   var metricsId = folderMetricsNameMap[id.replace(/^q=.*/, 'q=')] ||
                   folderMetricsNameMap['subfolder'];
   chrome.metricsPrivate.recordUserAction(
       'BookmarkManager_NavigateTo_' + metricsId);
 
-  addOneShotEventListener(list, 'load', callback);
-  updateParentId(id);
+  if (opt_callback) {
+    if (list.parentId == id)
+      opt_callback();
+    else
+      addOneShotEventListener(list, 'load', opt_callback);
+  }
 }
 
 /**
@@ -281,8 +281,7 @@ function setSearch(searchText) {
     id = tree.selectedItem.bookmarkId;
   }
 
-  // Navigate now and update hash immediately.
-  navigateTo(id, updateHash);
+  navigateTo(id);
 }
 
 // Handle the logo button UI.
@@ -668,22 +667,8 @@ function updateEditingCommands() {
   });
 }
 
-function rateLimit(func, ms) {
-  if (func.rateLimitId_) {
-    clearTimeout(func.rateLimitId_);
-    delete func.rateLimitId_;
-  }
-  func.rateLimitId_ = setTimeout(func, ms);
-}
-
-function handleChangeForTree() {
-  // This should be rate limited based on the keyboard repeat rate.
-  rateLimit(handleChangeForTreeHelper, 50);
-}
-
-function handleChangeForTreeHelper() {
-  updateAllCommands();
-  navigateTo(tree.selectedItem.bookmarkId, updateHash);
+function handleChangeForTree(e) {
+  navigateTo(tree.selectedItem.bookmarkId);
 }
 
 function handleOrganizeButtonClick(e) {
@@ -827,11 +812,10 @@ function openBookmarks(kind, opt_eventTarget) {
 function openItem() {
   var bookmarkNodes = getSelectedBookmarkNodes();
   // If we double clicked or pressed enter on a single folder, navigate to it.
-  if (bookmarkNodes.length == 1 && bmm.isFolder(bookmarkNodes[0])) {
-    navigateTo(bookmarkNodes[0].id, updateHash);
-  } else {
+  if (bookmarkNodes.length == 1 && bmm.isFolder(bookmarkNodes[0]))
+    navigateTo(bookmarkNodes[0].id);
+  else
     openBookmarks(LinkKind.FOREGROUND_TAB);
-  }
 }
 
 /**