зеркало из https://github.com/mozilla/gecko-dev.git
324704 - query creation and execution for bookmarks menu bar is ill-timed... need to do asynchronously in delayed startup or on popup showing, rather than at startup! r=brettw
This commit is contained in:
Родитель
316e59b25d
Коммит
f4d75982b7
|
@ -860,6 +860,9 @@ function delayedStartup()
|
|||
document.getElementById("bookmarks-chevron").ref = btf;
|
||||
bt.database.AddObserver(BookmarksToolbarRDFObserver);
|
||||
}
|
||||
#else
|
||||
var bookmarksBar = document.getElementById("bookmarksBarContent");
|
||||
bookmarksBar.init();
|
||||
#endif
|
||||
window.addEventListener("resize", BookmarksToolbar.resizeFunc, false);
|
||||
#ifndef MOZ_PLACES
|
||||
|
|
|
@ -15,8 +15,30 @@
|
|||
<destructor><![CDATA[
|
||||
]]></destructor>
|
||||
|
||||
<method name="init">
|
||||
<body><![CDATA[
|
||||
var hist =
|
||||
Cc["@mozilla.org/browser/nav-history-service;1"].
|
||||
getService(Ci.nsINavHistoryService);
|
||||
|
||||
var bms =
|
||||
Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
|
||||
getService(Ci.nsINavBookmarksService);
|
||||
|
||||
var query = hist.getNewQuery();
|
||||
query.setFolders([bms.bookmarksRoot], 1);
|
||||
var options = hist.getNewQueryOptions();
|
||||
options.setGroupingMode([Ci.nsINavHistoryQueryOptions.GROUP_BY_FOLDER], 1);
|
||||
options.expandQueries = true;
|
||||
this._result = hist.executeQuery(query, options);
|
||||
this._resultNode = this._result.root;
|
||||
]]></body>
|
||||
</method>
|
||||
|
||||
<method name="onPopupShowing">
|
||||
<body><![CDATA[
|
||||
if (!this._resultNode)
|
||||
this.init();
|
||||
if (PlacesController.nodeIsContainer(this._resultNode)) {
|
||||
this._resultNode.QueryInterface(Ci.nsINavHistoryContainerResultNode);
|
||||
this._resultNode.containerOpen = true;
|
||||
|
|
|
@ -130,9 +130,9 @@ var PlacesUIHook = {
|
|||
_findWasHidden: false,
|
||||
|
||||
showPlacesUI: function PP_showPlacesUI() {
|
||||
/*
|
||||
ASSERT(PlacesController, "PlacesController does not exist anymore?!");
|
||||
|
||||
/*
|
||||
this._tabbrowser.setAttribute("places", "true");
|
||||
var statusbar = this._topElement("status-bar");
|
||||
statusbar.hidden = true;
|
||||
|
@ -156,9 +156,9 @@ var PlacesUIHook = {
|
|||
},
|
||||
|
||||
hidePlacesUI: function PP_hidePlacesUI() {
|
||||
/*
|
||||
ASSERT(PlacesController, "PlacesController does not exist anymore?!");
|
||||
|
||||
/*
|
||||
this._tabbrowser.removeAttribute("places");
|
||||
|
||||
// Approaches that cache the value of the status bar before the Places page
|
||||
|
|
|
@ -9,19 +9,6 @@
|
|||
<binding id="places-bar">
|
||||
<implementation>
|
||||
<constructor><![CDATA[
|
||||
this._places =
|
||||
Cc["@mozilla.org/browser/nav-history-service;1"].
|
||||
getService(Ci.nsINavHistoryService);
|
||||
this._bms =
|
||||
Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
|
||||
getService(Ci.nsINavBookmarksService);
|
||||
|
||||
this._bms.addObserver(this._observer, false);
|
||||
this.init();
|
||||
var t = this;
|
||||
window.addEventListener("resize",
|
||||
function f(e) { t.updateChevron(e); },
|
||||
false);
|
||||
]]></constructor>
|
||||
|
||||
<destructor><![CDATA[
|
||||
|
@ -30,13 +17,26 @@
|
|||
|
||||
<method name="init">
|
||||
<body><![CDATA[
|
||||
this._places =
|
||||
Cc["@mozilla.org/browser/nav-history-service;1"].
|
||||
getService(Ci.nsINavHistoryService);
|
||||
this._bms =
|
||||
Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
|
||||
getService(Ci.nsINavBookmarksService);
|
||||
|
||||
this._bms.addObserver(this._observer, false);
|
||||
var t = this;
|
||||
window.addEventListener("resize",
|
||||
function f(e) { t.updateChevron(e); },
|
||||
false);
|
||||
|
||||
var query = this._places.getNewQuery();
|
||||
query.setFolders([this._bms.toolbarRoot], 1);
|
||||
var options = this._places.getNewQueryOptions();
|
||||
options.setGroupingMode([Ci.nsINavHistoryQueryOptions.GROUP_BY_FOLDER], 1);
|
||||
options.expandQueries = true;
|
||||
this._result = this._places.executeQuery(query, options);
|
||||
this._result.root.containerOpen = true;
|
||||
this._result.root.containerOpen = true;
|
||||
this._rebuild();
|
||||
]]></body>
|
||||
</method>
|
||||
|
|
Загрузка…
Ссылка в новой задаче