mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-24 09:12:28 +01:00
Fix multi-window thingy and stuff.
This commit is contained in:
@@ -634,6 +634,9 @@ var Buffer = Module("Buffer", {
|
||||
| persist.PERSIST_FLAGS_REPLACE_EXISTING_FILES;
|
||||
|
||||
let window = this.topWindow;
|
||||
if (!file.exists())
|
||||
file.create(Ci.nsIFile.NORMAL_FILE_TYPE, octal(666));
|
||||
|
||||
let downloadListener = new window.DownloadListener(window,
|
||||
services.Transfer(uri, File(file).URI, "",
|
||||
null, null, null, persist));
|
||||
|
||||
@@ -199,13 +199,6 @@ overlay.overlayWindow(Object.keys(config.overlays), function _overlay(window) ({
|
||||
this.loaded = {};
|
||||
modules.loaded = this.loaded;
|
||||
|
||||
defineModule.modules.forEach(function defModule(mod) {
|
||||
let names = Set(Object.keys(mod.INIT));
|
||||
if ("init" in mod.INIT)
|
||||
Set.add(names, "init");
|
||||
|
||||
keys(names).forEach(function (name) { self.deferInit(name, mod.INIT, mod); });
|
||||
});
|
||||
this.modules = modules;
|
||||
|
||||
this.scanModules();
|
||||
@@ -310,28 +303,38 @@ overlay.overlayWindow(Object.keys(config.overlays), function _overlay(window) ({
|
||||
|
||||
let className = mod.className || mod.constructor.className;
|
||||
|
||||
init[className] = function callee() {
|
||||
function finish() {
|
||||
this.currentDependency = className;
|
||||
defineModule.time(className, name, INIT[name], mod,
|
||||
modules.dactyl, modules, window);
|
||||
}
|
||||
if (!callee.frobbed) {
|
||||
callee.frobbed = true;
|
||||
if (modules[name] instanceof Class)
|
||||
modules[name].withSavedValues(["currentDependency"], finish);
|
||||
else
|
||||
finish.call({});
|
||||
}
|
||||
};
|
||||
if (!Set.has(init, className)) {
|
||||
init[className] = function callee() {
|
||||
function finish() {
|
||||
this.currentDependency = className;
|
||||
defineModule.time(className, name, INIT[name], mod,
|
||||
modules.dactyl, modules, window);
|
||||
}
|
||||
if (!callee.frobbed) {
|
||||
callee.frobbed = true;
|
||||
if (modules[name] instanceof Class)
|
||||
modules[name].withSavedValues(["currentDependency"], finish);
|
||||
else
|
||||
finish.call({});
|
||||
}
|
||||
};
|
||||
|
||||
INIT[name].require = function (name) { init[name](); };
|
||||
INIT[name].require = function (name) { init[name](); };
|
||||
}
|
||||
},
|
||||
|
||||
scanModules: function scanModules() {
|
||||
let self = this;
|
||||
let { Module, modules } = this.modules;
|
||||
|
||||
defineModule.modules.forEach(function defModule(mod) {
|
||||
let names = Set(Object.keys(mod.INIT));
|
||||
if ("init" in mod.INIT)
|
||||
Set.add(names, "init");
|
||||
|
||||
keys(names).forEach(function (name) { self.deferInit(name, mod.INIT, mod); });
|
||||
});
|
||||
|
||||
Module.list.forEach(function frobModule(mod) {
|
||||
if (!mod.frobbed) {
|
||||
modules.__defineGetter__(mod.className, function () {
|
||||
|
||||
@@ -18,6 +18,7 @@ defineModule("sanitizer", {
|
||||
});
|
||||
|
||||
lazyRequire("messages", ["_"]);
|
||||
lazyRequire("overlay", ["overlay"]);
|
||||
lazyRequire("storage", ["storage"]);
|
||||
lazyRequire("template", ["template"]);
|
||||
|
||||
@@ -179,60 +180,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:
|
||||
<groupbox orient="horizontal" xmlns={XUL}>
|
||||
<caption label={config.appName + /*L*/" (see :help privacy)"}/>
|
||||
<grid flex="1">
|
||||
<columns><column flex="1"/><column flex="1"/></columns>
|
||||
<rows>{
|
||||
let (items = ourItems(true))
|
||||
template.map(util.range(0, Math.ceil(items.length / 2)), function (i)
|
||||
<row xmlns={XUL}>{
|
||||
template.map(items.slice(i * 2, i * 2 + 2), function (item)
|
||||
<checkbox xmlns={XUL} label={item.description} preference={branch + item.name}/>)
|
||||
}</row>)
|
||||
}</rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
}
|
||||
}));
|
||||
}
|
||||
let (branch = Item.PREFIX + Item.BRANCH) {
|
||||
util.overlayWindow("chrome://browser/content/sanitize.xul",
|
||||
function (win) prefOverlay(branch, false, {
|
||||
append: {
|
||||
itemList: <>
|
||||
<listitem xmlns={XUL} label={/*L*/"See :help privacy for the following:"} disabled="true" style="font-style: italic; font-weight: bold;"/>
|
||||
{
|
||||
template.map(ourItems(), function ([item, desc])
|
||||
<listitem xmlns={XUL} type="checkbox"
|
||||
label={config.appName + " " + desc}
|
||||
preference={branch + item}
|
||||
onsyncfrompreference="return gSanitizePromptDialog.onReadGeneric();"/>)
|
||||
}
|
||||
</>
|
||||
},
|
||||
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:
|
||||
<groupbox orient="horizontal" xmlns={XUL}>
|
||||
<caption label={config.appName + /*L*/" (see :help privacy)"}/>
|
||||
<grid flex="1">
|
||||
<columns><column flex="1"/><column flex="1"/></columns>
|
||||
<rows>{
|
||||
let (items = ourItems(true))
|
||||
template.map(util.range(0, Math.ceil(items.length / 2)), function (i)
|
||||
<row xmlns={XUL}>{
|
||||
template.map(items.slice(i * 2, i * 2 + 2), function (item)
|
||||
<checkbox xmlns={XUL} label={item.description} preference={branch + item.name}/>)
|
||||
}</row>)
|
||||
}</rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
}
|
||||
}));
|
||||
}
|
||||
let (branch = Item.PREFIX + Item.BRANCH) {
|
||||
overlay.overlayWindow("chrome://browser/content/sanitize.xul",
|
||||
function (win) prefOverlay(branch, false, {
|
||||
append: {
|
||||
itemList: <>
|
||||
<listitem xmlns={XUL} label={/*L*/"See :help privacy for the following:"} disabled="true" style="font-style: italic; font-weight: bold;"/>
|
||||
{
|
||||
template.map(ourItems(), function ([item, desc])
|
||||
<listitem xmlns={XUL} type="checkbox"
|
||||
label={config.appName + " " + desc}
|
||||
preference={branch + item}
|
||||
onsyncfrompreference="return gSanitizePromptDialog.onReadGeneric();"/>)
|
||||
}
|
||||
</>
|
||||
},
|
||||
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,
|
||||
|
||||
Reference in New Issue
Block a user