Bug 1411121 - Part 2: Remove printdialog.xul and printjoboptions.xul. r?mconley draft
authorMantaroh Yoshinaga <mantaroh@gmail.com>
Mon, 06 Nov 2017 09:27:05 +0900
changeset 693378 56a77b81c616cb0e6f2b46140030e47180c1f0ae
parent 693377 ddc4e5c925bb49a7a453e05f27f569f63495ade4
child 693379 a591b00624192b9471a2be6f385fe8279ff69553
push id87770
push userbmo:mantaroh@gmail.com
push dateMon, 06 Nov 2017 00:27:52 +0000
reviewersmconley
bugs1411121
milestone58.0a1
Bug 1411121 - Part 2: Remove printdialog.xul and printjoboptions.xul. r?mconley This patch will remove printing xul dialog and related files since a caller of this xul dialog doesn't exist. The printjoboptions.xul is only used by printdialog.xul. MozReview-Commit-ID: B6VZuj3Lg1b
browser/base/content/test/static/browser_all_files_referenced.js
toolkit/components/printing/content/printdialog.js
toolkit/components/printing/content/printdialog.xul
toolkit/components/printing/content/printjoboptions.js
toolkit/components/printing/content/printjoboptions.xul
toolkit/components/printing/jar.mn
toolkit/locales/en-US/chrome/global/printdialog.dtd
toolkit/locales/en-US/chrome/global/printjoboptions.dtd
toolkit/locales/jar.mn
--- a/browser/base/content/test/static/browser_all_files_referenced.js
+++ b/browser/base/content/test/static/browser_all_files_referenced.js
@@ -55,20 +55,16 @@ var whitelist = [
   // The l10n build system can't package string files only for some platforms.
   // See bug 1339424 for why this is hard to fix.
   {file: "chrome://global/locale/fallbackMenubar.properties",
    platforms: ["linux", "win"]},
   {file: "chrome://global/locale/printPageSetup.dtd", platforms: ["macosx"]},
   {file: "chrome://global/locale/printPreviewProgress.dtd",
    platforms: ["macosx"]},
   {file: "chrome://global/locale/printProgress.dtd", platforms: ["macosx"]},
-  {file: "chrome://global/locale/printdialog.dtd",
-   platforms: ["macosx", "win"]},
-  {file: "chrome://global/locale/printjoboptions.dtd",
-   platforms: ["macosx", "win"]},
 
   // devtools/client/inspector/bin/dev-server.js
   {file: "chrome://devtools/content/inspector/markup/markup.xhtml",
    isFromDevTools: true},
 
   // Kept for add-on compatibility, should be removed in bug 851471.
   {file: "chrome://mozapps/skin/downloads/downloadIcon.png"},
 
deleted file mode 100644
--- a/toolkit/components/printing/content/printdialog.js
+++ /dev/null
@@ -1,408 +0,0 @@
-// -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
-
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-var dialog;
-var printService       = null;
-var gOriginalNumCopies = 1;
-
-var paramBlock;
-var gPrefs             = null;
-var gPrintSettings     = null;
-var gWebBrowserPrint   = null;
-var gPrintSetInterface = Components.interfaces.nsIPrintSettings;
-var doDebug            = false;
-
-// ---------------------------------------------------
-function initDialog() {
-  dialog = {};
-
-  dialog.propertiesButton = document.getElementById("properties");
-  dialog.descText         = document.getElementById("descText");
-
-  dialog.printrangeGroup = document.getElementById("printrangeGroup");
-  dialog.allpagesRadio   = document.getElementById("allpagesRadio");
-  dialog.rangeRadio      = document.getElementById("rangeRadio");
-  dialog.selectionRadio  = document.getElementById("selectionRadio");
-  dialog.frompageInput   = document.getElementById("frompageInput");
-  dialog.frompageLabel   = document.getElementById("frompageLabel");
-  dialog.topageInput     = document.getElementById("topageInput");
-  dialog.topageLabel     = document.getElementById("topageLabel");
-
-  dialog.numCopiesInput  = document.getElementById("numCopiesInput");
-
-  dialog.printframeGroup      = document.getElementById("printframeGroup");
-  dialog.aslaidoutRadio       = document.getElementById("aslaidoutRadio");
-  dialog.selectedframeRadio   = document.getElementById("selectedframeRadio");
-  dialog.eachframesepRadio    = document.getElementById("eachframesepRadio");
-  dialog.printframeGroupLabel = document.getElementById("printframeGroupLabel");
-
-  dialog.fileCheck       = document.getElementById("fileCheck");
-  dialog.printerLabel    = document.getElementById("printerLabel");
-  dialog.printerList     = document.getElementById("printerList");
-
-  dialog.printButton     = document.documentElement.getButton("accept");
-
-  // <data> elements
-  dialog.printName       = document.getElementById("printButton");
-  dialog.fpDialog        = document.getElementById("fpDialog");
-
-  dialog.enabled         = false;
-}
-
-// ---------------------------------------------------
-function checkInteger(element) {
-  var value = element.value;
-  if (value && value.length > 0) {
-    value = value.replace(/[^0-9]/g, "");
-    if (!value) value = "";
-    element.value = value;
-  }
-  if (!value || value < 1 || value > 999)
-    dialog.printButton.setAttribute("disabled", "true");
-  else
-    dialog.printButton.removeAttribute("disabled");
-}
-
-// ---------------------------------------------------
-function stripTrailingWhitespace(element) {
-  var value = element.value;
-  value = value.replace(/\s+$/, "");
-  element.value = value;
-}
-
-// ---------------------------------------------------
-function getPrinterDescription(printerName) {
-  return gPrefs.getCharPref("print.printer_" + printerName + ".printer_description", "");
-}
-
-// ---------------------------------------------------
-function listElement(aListElement) {
-    this.listElement = aListElement;
-  }
-
-listElement.prototype =
-  {
-    clearList() {
-          // remove the menupopup node child of the menulist.
-          var popup = this.listElement.firstChild;
-          if (popup) {
-            this.listElement.removeChild(popup);
-          }
-        },
-
-    appendPrinterNames(aDataObject) {
-          if ((null == aDataObject) || !aDataObject.hasMore()) {
-            // disable dialog
-            this.listElement.setAttribute("value", "");
-            this.listElement.setAttribute("label",
-              document.getElementById("printingBundle")
-                      .getString("noprinter"));
-
-            this.listElement.setAttribute("disabled", "true");
-            dialog.printerLabel.setAttribute("disabled", "true");
-            dialog.propertiesButton.setAttribute("disabled", "true");
-            dialog.fileCheck.setAttribute("disabled", "true");
-            dialog.printButton.setAttribute("disabled", "true");
-          } else {
-            // build popup menu from printer names
-            var list = document.getElementById("printerList");
-            do {
-              let printerNameStr = aDataObject.getNext();
-              list.appendItem(printerNameStr, printerNameStr, getPrinterDescription(printerNameStr));
-            } while (aDataObject.hasMore());
-            this.listElement.removeAttribute("disabled");
-          }
-        }
-  };
-
-// ---------------------------------------------------
-function getPrinters() {
-  var selectElement = new listElement(dialog.printerList);
-  selectElement.clearList();
-
-  var printerEnumerator;
-  try {
-    printerEnumerator =
-        Components.classes["@mozilla.org/gfx/printerenumerator;1"]
-                  .getService(Components.interfaces.nsIPrinterEnumerator)
-                  .printerNameList;
-  } catch (e) { printerEnumerator = null; }
-
-  selectElement.appendPrinterNames(printerEnumerator);
-  selectElement.listElement.value = printService.defaultPrinterName;
-
-  // make sure we load the prefs for the initially selected printer
-  setPrinterDefaultsForSelectedPrinter();
-}
-
-
-// ---------------------------------------------------
-// update gPrintSettings with the defaults for the selected printer
-function setPrinterDefaultsForSelectedPrinter() {
-  gPrintSettings.printerName = dialog.printerList.value;
-
-  dialog.descText.value = getPrinterDescription(gPrintSettings.printerName);
-
-  // First get any defaults from the printer
-  printService.initPrintSettingsFromPrinter(gPrintSettings.printerName, gPrintSettings);
-
-  // now augment them with any values from last time
-  printService.initPrintSettingsFromPrefs(gPrintSettings, true, gPrintSetInterface.kInitSaveAll);
-
-  if (doDebug) {
-    dump("setPrinterDefaultsForSelectedPrinter: printerName='" + gPrintSettings.printerName + "', paperName='" + gPrintSettings.paperName + "'\n");
-  }
-}
-
-// ---------------------------------------------------
-function displayPropertiesDialog() {
-  gPrintSettings.numCopies = dialog.numCopiesInput.value;
-  try {
-    var printingPromptService = Components.classes["@mozilla.org/embedcomp/printingprompt-service;1"]
-                                                 .getService(Components.interfaces.nsIPrintingPromptService);
-    if (printingPromptService) {
-      printingPromptService.showPrinterProperties(null, dialog.printerList.value, gPrintSettings);
-      dialog.numCopiesInput.value = gPrintSettings.numCopies;
-    }
-  } catch (e) {
-    dump("problems getting printingPromptService\n");
-  }
-}
-
-// ---------------------------------------------------
-function doPrintRange(inx) {
-  if (inx == 1) {
-    dialog.frompageInput.removeAttribute("disabled");
-    dialog.frompageLabel.removeAttribute("disabled");
-    dialog.topageInput.removeAttribute("disabled");
-    dialog.topageLabel.removeAttribute("disabled");
-  } else {
-    dialog.frompageInput.setAttribute("disabled", "true");
-    dialog.frompageLabel.setAttribute("disabled", "true");
-    dialog.topageInput.setAttribute("disabled", "true");
-    dialog.topageLabel.setAttribute("disabled", "true");
-  }
-}
-
-// ---------------------------------------------------
-function loadDialog() {
-  var print_copies        = 1;
-  var print_selection_radio_enabled = false;
-  var print_frametype     = gPrintSetInterface.kSelectedFrame;
-  var print_howToEnableUI = gPrintSetInterface.kFrameEnableNone;
-  var print_tofile        = "";
-
-  try {
-    gPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
-
-    printService = Components.classes["@mozilla.org/gfx/printsettings-service;1"];
-    if (printService) {
-      printService = printService.getService();
-      if (printService) {
-        printService = printService.QueryInterface(Components.interfaces.nsIPrintSettingsService);
-      }
-    }
-  } catch (e) {}
-
-  // Note: getPrinters sets up the PrintToFile control
-  getPrinters();
-
-  if (gPrintSettings) {
-    print_tofile        = gPrintSettings.printToFile;
-    gOriginalNumCopies  = gPrintSettings.numCopies;
-
-    print_copies        = gPrintSettings.numCopies;
-    print_frametype     = gPrintSettings.printFrameType;
-    print_howToEnableUI = gPrintSettings.howToEnableFrameUI;
-    print_selection_radio_enabled = gPrintSettings.GetPrintOptions(gPrintSetInterface.kEnableSelectionRB);
-  }
-
-  if (doDebug) {
-    dump("loadDialog*********************************************\n");
-    dump("print_tofile            " + print_tofile + "\n");
-    dump("print_frame             " + print_frametype + "\n");
-    dump("print_howToEnableUI     " + print_howToEnableUI + "\n");
-    dump("selection_radio_enabled " + print_selection_radio_enabled + "\n");
-  }
-
-  dialog.printrangeGroup.selectedItem = dialog.allpagesRadio;
-  if (print_selection_radio_enabled) {
-    dialog.selectionRadio.removeAttribute("disabled");
-  } else {
-    dialog.selectionRadio.setAttribute("disabled", "true");
-  }
-  doPrintRange(dialog.rangeRadio.selected);
-  dialog.frompageInput.value  = 1;
-  dialog.topageInput.value    = 1;
-  dialog.numCopiesInput.value = print_copies;
-
-  if (doDebug) {
-    dump("print_howToEnableUI: " + print_howToEnableUI + "\n");
-  }
-
-  // print frame
-  if (print_howToEnableUI == gPrintSetInterface.kFrameEnableAll) {
-    dialog.aslaidoutRadio.removeAttribute("disabled");
-
-    dialog.selectedframeRadio.removeAttribute("disabled");
-    dialog.eachframesepRadio.removeAttribute("disabled");
-    dialog.printframeGroupLabel.removeAttribute("disabled");
-
-    // initialize radio group
-    dialog.printframeGroup.selectedItem = dialog.selectedframeRadio;
-
-  } else if (print_howToEnableUI == gPrintSetInterface.kFrameEnableAsIsAndEach) {
-    dialog.aslaidoutRadio.removeAttribute("disabled"); // enable
-
-    dialog.selectedframeRadio.setAttribute("disabled", "true"); // disable
-    dialog.eachframesepRadio.removeAttribute("disabled"); // enable
-    dialog.printframeGroupLabel.removeAttribute("disabled"); // enable
-
-    // initialize
-    dialog.printframeGroup.selectedItem = dialog.eachframesepRadio;
-
-  } else {
-    dialog.aslaidoutRadio.setAttribute("disabled", "true");
-    dialog.selectedframeRadio.setAttribute("disabled", "true");
-    dialog.eachframesepRadio.setAttribute("disabled", "true");
-    dialog.printframeGroupLabel.setAttribute("disabled", "true");
-  }
-
-  dialog.printButton.label = dialog.printName.getAttribute("label");
-}
-
-// ---------------------------------------------------
-function onLoad() {
-  // Init dialog.
-  initDialog();
-
-  // param[0]: nsIPrintSettings object
-  // param[1]: container for return value (1 = print, 0 = cancel)
-
-  gPrintSettings   = window.arguments[0].QueryInterface(gPrintSetInterface);
-  gWebBrowserPrint = window.arguments[1].QueryInterface(Components.interfaces.nsIWebBrowserPrint);
-  paramBlock       = window.arguments[2].QueryInterface(Components.interfaces.nsIDialogParamBlock);
-
-  // default return value is "cancel"
-  paramBlock.SetInt(0, 0);
-
-  loadDialog();
-}
-
-// ---------------------------------------------------
-function onAccept() {
-  let promise;
-
-  if (gPrintSettings == null) {
-    promise = Promise.resolve();
-  } else {
-    var print_howToEnableUI = gPrintSetInterface.kFrameEnableNone;
-
-    // save these out so they can be picked up by the device spec
-    gPrintSettings.printerName = dialog.printerList.value;
-    print_howToEnableUI        = gPrintSettings.howToEnableFrameUI;
-    gPrintSettings.printToFile = dialog.fileCheck.checked;
-
-    if (gPrintSettings.printToFile) {
-      promise = chooseFile();
-    } else {
-      promise = Promise.resolve();
-    }
-
-    promise = promise.then(() => {
-      if (dialog.allpagesRadio.selected) {
-        gPrintSettings.printRange = gPrintSetInterface.kRangeAllPages;
-      } else if (dialog.rangeRadio.selected) {
-        gPrintSettings.printRange = gPrintSetInterface.kRangeSpecifiedPageRange;
-      } else if (dialog.selectionRadio.selected) {
-        gPrintSettings.printRange = gPrintSetInterface.kRangeSelection;
-      }
-      gPrintSettings.startPageRange = dialog.frompageInput.value;
-      gPrintSettings.endPageRange   = dialog.topageInput.value;
-      gPrintSettings.numCopies      = dialog.numCopiesInput.value;
-
-      var frametype = gPrintSetInterface.kNoFrames;
-      if (print_howToEnableUI != gPrintSetInterface.kFrameEnableNone) {
-        if (dialog.aslaidoutRadio.selected) {
-          frametype = gPrintSetInterface.kFramesAsIs;
-        } else if (dialog.selectedframeRadio.selected) {
-          frametype = gPrintSetInterface.kSelectedFrame;
-        } else if (dialog.eachframesepRadio.selected) {
-          frametype = gPrintSetInterface.kEachFrameSep;
-        } else {
-          frametype = gPrintSetInterface.kSelectedFrame;
-        }
-      }
-      gPrintSettings.printFrameType = frametype;
-      if (doDebug) {
-        dump("onAccept*********************************************\n");
-        dump("frametype      " + frametype + "\n");
-        dump("numCopies      " + gPrintSettings.numCopies + "\n");
-        dump("printRange     " + gPrintSettings.printRange + "\n");
-        dump("printerName    " + gPrintSettings.printerName + "\n");
-        dump("startPageRange " + gPrintSettings.startPageRange + "\n");
-        dump("endPageRange   " + gPrintSettings.endPageRange + "\n");
-        dump("printToFile    " + gPrintSettings.printToFile + "\n");
-      }
-    });
-  }
-
-  promise.then(() => {
-    var saveToPrefs = false;
-
-    saveToPrefs = gPrefs.getBoolPref("print.save_print_settings");
-
-    if (saveToPrefs && printService != null) {
-      var flags = gPrintSetInterface.kInitSavePaperSize |
-                  gPrintSetInterface.kInitSaveEdges |
-                  gPrintSetInterface.kInitSaveInColor |
-                  gPrintSetInterface.kInitSaveShrinkToFit |
-                  gPrintSetInterface.kInitSaveScaling;
-      printService.savePrintSettingsToPrefs(gPrintSettings, true, flags);
-    }
-
-    // set return value to "print"
-    if (paramBlock) {
-      paramBlock.SetInt(0, 1);
-    } else {
-      dump("*** FATAL ERROR: No paramBlock\n");
-    }
-
-    window.close();
-  });
-
-  return false;
-}
-
-// ---------------------------------------------------
-function onCancel() {
-  // set return value to "cancel"
-  if (paramBlock) {
-    paramBlock.SetInt(0, 0);
-  } else {
-    dump("*** FATAL ERROR: No paramBlock\n");
-  }
-
-  return true;
-}
-
-// ---------------------------------------------------
-const nsIFilePicker = Components.interfaces.nsIFilePicker;
-function chooseFile() {
-  return new Promise(resolve => {
-    var fp = Components.classes["@mozilla.org/filepicker;1"]
-                       .createInstance(nsIFilePicker);
-    fp.init(window, dialog.fpDialog.getAttribute("label"), nsIFilePicker.modeSave);
-    fp.appendFilters(nsIFilePicker.filterAll);
-    fp.open(rv => {
-      if (rv != Components.interfaces.nsIFilePicker.returnCancel &&
-          fp.file && fp.file.path) {
-        gPrintSettings.toFileName = fp.file.path;
-        resolve(null);
-      }
-    });
-  });
-}
deleted file mode 100644
--- a/toolkit/components/printing/content/printdialog.xul
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0"?>
-
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
-   - License, v. 2.0. If a copy of the MPL was not distributed with this
-   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
-<!DOCTYPE dialog SYSTEM "chrome://global/locale/printdialog.dtd">
-
-<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-  onload="onLoad();"
-  ondialogaccept="return onAccept();"
-  oncancel="return onCancel();"
-  buttoniconaccept="print"
-  title="&printDialog.title;"
-  persist="screenX screenY"
-  screenX="24" screenY="24">
-
-  <script type="application/javascript" src="chrome://global/content/printdialog.js"/>
-
-  <stringbundle id="printingBundle" src="chrome://global/locale/printing.properties"/>
-
-  <groupbox>
-    <caption label="&printer.label;"/>
-
-    <grid>
-      <columns>
-        <column/>
-        <column flex="1"/>
-        <column/>
-      </columns>
-
-      <rows>
-        <row align="center">
-          <hbox align="center" pack="end">
-            <label id="printerLabel"
-                   value="&printerInput.label;"
-                   accesskey="&printerInput.accesskey;"
-                   control="printerList"/>
-          </hbox>
-          <menulist id="printerList" flex="1" type="description" oncommand="setPrinterDefaultsForSelectedPrinter();"/>
-          <button id="properties"
-                  label="&propertiesButton.label;"
-                  accesskey="&propertiesButton.accesskey;"
-                  icon="properties"
-                  oncommand="displayPropertiesDialog();"/>
-        </row>
-        <row align="center">
-          <hbox align="center" pack="end">
-            <label id="descTextLabel" control="descText" value="&descText.label;"/>
-          </hbox>
-          <label id="descText"/>
-          <checkbox id="fileCheck"
-                    checked="false"
-                    label="&fileCheck.label;"
-                    accesskey="&fileCheck.accesskey;"
-                    pack="end"/>
-        </row>
-      </rows>
-    </grid>
-  </groupbox>
-
-  <hbox>
-    <groupbox flex="1">
-      <caption label="&printrangeGroup.label;"/>
-
-      <radiogroup id="printrangeGroup">
-        <radio id="allpagesRadio"
-               label="&allpagesRadio.label;"
-               accesskey="&allpagesRadio.accesskey;"
-               oncommand="doPrintRange(0)"/>
-        <hbox align="center">
-          <radio id="rangeRadio"
-                 label="&rangeRadio.label;"
-                 accesskey="&rangeRadio.accesskey;"
-                 oncommand="doPrintRange(1)"/>
-          <label id="frompageLabel"
-                 control="frompageInput"
-                 value="&frompageInput.label;"
-                 accesskey="&frompageInput.accesskey;"/>
-          <textbox id="frompageInput" style="width:5em;" onkeyup="checkInteger(this)"/>
-          <label id="topageLabel"
-                 control="topageInput"
-                 value="&topageInput.label;"
-                 accesskey="&topageInput.accesskey;"/>
-          <textbox id="topageInput" style="width:5em;" onkeyup="checkInteger(this)"/>
-        </hbox>
-        <radio id="selectionRadio"
-               label="&selectionRadio.label;"
-               accesskey="&selectionRadio.accesskey;"
-               oncommand="doPrintRange(2)"/>
-      </radiogroup>
-    </groupbox>
-
-    <groupbox flex="1">
-      <caption label="&copies.label;"/>
-      <hbox align="center">
-        <label control="numCopiesInput"
-               value="&numCopies.label;"
-               accesskey="&numCopies.accesskey;"/>
-        <textbox id="numCopiesInput" style="width:5em;" onkeyup="checkInteger(this)"/>
-      </hbox>
-    </groupbox>
-  </hbox>
-
-  <groupbox flex="1">
-    <caption label="&printframeGroup.label;" id="printframeGroupLabel"/>
-    <radiogroup id="printframeGroup">
-      <radio id="aslaidoutRadio"
-             label="&aslaidoutRadio.label;"
-             accesskey="&aslaidoutRadio.accesskey;"/>
-      <radio id="selectedframeRadio"
-             label="&selectedframeRadio.label;"
-             accesskey="&selectedframeRadio.accesskey;"/>
-      <radio id="eachframesepRadio"
-             label="&eachframesepRadio.label;"
-             accesskey="&eachframesepRadio.accesskey;"/>
-    </radiogroup>
-  </groupbox>
-
-  <!-- used to store titles and labels -->
-  <data style="display:none;" id="printButton" label="&printButton.label;"/>
-  <data style="display:none;" id="fpDialog" label="&fpDialog.title;"/>
-
-</dialog>
-
deleted file mode 100644
--- a/toolkit/components/printing/content/printjoboptions.js
+++ /dev/null
@@ -1,373 +0,0 @@
-// -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
-
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-var dialog;
-var gPrintBundle;
-var gPrintSettings = null;
-var gPrintSettingsInterface  = Components.interfaces.nsIPrintSettings;
-var gPaperArray;
-var gPrefs;
-var gParamBlock;
-
-var gPrintSetInterface = Components.interfaces.nsIPrintSettings;
-var doDebug            = true;
-
-// ---------------------------------------------------
-function checkDouble(element, maxVal) {
-  var value = element.value;
-  if (value && value.length > 0) {
-    value = value.replace(/[^\.|^0-9]/g, "");
-    if (!value) {
-      element.value = "";
-    } else if (value > maxVal) {
-      element.value = maxVal;
-    } else {
-      element.value = value;
-    }
-  }
-}
-
-// ---------------------------------------------------
-function isListOfPrinterFeaturesAvailable() {
-  return gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".has_special_printerfeatures", false);
-}
-
-// ---------------------------------------------------
-function getDoubleStr(val, dec) {
-  var str = val.toString();
-  var inx = str.indexOf(".");
-  return str.substring(0, inx + dec + 1);
-}
-
-// ---------------------------------------------------
-function initDialog() {
-  gPrintBundle = document.getElementById("printBundle");
-
-  dialog = {};
-
-  dialog.paperList       = document.getElementById("paperList");
-  dialog.paperGroup      = document.getElementById("paperGroup");
-
-  dialog.jobTitleLabel   = document.getElementById("jobTitleLabel");
-  dialog.jobTitleGroup   = document.getElementById("jobTitleGroup");
-  dialog.jobTitleInput   = document.getElementById("jobTitleInput");
-
-  dialog.colorGroup      = document.getElementById("colorGroup");
-  dialog.colorRadioGroup = document.getElementById("colorRadioGroup");
-  dialog.colorRadio      = document.getElementById("colorRadio");
-  dialog.grayRadio       = document.getElementById("grayRadio");
-
-  dialog.topInput        = document.getElementById("topInput");
-  dialog.bottomInput     = document.getElementById("bottomInput");
-  dialog.leftInput       = document.getElementById("leftInput");
-  dialog.rightInput      = document.getElementById("rightInput");
-}
-
-// ---------------------------------------------------
-function round10(val) {
-  return Math.round(val * 10) / 10;
-}
-
-
-// ---------------------------------------------------
-function paperListElement(aPaperListElement) {
-    this.paperListElement = aPaperListElement;
-  }
-
-paperListElement.prototype =
-  {
-    clearPaperList() {
-          // remove the menupopup node child of the menulist.
-          this.paperListElement.firstChild.remove();
-        },
-
-    appendPaperNames(aDataObject) {
-          var popupNode = document.createElement("menupopup");
-          for (var i = 0;i < aDataObject.length;i++) {
-            var paperObj = aDataObject[i];
-            var itemNode = document.createElement("menuitem");
-            var label;
-            try {
-              label = gPrintBundle.getString(paperObj.name);
-            } catch (e) {
-              /* No name in string bundle ? Then build one manually (this
-               * usually happens when gPaperArray was build by createPaperArrayFromPrinterFeatures() ...) */
-              if (paperObj.inches) {
-                label = paperObj.name + " (" + round10(paperObj.width) + "x" + round10(paperObj.height) + " inch)";
-              } else {
-                label = paperObj.name + " (" + paperObj.width + "x" + paperObj.height + " mm)";
-              }
-            }
-            itemNode.setAttribute("label", label);
-            itemNode.setAttribute("value", i);
-            popupNode.appendChild(itemNode);
-          }
-          this.paperListElement.appendChild(popupNode);
-        }
-  };
-
-// ---------------------------------------------------
-function createPaperArrayFromDefaults() {
-  var paperNames   = ["letterSize", "legalSize", "exectiveSize", "a5Size", "a4Size", "a3Size", "a2Size", "a1Size", "a0Size"];
-  // var paperNames   = ["&letterRadio.label;", "&legalRadio.label;", "&exectiveRadio.label;", "&a4Radio.label;", "&a3Radio.label;"];
-  var paperWidths  = [ 8.5,  8.5,  7.25, 148.0, 210.0, 287.0, 420.0, 594.0,  841.0];
-  var paperHeights = [11.0, 14.0, 10.50, 210.0, 297.0, 420.0, 594.0, 841.0, 1189.0];
-  var paperInches  = [true, true, true,  false, false, false, false, false, false];
-
-  gPaperArray = [];
-
-  for (var i = 0;i < paperNames.length;i++) {
-    var obj    = {};
-    obj.name   = paperNames[i];
-    obj.width  = paperWidths[i];
-    obj.height = paperHeights[i];
-    obj.inches = paperInches[i];
-
-    /* Calculate the width/height in millimeters */
-    if (paperInches[i]) {
-      obj.width_mm  = paperWidths[i] * 25.4;
-      obj.height_mm = paperHeights[i] * 25.4;
-    } else {
-      obj.width_mm  = paperWidths[i];
-      obj.height_mm = paperHeights[i];
-    }
-    gPaperArray[i] = obj;
-  }
-}
-
-// ---------------------------------------------------
-function createPaperArrayFromPrinterFeatures() {
-  var printername = gPrintSettings.printerName;
-  if (doDebug) {
-    dump("createPaperArrayFromPrinterFeatures for " + printername + ".\n");
-  }
-
-  gPaperArray = [];
-
-  var numPapers = gPrefs.getIntPref("print.tmp.printerfeatures." + printername + ".paper.count");
-
-  if (doDebug) {
-    dump("processing " + numPapers + " entries...\n");
-  }
-
-  for (var i = 0;i < numPapers;i++) {
-    var obj       = {};
-    obj.name      = gPrefs.getCharPref("print.tmp.printerfeatures." + printername + ".paper." + i + ".name");
-    obj.width_mm  = gPrefs.getIntPref("print.tmp.printerfeatures." + printername + ".paper." + i + ".width_mm");
-    obj.height_mm = gPrefs.getIntPref("print.tmp.printerfeatures." + printername + ".paper." + i + ".height_mm");
-    obj.inches    = gPrefs.getBoolPref("print.tmp.printerfeatures." + printername + ".paper." + i + ".is_inch");
-
-    /* Calculate the width/height in paper's native units (either inches or millimeters) */
-    if (obj.inches) {
-      obj.width  = obj.width_mm / 25.4;
-      obj.height = obj.height_mm / 25.4;
-    } else {
-      obj.width  = obj.width_mm;
-      obj.height = obj.height_mm;
-    }
-
-    gPaperArray[i] = obj;
-
-    if (doDebug) {
-      dump("paper index=" + i + ", name=" + obj.name + ", width=" + obj.width + ", height=" + obj.height + ".\n");
-    }
-  }
-}
-
-// ---------------------------------------------------
-function createPaperArray() {
-  if (isListOfPrinterFeaturesAvailable()) {
-    createPaperArrayFromPrinterFeatures();
-  } else {
-    createPaperArrayFromDefaults();
-  }
-}
-
-// ---------------------------------------------------
-function createPaperSizeList(selectedInx) {
-  var selectElement = new paperListElement(dialog.paperList);
-  selectElement.clearPaperList();
-
-  selectElement.appendPaperNames(gPaperArray);
-
-  if (selectedInx > -1) {
-    selectElement.paperListElement.selectedIndex = selectedInx;
-  }
-
-  // dialog.paperList = selectElement;
-}
-
-// ---------------------------------------------------
-function loadDialog() {
-  var print_paper_unit       = 0;
-  var print_paper_width      = 0.0;
-  var print_paper_height     = 0.0;
-  var print_paper_name       = "";
-  var print_color            = true;
-  var print_jobtitle         = "";
-
-  gPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
-
-  if (gPrintSettings) {
-    print_paper_unit       = gPrintSettings.paperSizeUnit;
-    print_paper_width      = gPrintSettings.paperWidth;
-    print_paper_height     = gPrintSettings.paperHeight;
-    print_paper_name       = gPrintSettings.paperName;
-    print_color            = gPrintSettings.printInColor;
-    print_jobtitle         = gPrintSettings.title;
-  }
-
-  if (doDebug) {
-    dump("loadDialog******************************\n");
-    dump("paperSizeType   " + print_paper_unit + "\n");
-    dump("paperWidth      " + print_paper_width + "\n");
-    dump("paperHeight     " + print_paper_height + "\n");
-    dump("paperName       " + print_paper_name + "\n");
-    dump("print_color     " + print_color + "\n");
-    dump("print_jobtitle   " + print_jobtitle + "\n");
-  }
-
-  createPaperArray();
-
-  var paperSelectedInx = 0;
-  for (var i = 0;i < gPaperArray.length;i++) {
-    if (print_paper_name == gPaperArray[i].name) {
-      paperSelectedInx = i;
-      break;
-    }
-  }
-
-  if (doDebug) {
-    if (i == gPaperArray.length)
-      dump("loadDialog: No paper found.\n");
-    else
-      dump("loadDialog: found paper '" + gPaperArray[paperSelectedInx].name + "'.\n");
-  }
-
-  createPaperSizeList(paperSelectedInx);
-
-  /* Enable/disable and/or hide/unhide widgets based in the information
-   * whether the selected printer and/or print module supports the matching
-   * feature or not */
-  if (isListOfPrinterFeaturesAvailable()) {
-    // job title
-    if (gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".can_change_jobtitle"))
-      dialog.jobTitleInput.removeAttribute("disabled");
-    else
-      dialog.jobTitleInput.setAttribute("disabled", "true");
-    if (gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".supports_jobtitle_change"))
-      dialog.jobTitleGroup.removeAttribute("hidden");
-    else
-      dialog.jobTitleGroup.setAttribute("hidden", "true");
-
-    // paper size
-    if (gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".can_change_paper_size"))
-      dialog.paperList.removeAttribute("disabled");
-    else
-      dialog.paperList.setAttribute("disabled", "true");
-    if (gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".supports_paper_size_change"))
-      dialog.paperGroup.removeAttribute("hidden");
-    else
-      dialog.paperGroup.setAttribute("hidden", "true");
-
-    // color/grayscale radio
-    if (gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".can_change_printincolor"))
-      dialog.colorRadioGroup.removeAttribute("disabled");
-    else
-      dialog.colorRadioGroup.setAttribute("disabled", "true");
-    if (gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".supports_printincolor_change"))
-      dialog.colorGroup.removeAttribute("hidden");
-    else
-      dialog.colorGroup.setAttribute("hidden", "true");
-  }
-
-  if (print_color) {
-    dialog.colorRadioGroup.selectedItem = dialog.colorRadio;
-  } else {
-    dialog.colorRadioGroup.selectedItem = dialog.grayRadio;
-  }
-
-  dialog.jobTitleInput.value = print_jobtitle;
-
-  dialog.topInput.value    = gPrintSettings.edgeTop.toFixed(2);
-  dialog.bottomInput.value = gPrintSettings.edgeBottom.toFixed(2);
-  dialog.leftInput.value   = gPrintSettings.edgeLeft.toFixed(2);
-  dialog.rightInput.value  = gPrintSettings.edgeRight.toFixed(2);
-}
-
-// ---------------------------------------------------
-function onLoad() {
-  // Init dialog.
-  initDialog();
-
-  gPrintSettings = window.arguments[0].QueryInterface(gPrintSetInterface);
-  gParamBlock = window.arguments[1].QueryInterface(Components.interfaces.nsIDialogParamBlock);
-
-  if (doDebug) {
-    if (gPrintSettings == null) alert("PrintSettings is null!");
-    if (gParamBlock == null) alert("nsIDialogParam is null!");
-  }
-
-  // default return value is "cancel"
-  gParamBlock.SetInt(0, 0);
-
-  loadDialog();
-}
-
-// ---------------------------------------------------
-function onAccept() {
-  var print_paper_unit        = gPrintSettingsInterface.kPaperSizeInches;
-  var print_paper_width       = 0.0;
-  var print_paper_height      = 0.0;
-  var print_paper_name        = "";
-
-  if (gPrintSettings != null) {
-    var paperSelectedInx = dialog.paperList.selectedIndex;
-    if (gPaperArray[paperSelectedInx].inches) {
-      print_paper_unit = gPrintSettingsInterface.kPaperSizeInches;
-    } else {
-      print_paper_unit = gPrintSettingsInterface.kPaperSizeMillimeters;
-    }
-    print_paper_width      = gPaperArray[paperSelectedInx].width;
-    print_paper_height     = gPaperArray[paperSelectedInx].height;
-    print_paper_name       = gPaperArray[paperSelectedInx].name;
-
-    gPrintSettings.paperSizeUnit   = print_paper_unit;
-    gPrintSettings.paperWidth      = print_paper_width;
-    gPrintSettings.paperHeight     = print_paper_height;
-    gPrintSettings.paperName       = print_paper_name;
-
-    // save these out so they can be picked up by the device spec
-    gPrintSettings.printInColor     = dialog.colorRadio.selected;
-    gPrintSettings.title            = dialog.jobTitleInput.value;
-
-    gPrintSettings.edgeTop          = dialog.topInput.value;
-    gPrintSettings.edgeBottom       = dialog.bottomInput.value;
-    gPrintSettings.edgeLeft         = dialog.leftInput.value;
-    gPrintSettings.edgeRight        = dialog.rightInput.value;
-
-    if (doDebug) {
-      dump("onAccept******************************\n");
-      dump("paperSizeUnit    " + print_paper_unit + "\n");
-      dump("paperWidth       " + print_paper_width + "\n");
-      dump("paperHeight      " + print_paper_height + "\n");
-      dump("paperName       '" + print_paper_name + "'\n");
-
-      dump("printInColor     " + gPrintSettings.printInColor + "\n");
-    }
-  } else {
-    dump("************ onAccept gPrintSettings: " + gPrintSettings + "\n");
-  }
-
-  if (gParamBlock) {
-    // set return value to "ok"
-    gParamBlock.SetInt(0, 1);
-  } else {
-    dump("*** FATAL ERROR: paramBlock missing\n");
-  }
-
-  return true;
-}
deleted file mode 100644
--- a/toolkit/components/printing/content/printjoboptions.xul
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0"?>
-
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
-   - License, v. 2.0. If a copy of the MPL was not distributed with this
-   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
-<!DOCTYPE dialog SYSTEM "chrome://global/locale/printjoboptions.dtd">
-
-<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-  onload="onLoad();"
-  ondialogaccept="return onAccept();"
-  title="&printJobOptions.title;"
-  persist="screenX screenY"
-  screenX="24" screenY="24">
-
-  <script type="application/javascript" src="chrome://global/content/printjoboptions.js"/>
-
-  <stringbundle id="printBundle" src="chrome://global/locale/printPageSetup.properties"/>
-
-  <grid>
-    <columns>
-      <column/>
-      <column flex="1"/>
-    </columns>
-
-    <rows>
-      <row id="jobTitleGroup">
-        <hbox align="center" pack="end">
-          <label id="jobTitleLabel"
-                 value="&jobTitleInput.label;"
-                 accesskey="&jobTitleInput.accesskey;"
-                 control="jobTitleInput"/>
-        </hbox>
-        <textbox id="jobTitleInput" flex="1"/>
-      </row>
-
-      <row id="paperGroup">
-        <hbox align="center" pack="end">
-          <label id="paperLabel"
-                 value="&paperInput.label;"
-                 accesskey="&paperInput.accesskey;"
-                 control="paperList"/>
-        </hbox>
-        <menulist id="paperList" flex="1">
-          <menupopup/>
-        </menulist>
-      </row>
-
-      <row id="colorGroup">
-        <hbox align="center" pack="end">
-          <label control="colorRadioGroup" value="&colorGroup.label;"/>
-        </hbox>
-        <radiogroup id="colorRadioGroup" orient="horizontal">
-          <radio id="grayRadio"
-                 label="&grayRadio.label;"
-                 accesskey="&grayRadio.accesskey;"/>
-          <radio id="colorRadio"
-                 label="&colorRadio.label;"
-                 accesskey="&colorRadio.accesskey;"/>
-        </radiogroup>
-      </row>
-    </rows>
-  </grid>
-
-  <grid>
-    <columns>
-      <column/>
-    </columns>
-    <rows>
-      <row>
-       <groupbox flex="1">
-        <caption label="&edgeMarginInput.label;"/>
-        <hbox>
-          <hbox align="center">
-            <label id="topLabel"
-                   value="&topInput.label;"
-                   accesskey="&topInput.accesskey;"
-                   control="topInput"/>
-            <textbox id="topInput" style="width:5em;" onkeyup="checkDouble(this, 0.5)"/>
-          </hbox>
-          <hbox align="center">
-            <label id="bottomLabel"
-                   value="&bottomInput.label;"
-                   accesskey="&bottomInput.accesskey;"
-                   control="bottomInput"/>
-            <textbox id="bottomInput" style="width:5em;" onkeyup="checkDouble(this, 0.5)"/>
-          </hbox>
-          <hbox align="center">
-            <label id="leftLabel"
-                   value="&leftInput.label;"
-                   accesskey="&leftInput.accesskey;"
-                   control="leftInput"/>
-            <textbox id="leftInput" style="width:5em;" onkeyup="checkDouble(this, 0.5)"/>
-          </hbox>
-          <hbox align="center">
-            <label id="rightLabel"
-                   value="&rightInput.label;"
-                   accesskey="&rightInput.accesskey;"
-                   control="rightInput"/>
-            <textbox id="rightInput" style="width:5em;" onkeyup="checkDouble(this, 0.5)"/>
-          </hbox>
-        </hbox>
-        </groupbox>
-      </row>
-
-    </rows>
-  </grid>
-
-</dialog>
--- a/toolkit/components/printing/jar.mn
+++ b/toolkit/components/printing/jar.mn
@@ -1,20 +1,14 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 toolkit.jar:
 #ifndef XP_MACOSX
