| OLD | NEW | 
| (Empty) |  | 
 |   1 <html> | 
 |   2 <link rel="stylesheet" type="text/css" href="extensions_toolstrip.css"> | 
 |   3 <script> | 
 |   4 var dump = function(obj, indent) { | 
 |   5   if (indent === undefined) | 
 |   6     indent = ""; | 
 |   7   if (typeof obj == "object") { | 
 |   8     var ret = "{<br/>"; | 
 |   9     var child_indent = indent + "  "; | 
 |  10     for (var item in obj) { | 
 |  11       var child = null; | 
 |  12       try { | 
 |  13         child = obj[item]; | 
 |  14       } catch (e) { | 
 |  15         child = '<error>'; | 
 |  16       } | 
 |  17       ret += child_indent + item + ": " + dump(child, indent + "  "); | 
 |  18     } | 
 |  19     return ret + indent + "}" + "<br/>"; | 
 |  20   } else { | 
 |  21     return obj.toString() + "<br/>"; | 
 |  22   } | 
 |  23 } | 
 |  24  | 
 |  25 var testMoveBookmarks = function(event) { | 
 |  26   testMoveBookmarks2(event); | 
 |  27 } | 
 |  28  | 
 |  29 var testMoveBookmarks2 = function(event) { | 
 |  30   console.log(testMoveBookmarks2.caller.name); | 
 |  31   if (event.shiftKey) { | 
 |  32     // TODO - it would be nice to have a mechanism to do this built-in to a | 
 |  33     // context menu. | 
 |  34     window.location.reload(); | 
 |  35     return; | 
 |  36   } | 
 |  37   console.log("testMoveBookmarks2"); | 
 |  38   chromium.bookmarks.get([], function(root) { | 
 |  39     console.log("1"); | 
 |  40     chromium.bookmarks.get(root[0].childrenIds, function(root_children) { | 
 |  41       var bookmark_bar = root_children[0];  // bookmarks bar is always first | 
 |  42       chromium.bookmarks.get(bookmark_bar.childrenIds, | 
 |  43                                  function(bar_children) { | 
 |  44         var folder_search = []; | 
 |  45         bar_children.forEach(function(child) { | 
 |  46           if (child.title == "folder" && child.url == undefined) { | 
 |  47             folder_search.push(child); | 
 |  48           } | 
 |  49         }); | 
 |  50         if (folder_search.length == 1) { | 
 |  51           console.log('moving children out of "folder"'); | 
 |  52           var folder = folder_search[0]; | 
 |  53           folder.childrenIds.forEach(function(folder_child_id) { | 
 |  54             chromium.bookmarks.move({'id': folder_child_id, | 
 |  55                                      'parentId': bookmark_bar.id}); | 
 |  56           }); | 
 |  57           chromium.bookmarks.remove({'id': folder.id}); | 
 |  58         } else if (folder_search.length == 0) { | 
 |  59           console.log('creating "folder" and moving children into it'); | 
 |  60           chromium.bookmarks.create({'parentId': bookmark_bar.id,  | 
 |  61                                      'title': 'folder'}, | 
 |  62                                       function(folder) { | 
 |  63             chromium.bookmarks.search("oog", function(oog_search) { | 
 |  64               oog_search.forEach(function(oog_match) { | 
 |  65                 chromium.bookmarks.move({'id': oog_match.id, | 
 |  66                                          'parentId': folder.id}) | 
 |  67               }); | 
 |  68             }); | 
 |  69           }); | 
 |  70         } else { | 
 |  71           console.log("my puny code wasn't written to handle this"); | 
 |  72         } | 
 |  73       }); | 
 |  74     }); | 
 |  75   }); | 
 |  76 }; | 
 |  77  | 
 |  78 var dumpBookmarks = function(event) { | 
 |  79   window.open("bookmark_view.html"); | 
 |  80 }; | 
 |  81 </script> | 
 |  82 <body> | 
 |  83 <div class="toolstrip-button" onclick="dumpBookmarks(window.event);"> | 
 |  84 <span>Dump Bookmarks</span> | 
 |  85 </div> | 
 |  86 <div class="toolstrip-button" onclick="testMoveBookmarks(window.event);"> | 
 |  87 <span>Test Move</span> | 
 |  88 </div> | 
 |  89 </body> | 
 |  90 </html> | 
| OLD | NEW |