Одна очевидная ошибка - использование toolbarFolder
в качестве отправной точки - это только панель инструментов закладок.Если вам нужны все закладки (то есть меню закладок, панель закладок и несортированные закладки), вам нужно изменить параметры запроса:
query.setFolders([
bookmarksService.bookmarksMenuFolder,
bookmarksService.toolbarFolder,
bookmarksService.unfiledBookmarksFolder
], 3);
Другая проблема заключается в получении свойства childCount
для объекта nsINavHistoryResultNode
- естьнет такой собственности.Прежде чем вы сможете получить доступ к свойствам nsINavHistoryContainerResultNode
, вам нужно вызвать QueryInterface
, явно или неявно (через instanceof
).Поэтому я бы написал:
} 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;
}