- 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 + " (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="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();"/>)
- }
- </>
- },
- init: function (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" }]],
+ ["rows", {},
+ let (items = ourItems(true))
+ template.map(util.range(0, Math.ceil(items.length / 2)), function (i)
+ ["row", {},
+ template.map(items.slice(i * 2, i * 2 + 2), function (item)
+ ["checkbox", { xmlns: XUL, label: item.description, preference: branch + item.name }])])]]]
+ }
+ }));
+ }
+ 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", preference: branch + item,
+ type: "checkbox", label: config.appName + ", " + desc,
+ 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);
+ }
+ });
+ }
+ }));
+ }
+ });