mirror of https://github.com/gorhill/uBlock.git
Firefox: initialize buttons when DOM is ready
This commit is contained in:
parent
45137c2be9
commit
d13769b4a9
|
@ -10,7 +10,7 @@ var bgProcess;
|
||||||
function startup(data, reason) {
|
function startup(data, reason) {
|
||||||
bgProcess = function(ev) {
|
bgProcess = function(ev) {
|
||||||
if (ev) {
|
if (ev) {
|
||||||
this.removeEventListener('load', bgProcess);
|
this.removeEventListener(ev.type, bgProcess);
|
||||||
}
|
}
|
||||||
|
|
||||||
bgProcess = Services.appShell.hiddenDOMWindow.document;
|
bgProcess = Services.appShell.hiddenDOMWindow.document;
|
||||||
|
@ -22,9 +22,9 @@ function startup(data, reason) {
|
||||||
|
|
||||||
if (reason === APP_STARTUP) {
|
if (reason === APP_STARTUP) {
|
||||||
Services.ww.registerNotification({
|
Services.ww.registerNotification({
|
||||||
observe: function(subject) {
|
observe: function(win) {
|
||||||
Services.ww.unregisterNotification(this);
|
Services.ww.unregisterNotification(this);
|
||||||
subject.addEventListener('load', bgProcess);
|
win.addEventListener('DOMContentLoaded', bgProcess);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ this.EXPORTED_SYMBOLS = ['contentPolicy', 'docObserver'];
|
||||||
|
|
||||||
Components.utils['import']('resource://gre/modules/Services.jsm');
|
Components.utils['import']('resource://gre/modules/Services.jsm');
|
||||||
Components.utils['import']('resource://gre/modules/XPCOMUtils.jsm');
|
Components.utils['import']('resource://gre/modules/XPCOMUtils.jsm');
|
||||||
|
// Components.utils['import']('resource://gre/modules/devtools/Console.jsm');
|
||||||
|
|
||||||
const Ci = Components.interfaces;
|
const Ci = Components.interfaces;
|
||||||
let appName;
|
let appName;
|
||||||
|
|
|
@ -248,9 +248,9 @@ var windowWatcher = {
|
||||||
e.target.ownerDocument.defaultView
|
e.target.ownerDocument.defaultView
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
onLoad: function(e) {
|
onReady: function(e) {
|
||||||
if (e) {
|
if (e) {
|
||||||
this.removeEventListener('load', windowWatcher.onLoad);
|
this.removeEventListener(e.type, windowWatcher.onReady);
|
||||||
}
|
}
|
||||||
|
|
||||||
var docElement = this.document.documentElement;
|
var docElement = this.document.documentElement;
|
||||||
|
@ -275,7 +275,7 @@ var windowWatcher = {
|
||||||
},
|
},
|
||||||
observe: function(win, topic) {
|
observe: function(win, topic) {
|
||||||
if (topic === 'domwindowopened') {
|
if (topic === 'domwindowopened') {
|
||||||
win.addEventListener('load', this.onLoad);
|
win.addEventListener('DOMContentLoaded', this.onReady);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -318,12 +318,11 @@ vAPI.tabs.registerListeners = function() {
|
||||||
// onClosed - handled in windowWatcher.onTabClose
|
// onClosed - handled in windowWatcher.onTabClose
|
||||||
// onPopup ?
|
// onPopup ?
|
||||||
|
|
||||||
Services.ww.registerNotification(windowWatcher);
|
|
||||||
|
|
||||||
for (var win of this.getWindows()) {
|
for (var win of this.getWindows()) {
|
||||||
windowWatcher.onLoad.call(win);
|
windowWatcher.onReady.call(win);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Services.ww.registerNotification(windowWatcher);
|
||||||
vAPI.toolbarButton.init();
|
vAPI.toolbarButton.init();
|
||||||
|
|
||||||
vAPI.unload.push(function() {
|
vAPI.unload.push(function() {
|
||||||
|
@ -332,7 +331,7 @@ vAPI.tabs.registerListeners = function() {
|
||||||
for (var win of vAPI.tabs.getWindows()) {
|
for (var win of vAPI.tabs.getWindows()) {
|
||||||
vAPI.toolbarButton.remove(win.document);
|
vAPI.toolbarButton.remove(win.document);
|
||||||
|
|
||||||
win.removeEventListener('load', windowWatcher.onLoad);
|
win.removeEventListener('load', windowWatcher.onReady);
|
||||||
win.gBrowser.removeTabsProgressListener(tabsProgressListener);
|
win.gBrowser.removeTabsProgressListener(tabsProgressListener);
|
||||||
|
|
||||||
var tC = win.gBrowser.tabContainer;
|
var tC = win.gBrowser.tabContainer;
|
||||||
|
|
Loading…
Reference in New Issue