X-Git-Url: https://git.donarmstrong.com/dactyl.git?a=blobdiff_plain;f=common%2Fmodules%2Fsanitizer.jsm;h=bbe36e2e244f9c7e6d9eb964e7f9c7a85a6f9317;hb=5ebd29f56d17f62011cdd596b1d351947ee534ff;hp=efc0f2de61dca23b76a4ad8ed6ba81de5c59df51;hpb=9044153cb63835e39b9de8ec4ade237c03e3888a;p=dactyl.git diff --git a/common/modules/sanitizer.jsm b/common/modules/sanitizer.jsm index efc0f2d..bbe36e2 100644 --- a/common/modules/sanitizer.jsm +++ b/common/modules/sanitizer.jsm @@ -19,10 +19,11 @@ defineModule("sanitizer", { }, this); this.lazyRequire("messages", ["_"]); +this.lazyRequire("overlay", ["overlay"]); this.lazyRequire("storage", ["storage"]); this.lazyRequire("template", ["teplate"]); -let tmp = {}; +let tmp = Object.create(this); JSMLoader.loadSubScript("chrome://browser/content/sanitize.js", tmp); tmp.Sanitizer.prototype.__proto__ = Class.prototype; @@ -180,60 +181,63 @@ var Sanitizer = Module("sanitizer", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakRef } }); - let (branch = Item.PREFIX + Item.SHUTDOWN_BRANCH) { - util.overlayWindow("chrome://browser/content/preferences/sanitize.xul", - function (win) prefOverlay(branch, true, { - append: { - SanitizeDialogPane: - - - - - { - let (items = ourItems(true)) - template.map(util.range(0, Math.ceil(items.length / 2)), function (i) - { - template.map(items.slice(i * 2, i * 2 + 2), function (item) - ) - }) - } - - - } - })); - } - let (branch = Item.PREFIX + Item.BRANCH) { - util.overlayWindow("chrome://browser/content/sanitize.xul", - function (win) prefOverlay(branch, false, { - append: { - itemList: <> - - { - template.map(ourItems(), function ([item, desc]) - ) - } - - }, - ready: function ready(win) { - let elem = win.document.getElementById("itemList"); - elem.setAttribute("rows", elem.itemCount); - win.Sanitizer = Class("Sanitizer", win.Sanitizer, { - sanitize: function sanitize() { - self.withSavedValues(["sanitizing"], function () { - self.sanitizing = true; - sanitize.superapply(this, arguments); - sanitizer.sanitizeItems([item.name for (item in values(self.itemMap)) - if (item.shouldSanitize(false))], - Range.fromArray(this.range || [])); - }, this); - } - }); - } - })); - } + util.timeout(function () { // Load order issue... + + let (branch = Item.PREFIX + Item.SHUTDOWN_BRANCH) { + overlay.overlayWindow("chrome://browser/content/preferences/sanitize.xul", + function (win) prefOverlay(branch, true, { + append: { + SanitizeDialogPane: + + + + + { + let (items = ourItems(true)) + template.map(util.range(0, Math.ceil(items.length / 2)), function (i) + { + template.map(items.slice(i * 2, i * 2 + 2), function (item) + ) + }) + } + + + } + })); + } + let (branch = Item.PREFIX + Item.BRANCH) { + overlay.overlayWindow("chrome://browser/content/sanitize.xul", + function (win) prefOverlay(branch, false, { + append: { + itemList: <> + + { + template.map(ourItems(), function ([item, desc]) + ) + } + + }, + ready: function ready(win) { + let elem = win.document.getElementById("itemList"); + elem.setAttribute("rows", elem.itemCount); + win.Sanitizer = Class("Sanitizer", win.Sanitizer, { + sanitize: function sanitize() { + self.withSavedValues(["sanitizing"], function () { + self.sanitizing = true; + sanitize.superapply(this, arguments); + sanitizer.sanitizeItems([item.name for (item in values(self.itemMap)) + if (item.shouldSanitize(false))], + Range.fromArray(this.range || [])); + }, this); + } + }); + } + })); + } + }); }, firstRun: 0,