-#ifdef XP_UNIX
-   content/global/printdialog.js                    (content/printdialog.js)
-   content/global/printdialog.xul                   (content/printdialog.xul)
-   content/global/printjoboptions.js                (content/printjoboptions.js)
-   content/global/printjoboptions.xul               (content/printjoboptions.xul)
-#endif
    content/global/printPageSetup.js                 (content/printPageSetup.js)
    content/global/printPageSetup.xul                (content/printPageSetup.xul)
    content/global/printPreviewProgress.js           (content/printPreviewProgress.js)
    content/global/printPreviewProgress.xul          (content/printPreviewProgress.xul)
    content/global/printProgress.js                  (content/printProgress.js)
    content/global/printProgress.xul                 (content/printProgress.xul)
 #endif
    content/global/printPreviewBindings.xml          (content/printPreviewBindings.xml)
deleted file mode 100644
--- a/toolkit/locales/en-US/chrome/global/printdialog.dtd
+++ /dev/null
@@ -1,44 +0,0 @@
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
-   - License, v. 2.0. If a copy of the MPL was not distributed with this
-   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-<!-- extracted from printdialog.xul -->
-
-<!ENTITY printButton.label "Print">
-
-<!ENTITY printDialog.title "Print">
-
-<!ENTITY fpDialog.title "Save File">
-
-<!ENTITY fileCheck.label "Print to File">
-<!ENTITY fileCheck.accesskey "F">
-<!ENTITY propertiesButton.label "Properties…">
-<!ENTITY propertiesButton.accesskey "o">
-<!ENTITY descText.label "Printer Description:">
-<!ENTITY printer.label "Printer">
-<!ENTITY printerInput.label "Printer Name:">
-<!ENTITY printerInput.accesskey "N">
-
-<!ENTITY printrangeGroup.label "Print Range">
-<!ENTITY allpagesRadio.label "All Pages">
-<!ENTITY allpagesRadio.accesskey "A">
-<!ENTITY rangeRadio.label  "Pages">
-<!ENTITY rangeRadio.accesskey  "P">
-<!ENTITY frompageInput.label  "from">
-<!ENTITY frompageInput.accesskey  "r">
-<!ENTITY topageInput.label  "to">
-<!ENTITY topageInput.accesskey  "t">
-<!ENTITY selectionRadio.label "Selection">
-<!ENTITY selectionRadio.accesskey "S">
-
-<!ENTITY copies.label "Copies">
-<!ENTITY numCopies.label "Number of copies:">
-<!ENTITY numCopies.accesskey "c">
-
-<!ENTITY printframeGroup.label "Print Frames">
-<!ENTITY aslaidoutRadio.label "As laid out on the screen">
-<!ENTITY aslaidoutRadio.accesskey "u">
-<!ENTITY selectedframeRadio.label  "The selected frame">
-<!ENTITY selectedframeRadio.accesskey  "m">
-<!ENTITY eachframesepRadio.label  "Each frame separately">
-<!ENTITY eachframesepRadio.accesskey  "E">
deleted file mode 100644
--- a/toolkit/locales/en-US/chrome/global/printjoboptions.dtd
+++ /dev/null
@@ -1,29 +0,0 @@
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
-   - License, v. 2.0. If a copy of the MPL was not distributed with this
-   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-<!-- extracted from printjoboptions.xul -->
-
-<!ENTITY printJobOptions.title "Printer Properties">
-
-<!ENTITY paperInput.label "Paper Size:">
-<!ENTITY paperInput.accesskey "P">
-
-<!ENTITY jobTitleInput.label "Job Title:">
-<!ENTITY jobTitleInput.accesskey "J">
-
-<!ENTITY colorGroup.label "Color:">
-<!ENTITY grayRadio.label "Grayscale">
-<!ENTITY grayRadio.accesskey "G">
-<!ENTITY colorRadio.label "Color">
-<!ENTITY colorRadio.accesskey "C">
-
-<!ENTITY edgeMarginInput.label "Gap from edge of paper to Margin">
-<!ENTITY topInput.label "Top:">
-<!ENTITY topInput.accesskey "T">
-<!ENTITY bottomInput.label "Bottom:">
-<!ENTITY bottomInput.accesskey "B">
-<!ENTITY leftInput.label "Left:">
-<!ENTITY leftInput.accesskey "L">
-<!ENTITY rightInput.label "Right:">
-<!ENTITY rightInput.accesskey "R">
--- a/toolkit/locales/jar.mn
+++ b/toolkit/locales/jar.mn
@@ -65,18 +65,16 @@
   locale/@AB_CD@/global/languageNames.properties        (%chrome/global/languageNames.properties)
   locale/@AB_CD@/global/mozilla.dtd                     (%chrome/global/mozilla.dtd)
 #ifndef MOZ_FENNEC
   locale/@AB_CD@/global/narrate.properties              (%chrome/global/narrate.properties)
 #endif
   locale/@AB_CD@/global/notification.dtd                (%chrome/global/notification.dtd)
   locale/@AB_CD@/global/preferences.dtd                 (%chrome/global/preferences.dtd)
 #ifndef MOZ_FENNEC
-  locale/@AB_CD@/global/printdialog.dtd                 (%chrome/global/printdialog.dtd)
-  locale/@AB_CD@/global/printjoboptions.dtd             (%chrome/global/printjoboptions.dtd)
   locale/@AB_CD@/global/printPageSetup.dtd              (%chrome/global/printPageSetup.dtd)
   locale/@AB_CD@/global/printPreview.dtd                (%chrome/global/printPreview.dtd)
   locale/@AB_CD@/global/printPreviewProgress.dtd        (%chrome/global/printPreviewProgress.dtd)
   locale/@AB_CD@/global/printdialog.properties          (%chrome/global/printdialog.properties)
   locale/@AB_CD@/global/printProgress.dtd               (%chrome/global/printProgress.dtd)
 #endif
   locale/@AB_CD@/global/regionNames.properties          (%chrome/global/regionNames.properties)
   locale/@AB_CD@/global/resetProfile.dtd                (%chrome/global/resetProfile.dtd)