1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-18 00:15:46 +01:00

Another attempt at revision 8613b76cff40.

This commit is contained in:
Kris Maglione
2011-02-03 09:48:10 -05:00
parent e470de350c
commit d48dcd8723
16 changed files with 149 additions and 111 deletions

View File

@@ -246,9 +246,11 @@ var Overlay = Module("Overlay", {
defineModule.loadLog.push(" from: " + util.fixURI(frame.filename) + ":" + frame.lineNumber);
delete modules[module.className];
// util.dump("INIT: " + module.className);
modules[module.className] = defineModule.time(module.className, "init", module);
frob(module.className);
init(modules[module.className]);
// init(modules[module.className]);
}
catch (e) {
util.dump("Loading " + (module && module.className) + ":");
@@ -257,16 +259,45 @@ var Overlay = Module("Overlay", {
return modules[module.className];
}
for each (let module in defineModule.modules)
if (module.INIT.init)
defineModule.time(module.constructor.className, "init",
module.INIT.init, module,
modules.dactyl, modules, window);
Module.list.forEach(function (mod) {
Object.keys(mod.prototype.INIT).forEach(function (name) {
deferredInit[name] = deferredInit[name] || [];
deferredInit[name].push(function () {
// util.dump("INIT: " + mod.className + ":" + name);
defineModule.time(mod.className, name,
name, mod.prototype.INIT,
modules.dactyl, modules, window);
});
});
});
defineModule.modules.forEach(function (mod) {
Object.keys(mod.INIT).forEach(function (name) {
deferredInit[name] = deferredInit[name] || [];
deferredInit[name].push(function () {
// util.dump("INIT: " + mod.constructor.className + ":" + name);
defineModule.time(mod.constructor.className, name,
mod.INIT[name], mod,
modules.dactyl, modules, window);
});
});
});
defineModule.modules.map(init);
function frob(name) {
// util.dump(" ======================== FROB " + name + " ======================== ");
(deferredInit[name] || []).forEach(call);
}
Module.list.forEach(load);
deferredInit["load"].forEach(call);
frob("init");
defineModule.modules.forEach(function ({ constructor: { className } }) {
modules.__defineGetter__(className, function () {
delete modules[className];
frob(className);
return modules[className];
});
});
// Module.list.forEach(load);
frob("load");
modules.times = update({}, defineModule.times);
defineModule.loadLog.push("Loaded in " + (Date.now() - start) + "ms");