I\'ve written some code to explore my Firefox bookmarks but I only get the first level of bookmarks (i.e. I don\'t get the links in the folders).
e.g.
One obvious mistake is using toolbarFolder
as a starting point - that's only the bookmarks toolbar. If you want all bookmarks (meaning bookmarks menu, bookmarks toolbar and unsorted bookmarks) you need to change query parameters:
query.setFolders([
bookmarksService.bookmarksMenuFolder,
bookmarksService.toolbarFolder,
bookmarksService.unfiledBookmarksFolder
], 3);
The other issue is getting childCount
property on a nsINavHistoryResultNode
object - there is no such property. Before you can access properties of nsINavHistoryContainerResultNode
you need to call QueryInterface
, either explicitly or implicitly (via instanceof
). So I would write:
} else if (node.type == 6 && node instanceof Components.interfaces.nsINavHistoryContainerResultNode) {
var oldOpen = node.containerOpen;
node.containerOpen = true;
browse_bookmark_node(node, array);
node.containerOpen = oldOpen;
}