| Index: chrome/test/data/extensions/bookmarks/bookmark_view.html
 | 
| diff --git a/chrome/test/data/extensions/bookmarks/bookmark_view.html b/chrome/test/data/extensions/bookmarks/bookmark_view.html
 | 
| deleted file mode 100644
 | 
| index 5b9b064a48a4c18331ad117985651d0e9705826b..0000000000000000000000000000000000000000
 | 
| --- a/chrome/test/data/extensions/bookmarks/bookmark_view.html
 | 
| +++ /dev/null
 | 
| @@ -1,143 +0,0 @@
 | 
| -<!DOCTYPE HTML>
 | 
| -<title>Bookmark View</title>
 | 
| -<style>
 | 
| -
 | 
| -.bookmark {
 | 
| -  margin-left: 5px;
 | 
| -  padding: 2px;
 | 
| -}
 | 
| -
 | 
| -.bookmark_title {
 | 
| -  display: inline;
 | 
| -  border: 1px solid white;
 | 
| -  padding: 0px 3px;
 | 
| -}
 | 
| -
 | 
| -.bookmark_title:hover {
 | 
| -  background-color: silver;
 | 
| -  border: 1px solid black;
 | 
| -}
 | 
| -
 | 
| -.event-log {
 | 
| -  font-family: monospace;
 | 
| -}
 | 
| -
 | 
| -</style>
 | 
| -<script>
 | 
| -// XXX Hack: When you call window.open('chrome-extension://...'), the window is
 | 
| -// first navigated to about:blank, and then to the final URL. This confuses the
 | 
| -// code that sets up our v8 extensions, and we don't end up with them running.
 | 
| -//
 | 
| -// If we noticed this happened, reload ourselves, which should fix it.
 | 
| -if (!chromium.bookmarks)
 | 
| -  location.reload();
 | 
| -
 | 
| -var logEvent = function(name, data) {
 | 
| -  var log = document.getElementById("event-log");
 | 
| -  log.innerHTML = name + "<br>" + log.innerHTML;
 | 
| -  console.log("got event: " + name);
 | 
| -}
 | 
| -
 | 
| -chromium.bookmarks.onBookmarkAdded.addListener(function(data) {
 | 
| -  logEvent("onBookmarkAdded", data);
 | 
| -});
 | 
| -
 | 
| -chromium.bookmarks.onBookmarkRemoved.addListener(function(data) {
 | 
| -  logEvent("onBookmarkRemoved", data);
 | 
| -});
 | 
| -
 | 
| -chromium.bookmarks.onBookmarkChanged.addListener(function(data) {
 | 
| -  logEvent("onBookmarkChanged", data);
 | 
| -});
 | 
| -
 | 
| -chromium.bookmarks.onBookmarkMoved.addListener(function(data) {
 | 
| -  logEvent("onBookmarkMoved", data);
 | 
| -});
 | 
| -
 | 
| -chromium.bookmarks.onBookmarkChildrenReordered.addListener(function(data) {
 | 
| -  logEvent("onBookmarkChildrenReordered", data);
 | 
| -});
 | 
| -
 | 
| -var prefix = "bookmark_";
 | 
| -
 | 
| -var toggleBookmark = function(event) {
 | 
| -  event.stopPropagation();
 | 
| -  var node = event.currentTarget;
 | 
| -  var id_str = node.id;
 | 
| -  if (id_str < prefix.length)
 | 
| -    return;
 | 
| -  var id = parseInt(id_str.substring(prefix.length));
 | 
| -  if (id == NaN)
 | 
| -    return;
 | 
| -  console.log("toggle: " + id);
 | 
| -  //console.dir(event);
 | 
| -  chromium.bookmarks.get([id], function(bookmark) {
 | 
| -    //console.log("toggle get");
 | 
| -    console.dir(bookmark[0]);
 | 
| -    if (bookmark[0].childrenIds && bookmark[0].childrenIds.length) {
 | 
| -      if (node.childNodes.length != 1) {
 | 
| -        //console.log("toggle collapse");
 | 
| -        node.removeChild(node.childNodes[1]);
 | 
| -      } else {
 | 
| -        //console.log("before");
 | 
| -        chromium.bookmarks.get(bookmark[0].childrenIds, function(children) {
 | 
| -          //console.log("toggle expand");
 | 
| -          if (children && children.length) {
 | 
| -            console.dir(children);
 | 
| -            addBookmarks(children, node);
 | 
| -          }
 | 
| -        });
 | 
| -      }
 | 
| -    }
 | 
| -  });
 | 
| -};
 | 
| -
 | 
| -var addBookmark = function(bookmark, parent) {
 | 
| -  //console.log("addBookmark " + bookmark.id);
 | 
| -  var child = document.createElement('li');
 | 
| -  child.className = 'bookmark';
 | 
| -  child.id = prefix + bookmark.id;
 | 
| -  child.addEventListener('click', toggleBookmark, false);
 | 
| -  if (bookmark.url && bookmark.url.length) {
 | 
| -    var link = document.createElement('a');
 | 
| -    link.href = bookmark.url;
 | 
| -    link.innerHTML = bookmark.title;
 | 
| -    link.className = 'bookmark_title';
 | 
| -    child.appendChild(link);
 | 
| -  } else {
 | 
| -    var title = document.createElement('div');
 | 
| -    title.innerHTML = bookmark.title;
 | 
| -    title.className = 'bookmark_title';
 | 
| -    child.appendChild(title);
 | 
| -  }
 | 
| -  parent.appendChild(child);
 | 
| -};
 | 
| -
 | 
| -var addBookmarks = function(bookmarks, parent) {
 | 
| -  console.log("addBookmarks " + parent.id);
 | 
| -  var list = document.createElement("ul");
 | 
| -  parent.appendChild(list);
 | 
| -  bookmarks.forEach(function(bookmark) { addBookmark(bookmark, list); });
 | 
| -};
 | 
| -
 | 
| -var loadBookmarks = function() {
 | 
| -  var container = document.getElementById('container');
 | 
| -  chromium.bookmarks.get([], function(results) {
 | 
| -    var root = results[0];
 | 
| -    console.dir(root);
 | 
| -    var rootElement = document.createElement("div");
 | 
| -    rootElement.id = prefix + root.id;
 | 
| -    // root element is empty / invisible, just an id to be looked up
 | 
| -    container.appendChild(rootElement);
 | 
| -    chromium.bookmarks.get(root.childrenIds, function(children) {
 | 
| -      addBookmarks(children, rootElement);
 | 
| -    });
 | 
| -  });
 | 
| -};
 | 
| -
 | 
| -</script>
 | 
| -<body onload="loadBookmarks()">
 | 
| -<div id="container">
 | 
| -</div>
 | 
| -<div id="event-log"></div>
 | 
| -</body>
 | 
| 
 |