Browse Source

Firefox: revert previous change

Initializing the extension with AddonManager takes too long (at least for
this extension).
When starting the browser, tabs loaded before the extension could, and
because of that, blocking didn't work.
It works better, if it's initialized when the window's DOM is ready.
pull/2/head
Deathamns 10 years ago
committed by gorhill
parent
commit
37a9f4d762
  1. 30
      platform/firefox/bootstrap.js

30
platform/firefox/bootstrap.js

@ -19,7 +19,7 @@
Home: https://github.com/gorhill/uBlock
*/
/* global APP_SHUTDOWN */
/* global APP_SHUTDOWN, APP_STARTUP */
/* exported startup, shutdown, install, uninstall */
'use strict';
@ -30,13 +30,12 @@ let bgProcess;
/******************************************************************************/
function startup(data) {
let {AddonManager} = Components.utils['import'](
'resource://gre/modules/AddonManager.jsm',
null
);
function startup(data, reason) {
bgProcess = function(e) {
if (e) {
this.removeEventListener('DOMContentLoaded', bgProcess);
}
AddonManager.getAddonByID(data.id, addon => {
let hDoc = Components.classes['@mozilla.org/appshell/appShellService;1']
.getService(Components.interfaces.nsIAppShellService)
.hiddenDOMWindow.document;
@ -44,13 +43,24 @@ function startup(data) {
bgProcess = hDoc.documentElement.appendChild(
hDoc.createElementNS('http://www.w3.org/1999/xhtml', 'iframe')
);
bgProcess.setAttribute('src', 'chrome://ublock/content/background.html');
};
let bgURI = 'chrome://ublock/content/background.html';
if (reason === APP_STARTUP) {
let ww = Components.classes['@mozilla.org/embedcomp/window-watcher;1']
.getService(Components.interfaces.nsIWindowWatcher);
// send addon data synchronously to the background script
bgProcess.src = bgURI + '#' + [addon.name, addon.version];
ww.registerNotification({
observe: function(win) {
ww.unregisterNotification(this);
win.addEventListener('DOMContentLoaded', bgProcess);
}
});
}
else {
bgProcess();
}
}
/******************************************************************************/

Loading…
Cancel
Save