Bug 1580251 - remove unnecessary files from compose directory. r=mkmelin
authorKhushil Mistry <khushil324@gmail.com>
Wed, 11 Sep 2019 12:51:00 +0200
changeset 36783 1ff6192e719fb411dcdf0ee832f8c7a88ef4849a
parent 36782 35e13c4b6c0dc181adbd22a37acd1c7a112bc172
child 36784 da918af75788db82c7aa0efa6eefba046445acfb
push id395
push userclokep@gmail.com
push dateMon, 02 Dec 2019 19:38:57 +0000
reviewersmkmelin
bugs1580251
Bug 1580251 - remove unnecessary files from compose directory. r=mkmelin
mail/components/compose/content/ComposerCommands.js
mail/components/compose/content/dialogs/EdButtonProps.js
mail/components/compose/content/dialogs/EdButtonProps.xul
mail/components/compose/content/dialogs/EdFieldSetProps.js
mail/components/compose/content/dialogs/EdFieldSetProps.xul
mail/components/compose/content/dialogs/EdFormProps.js
mail/components/compose/content/dialogs/EdFormProps.xul
mail/components/compose/content/dialogs/EdInputProps.js
mail/components/compose/content/dialogs/EdInputProps.xul
mail/components/compose/content/dialogs/EdLabelProps.js
mail/components/compose/content/dialogs/EdLabelProps.xul
mail/components/compose/content/dialogs/EdPageProps.js
mail/components/compose/content/dialogs/EdPageProps.xul
mail/components/compose/content/dialogs/EdSelectProps.js
mail/components/compose/content/dialogs/EdSelectProps.xul
mail/components/compose/content/dialogs/EdTextAreaProps.js
mail/components/compose/content/dialogs/EdTextAreaProps.xul
mail/components/compose/content/messengercompose.xul
mail/components/compose/jar.mn
mail/locales/en-US/chrome/messenger/messengercompose/EditorButtonProperties.dtd
mail/locales/en-US/chrome/messenger/messengercompose/EditorFieldSetProperties.dtd
mail/locales/en-US/chrome/messenger/messengercompose/EditorFormProperties.dtd
mail/locales/en-US/chrome/messenger/messengercompose/EditorLabelProperties.dtd
mail/locales/en-US/chrome/messenger/messengercompose/EditorSelectProperties.dtd
mail/locales/en-US/chrome/messenger/messengercompose/EditorTextAreaProperties.dtd
mail/locales/jar.mn
--- a/mail/components/compose/content/ComposerCommands.js
+++ b/mail/components/compose/content/ComposerCommands.js
@@ -24,20 +24,17 @@ function SetupHTMLEditorCommands() {
 
   // Include everything a text editor does
   SetupTextEditorCommands();
 
   // dump("Registering HTML editor commands\n");
 
   commandTable.registerCommand("cmd_renderedHTMLEnabler", nsDummyHTMLCommand);
 
-  commandTable.registerCommand("cmd_grid", nsGridCommand);
-
   commandTable.registerCommand("cmd_listProperties", nsListPropertiesCommand);
-  commandTable.registerCommand("cmd_pageProperties", nsPagePropertiesCommand);
   commandTable.registerCommand("cmd_colorProperties", nsColorPropertiesCommand);
   commandTable.registerCommand("cmd_increaseFontStep", nsIncreaseFontCommand);
   commandTable.registerCommand("cmd_decreaseFontStep", nsDecreaseFontCommand);
   commandTable.registerCommand(
     "cmd_advancedProperties",
     nsAdvancedPropertiesCommand
   );
   commandTable.registerCommand(
@@ -45,24 +42,17 @@ function SetupHTMLEditorCommands() {
     nsObjectPropertiesCommand
   );
   commandTable.registerCommand(
     "cmd_removeNamedAnchors",
     nsRemoveNamedAnchorsCommand
   );
   commandTable.registerCommand("cmd_editLink", nsEditLinkCommand);
 
-  commandTable.registerCommand("cmd_form", nsFormCommand);
-  commandTable.registerCommand("cmd_inputtag", nsInputTagCommand);
   commandTable.registerCommand("cmd_inputimage", nsInputImageCommand);
-  commandTable.registerCommand("cmd_textarea", nsTextAreaCommand);
-  commandTable.registerCommand("cmd_select", nsSelectCommand);
-  commandTable.registerCommand("cmd_button", nsButtonCommand);
-  commandTable.registerCommand("cmd_label", nsLabelCommand);
-  commandTable.registerCommand("cmd_fieldset", nsFieldSetCommand);
   commandTable.registerCommand("cmd_isindex", nsIsIndexCommand);
   commandTable.registerCommand("cmd_image", nsImageCommand);
   commandTable.registerCommand("cmd_hline", nsHLineCommand);
   commandTable.registerCommand("cmd_link", nsLinkCommand);
   commandTable.registerCommand("cmd_anchor", nsAnchorCommand);
   commandTable.registerCommand(
     "cmd_insertHTMLWithDialog",
     nsInsertHTMLWithDialogCommand
@@ -195,20 +185,16 @@ function SetupComposerWindowCommands() {
     return;
   }
 
   // File-related commands
   commandTable.registerCommand("cmd_open", nsOpenCommand);
   commandTable.registerCommand("cmd_save", nsSaveCommand);
   commandTable.registerCommand("cmd_saveAs", nsSaveAsCommand);
   commandTable.registerCommand("cmd_exportToText", nsExportToTextCommand);
-  commandTable.registerCommand(
-    "cmd_saveAndChangeEncoding",
-    nsSaveAndChangeEncodingCommand
-  );
   commandTable.registerCommand("cmd_publish", nsPublishCommand);
   commandTable.registerCommand("cmd_publishAs", nsPublishAsCommand);
   commandTable.registerCommand("cmd_publishSettings", nsPublishSettingsCommand);
   commandTable.registerCommand("cmd_revert", nsRevertCommand);
   commandTable.registerCommand("cmd_openRemote", nsOpenRemoteCommand);
   commandTable.registerCommand("cmd_preview", nsPreviewCommand);
   commandTable.registerCommand("cmd_editSendPage", nsSendPageCommand);
   commandTable.registerCommand("cmd_print", nsPrintCommand);
@@ -631,50 +617,16 @@ var nsExportToTextCommand = {
   doCommand(aCommand) {
     if (GetCurrentEditor()) {
       SetEditMode(gPreviousNonSourceDisplayMode);
       SaveDocument(true, true, "text/plain");
     }
   },
 };
 
-var nsSaveAndChangeEncodingCommand = {
-  isCommandEnabled(aCommand, dummy) {
-    return IsDocumentEditable();
-  },
-
-  getCommandStateParams(aCommand, aParams, aRefCon) {},
-  doCommandParams(aCommand, aParams, aRefCon) {},
-
-  doCommand(aCommand) {
-    SetEditMode(gPreviousNonSourceDisplayMode);
-    window.ok = false;
-    window.exportToText = false;
-    var oldTitle = GetDocumentTitle();
-    window.openDialog(
-      "chrome://messenger/content/messengercompose/EditorSaveAsCharset.xul",
-      "_blank",
-      "chrome,close,titlebar,modal,resizable=yes"
-    );
-
-    if (GetDocumentTitle() != oldTitle) {
-      UpdateWindowTitle();
-    }
-
-    if (window.ok) {
-      if (window.exportToText) {
-        SaveDocument(true, true, "text/plain");
-      } else {
-        var editor = GetCurrentEditor();
-        SaveDocument(true, false, editor ? editor.contentsMIMEType : null);
-      }
-    }
-  },
-};
-
 var nsPublishCommand = {
   isCommandEnabled(aCommand, dummy) {
     if (IsDocumentEditable()) {
       // Always allow publishing when editing a local document,
       //  otherwise the document modified state would prevent that
       //  when you first open any local file.
       try {
         var docUrl = GetDocumentUrl();
@@ -2680,50 +2632,16 @@ var nsValidateCommand = {
       // This does the validation, no need to wait for page loaded.
     }
   },
   validateFilePageLoaded(event) {
     event.target.forms[0].uploaded_file.value = URL2Validate;
   },
 };
 
-var nsFormCommand = {
-  isCommandEnabled(aCommand, dummy) {
-    return IsDocumentEditable() && IsEditingRenderedHTML();
-  },
-
-  getCommandStateParams(aCommand, aParams, aRefCon) {},
-  doCommandParams(aCommand, aParams, aRefCon) {},
-
-  doCommand(aCommand) {
-    window.openDialog(
-      "chrome://messenger/content/messengercompose/EdFormProps.xul",
-      "_blank",
-      "chrome,close,titlebar,modal"
-    );
-  },
-};
-
-var nsInputTagCommand = {
-  isCommandEnabled(aCommand, dummy) {
-    return IsDocumentEditable() && IsEditingRenderedHTML();
-  },
-
-  getCommandStateParams(aCommand, aParams, aRefCon) {},
-  doCommandParams(aCommand, aParams, aRefCon) {},
-
-  doCommand(aCommand) {
-    window.openDialog(
-      "chrome://messenger/content/messengercompose/EdInputProps.xul",
-      "_blank",
-      "chrome,close,titlebar,modal"
-    );
-  },
-};
-
 var nsInputImageCommand = {
   isCommandEnabled(aCommand, dummy) {
     return IsDocumentEditable() && IsEditingRenderedHTML();
   },
 
   getCommandStateParams(aCommand, aParams, aRefCon) {},
   doCommandParams(aCommand, aParams, aRefCon) {},
 
@@ -2731,125 +2649,16 @@ var nsInputImageCommand = {
     window.openDialog(
       "chrome://messenger/content/messengercompose/EdInputImage.xul",
       "_blank",
       "chrome,close,titlebar,modal"
     );
   },
 };
 
-var nsTextAreaCommand = {
-  isCommandEnabled(aCommand, dummy) {
-    return IsDocumentEditable() && IsEditingRenderedHTML();
-  },
-
-  getCommandStateParams(aCommand, aParams, aRefCon) {},
-  doCommandParams(aCommand, aParams, aRefCon) {},
-
-  doCommand(aCommand) {
-    window.openDialog(
-      "chrome://messenger/content/messengercompose/EdTextAreaProps.xul",
-      "_blank",
-      "chrome,close,titlebar,modal"
-    );
-  },
-};
-
-var nsSelectCommand = {
-  isCommandEnabled(aCommand, dummy) {
-    return IsDocumentEditable() && IsEditingRenderedHTML();
-  },
-
-  getCommandStateParams(aCommand, aParams, aRefCon) {},
-  doCommandParams(aCommand, aParams, aRefCon) {},
-
-  doCommand(aCommand) {
-    window.openDialog(
-      "chrome://messenger/content/messengercompose/EdSelectProps.xul",
-      "_blank",
-      "chrome,close,titlebar,modal"
-    );
-  },
-};
-
-var nsButtonCommand = {
-  isCommandEnabled(aCommand, dummy) {
-    return IsDocumentEditable() && IsEditingRenderedHTML();
-  },
-
-  getCommandStateParams(aCommand, aParams, aRefCon) {},
-  doCommandParams(aCommand, aParams, aRefCon) {},
-
-  doCommand(aCommand) {
-    window.openDialog(
-      "chrome://messenger/content/messengercompose/EdButtonProps.xul",
-      "_blank",
-      "chrome,close,titlebar,modal"
-    );
-  },
-};
-
-var nsLabelCommand = {
-  isCommandEnabled(aCommand, dummy) {
-    return IsDocumentEditable() && IsEditingRenderedHTML();
-  },
-
-  getCommandStateParams(aCommand, aParams, aRefCon) {},
-  doCommandParams(aCommand, aParams, aRefCon) {},
-
-  doCommand(aCommand) {
-    var tagName = "label";
-    try {
-      var editor = GetCurrentEditor();
-      // Find selected label or if start/end of selection is in label
-      var labelElement = editor.getSelectedElement(tagName);
-      if (!labelElement) {
-        labelElement = editor.getElementOrParentByTagName(
-          tagName,
-          editor.selection.anchorNode
-        );
-      }
-      if (!labelElement) {
-        labelElement = editor.getElementOrParentByTagName(
-          tagName,
-          editor.selection.focusNode
-        );
-      }
-      if (labelElement) {
-        // We only open the dialog for an existing label
-        window.openDialog(
-          "chrome://messenger/content/messengercompose/EdLabelProps.xul",
-          "_blank",
-          "chrome,close,titlebar,modal",
-          labelElement
-        );
-      } else {
-        EditorSetTextProperty(tagName, "", "");
-      }
-    } catch (e) {}
-  },
-};
-
-var nsFieldSetCommand = {
-  isCommandEnabled(aCommand, dummy) {
-    return IsDocumentEditable() && IsEditingRenderedHTML();
-  },
-
-  getCommandStateParams(aCommand, aParams, aRefCon) {},
-  doCommandParams(aCommand, aParams, aRefCon) {},
-
-  doCommand(aCommand) {
-    window.openDialog(
-      "chrome://messenger/content/messengercompose/EdFieldSetProps.xul",
-      "_blank",
-      "chrome,close,titlebar,modal"
-    );
-  },
-};
-
 var nsIsIndexCommand = {
   isCommandEnabled(aCommand, dummy) {
     return IsDocumentEditable() && IsEditingRenderedHTML();
   },
 
   getCommandStateParams(aCommand, aParams, aRefCon) {},
   doCommandParams(aCommand, aParams, aRefCon) {},
 
@@ -3071,33 +2880,16 @@ var nsInsertBreakAllCommand = {
 
   doCommand(aCommand) {
     try {
       GetCurrentEditor().insertHTML("<br clear='all'>");
     } catch (e) {}
   },
 };
 
-var nsGridCommand = {
-  isCommandEnabled(aCommand, dummy) {
-    return IsDocumentEditable() && IsEditingRenderedHTML();
-  },
-
-  getCommandStateParams(aCommand, aParams, aRefCon) {},
-  doCommandParams(aCommand, aParams, aRefCon) {},
-
-  doCommand(aCommand) {
-    window.openDialog(
-      "chrome://messenger/content/messengercompose/EdSnapToGrid.xul",
-      "_blank",
-      "chrome,close,titlebar,modal"
-    );
-  },
-};
-
 var nsListPropertiesCommand = {
   isCommandEnabled(aCommand, dummy) {
     return IsDocumentEditable() && IsEditingRenderedHTML();
   },
 
   getCommandStateParams(aCommand, aParams, aRefCon) {},
   doCommandParams(aCommand, aParams, aRefCon) {},
 
@@ -3105,41 +2897,16 @@ var nsListPropertiesCommand = {
     window.openDialog(
       "chrome://messenger/content/messengercompose/EdListProps.xul",
       "_blank",
       "chrome,close,titlebar,modal"
     );
   },
 };
 
-var nsPagePropertiesCommand = {
-  isCommandEnabled(aCommand, dummy) {
-    return IsDocumentEditable() && IsEditingRenderedHTML();
-  },
-
-  getCommandStateParams(aCommand, aParams, aRefCon) {},
-  doCommandParams(aCommand, aParams, aRefCon) {},
-
-  doCommand(aCommand) {
-    var oldTitle = GetDocumentTitle();
-    window.openDialog(
-      "chrome://messenger/content/messengercompose/EdPageProps.xul",
-      "_blank",
-      "chrome,close,titlebar,modal",
-      ""
-    );
-
-    // Update main window title and
-    // recent menu data in prefs if doc title changed
-    if (GetDocumentTitle() != oldTitle) {
-      UpdateWindowTitle();
-    }
-  },
-};
-
 var nsObjectPropertiesCommand = {
   isCommandEnabled(aCommand, dummy) {
     var isEnabled = false;
     if (IsDocumentEditable() && IsEditingRenderedHTML()) {
       isEnabled =
         GetObjectForProperties() != null ||
         GetCurrentEditor().getSelectedElement("href") != null;
     }
@@ -3156,42 +2923,22 @@ var nsObjectPropertiesCommand = {
       var name = element.nodeName.toLowerCase();
       switch (name) {
         case "img":
           goDoCommand("cmd_image");
           break;
         case "hr":
           goDoCommand("cmd_hline");
           break;
-        case "form":
-          goDoCommand("cmd_form");
-          break;
         case "input":
           var type = element.getAttribute("type");
           if (type && type.toLowerCase() == "image") {
             goDoCommand("cmd_inputimage");
-          } else {
-            goDoCommand("cmd_inputtag");
           }
           break;
-        case "textarea":
-          goDoCommand("cmd_textarea");
-          break;
-        case "select":
-          goDoCommand("cmd_select");
-          break;
-        case "button":
-          goDoCommand("cmd_button");
-          break;
-        case "label":
-          goDoCommand("cmd_label");
-          break;
-        case "fieldset":
-          goDoCommand("cmd_fieldset");
-          break;
         case "table":
           EditorInsertOrEditTable(false);
           break;
         case "td":
         case "th":
           EditorTableCellProperties();
           break;
         case "ol":
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdButtonProps.js
+++ /dev/null
@@ -1,146 +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/. */
-
-/* import-globals-from ../editorUtilities.js */
-/* import-globals-from EdDialogCommon.js */
-
-var insertNew;
-var buttonElement;
-
-// dialog initialization code
-
-document.addEventListener("dialogaccept", onAccept);
-document.addEventListener("dialogcancel", onCancel);
-
-function Startup() {
-  var editor = GetCurrentEditor();
-  if (!editor) {
-    window.close();
-    return;
-  }
-
-  gDialog = {
-    buttonType: document.getElementById("ButtonType"),
-    buttonName: document.getElementById("ButtonName"),
-    buttonValue: document.getElementById("ButtonValue"),
-    buttonDisabled: document.getElementById("ButtonDisabled"),
-    buttonTabIndex: document.getElementById("ButtonTabIndex"),
-    buttonAccessKey: document.getElementById("ButtonAccessKey"),
-    MoreSection: document.getElementById("MoreSection"),
-    MoreFewerButton: document.getElementById("MoreFewerButton"),
-    RemoveButton: document.getElementById("RemoveButton"),
-  };
-
-  // Get a single selected button element
-  const kTagName = "button";
-  try {
-    buttonElement = editor.getSelectedElement(kTagName);
-  } catch (e) {}
-
-  if (buttonElement) {
-    // We found an element and don't need to insert one
-    insertNew = false;
-  } else {
-    insertNew = true;
-
-    // We don't have an element selected,
-    //  so create one with default attributes
-    try {
-      buttonElement = editor.createElementWithDefaults(kTagName);
-    } catch (e) {}
-
-    if (!buttonElement) {
-      dump("Failed to get selected element or create a new one!\n");
-      window.close();
-      return;
-    }
-    // Hide button removing existing button
-    gDialog.RemoveButton.hidden = true;
-  }
-
-  // Make a copy to use for AdvancedEdit
-  globalElement = buttonElement.cloneNode(false);
-
-  InitDialog();
-
-  InitMoreFewer();
-
-  gDialog.buttonType.focus();
-
-  SetWindowLocation();
-}
-
-function InitDialog() {
-  var type = globalElement.getAttribute("type");
-  var index = 0;
-  switch (type) {
-    case "button":
-      index = 2;
-      break;
-    case "reset":
-      index = 1;
-      break;
-  }
-  gDialog.buttonType.selectedIndex = index;
-  gDialog.buttonName.value = globalElement.getAttribute("name");
-  gDialog.buttonValue.value = globalElement.getAttribute("value");
-  gDialog.buttonDisabled.setAttribute(
-    "checked",
-    globalElement.hasAttribute("disabled")
-  );
-  gDialog.buttonTabIndex.value = globalElement.getAttribute("tabindex");
-  gDialog.buttonAccessKey.value = globalElement.getAttribute("accesskey");
-}
-
-function RemoveButton() {
-  RemoveContainer(buttonElement);
-  SaveWindowLocation();
-  window.close();
-}
-
-function ValidateData() {
-  var attributes = {
-    type: ["", "reset", "button"][gDialog.buttonType.selectedIndex],
-    name: gDialog.buttonName.value,
-    value: gDialog.buttonValue.value,
-    tabindex: gDialog.buttonTabIndex.value,
-    accesskey: gDialog.buttonAccessKey.value,
-  };
-  for (var a in attributes) {
-    if (attributes[a]) {
-      globalElement.setAttribute(a, attributes[a]);
-    } else {
-      globalElement.removeAttribute(a);
-    }
-  }
-  if (gDialog.buttonDisabled.checked) {
-    globalElement.setAttribute("disabled", "");
-  } else {
-    globalElement.removeAttribute("disabled");
-  }
-  return true;
-}
-
-function onAccept() {
-  // All values are valid - copy to actual element in doc or
-  //   element created to insert
-  ValidateData();
-
-  var editor = GetCurrentEditor();
-
-  editor.cloneAttributes(buttonElement, globalElement);
-
-  if (insertNew) {
-    if (!InsertElementAroundSelection(buttonElement)) {
-      /* eslint-disable-next-line no-unsanitized/property */
-      buttonElement.innerHTML = editor.outputToString(
-        "text/html",
-        kOutputSelectionOnly
-      );
-      editor.insertElementAtSelection(buttonElement, true);
-    }
-  }
-
-  SaveWindowLocation();
-}
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdButtonProps.xul
+++ /dev/null
@@ -1,92 +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://editor/skin/editor.css" type="text/css"?>
-<?xml-stylesheet href="chrome://editor/skin/EditorDialog.css" type="text/css"?>
-
-<!DOCTYPE dialog [
-<!ENTITY % edButtonProperties SYSTEM "chrome://messenger/locale/messengercompose/EditorButtonProperties.dtd">
-%edButtonProperties;
-<!ENTITY % edDialogOverlay SYSTEM "chrome://messenger/locale/messengercompose/EdDialogOverlay.dtd">
-%edDialogOverlay;
-]>
-
-<dialog title="&windowTitle.label;"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml"
-        onload="Startup();"
-        buttons="accept,cancel">
-
-  <!-- Methods common to all editor dialogs -->
-  <script src="chrome://messenger/content/messengercompose/editorUtilities.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdDialogCommon.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdButtonProps.js"/>
-
-  <spacer id="location" offsetY="50" persist="offsetX offsetY"/>
-
-  <groupbox>
-    <hbox class="groupbox-title">
-      <label class="header">&Settings.label;</label>
-    </hbox>
-    <grid><columns><column/><column/></columns>
-      <rows>
-        <row align="center">
-          <label control="ButtonType" value="&ButtonType.label;" accesskey="&ButtonType.accesskey;"/>
-          <menulist id="ButtonType">
-            <menupopup>
-              <menuitem label="&submit.value;"/>
-              <menuitem label="&reset.value;"/>
-              <menuitem label="&button.value;"/>
-            </menupopup>
-          </menulist>
-        </row>
-        <row align="center">
-          <label control="ButtonName" value="&ButtonName.label;" accesskey="&ButtonName.accesskey;"/>
-          <textbox id="ButtonName"/>
-        </row>
-        <row align="center">
-          <label control="ButtonValue" value="&ButtonValue.label;" accesskey="&ButtonValue.accesskey;"/>
-          <textbox id="ButtonValue"/>
-        </row>
-      </rows>
-    </grid>
-    <hbox>
-      <button id="MoreFewerButton" oncommand="onMoreFewer();" persist="more"/>
-    </hbox>
-    <grid id="MoreSection"><columns><column/><column/></columns>
-      <rows>
-        <row>
-          <spacer/>
-          <checkbox id="ButtonDisabled" label="&ButtonDisabled.label;" accesskey="&ButtonDisabled.accesskey;"/>
-        </row>
-        <row align="center">
-          <label control="ButtonTabIndex" value="&tabIndex.label;" accesskey="&tabIndex.accesskey;"/>
-          <hbox>
-            <textbox id="ButtonTabIndex" class="narrow" oninput="forceInteger(this.id);"/>
-          </hbox>
-        </row>
-        <row align="center">
-          <label control="ButtonAccessKey" value="&AccessKey.label;" accesskey="&AccessKey.accesskey;"/>
-          <hbox>
-            <textbox id="ButtonAccessKey" class="narrow"/>
-          </hbox>
-        </row>
-      </rows>
-    </grid>
-  </groupbox>
-
-  <!-- from EdDialogOverlay -->
-  <hbox flex="1" style="margin-top: 0.2em">
-    <button id="RemoveButton" label="&RemoveButton.label;" accesskey="&RemoveButton.accesskey;" oncommand="RemoveButton();"/>
-    <!-- This will right-align the button -->
-    <spacer flex="1"/>
-    <button id="AdvancedEditButton"
-            oncommand="onAdvancedEdit();"
-            label="&AdvancedEditButton.label;"
-            accesskey="&AdvancedEditButton.accessKey;"
-            tooltiptext="&AdvancedEditButton.tooltip;"/>
-  </hbox>
-  <separator class="groove"/>
-
-</dialog>
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdFieldSetProps.js
+++ /dev/null
@@ -1,196 +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/. */
-
-/* import-globals-from ../editorUtilities.js */
-/* import-globals-from EdDialogCommon.js */
-
-var insertNew;
-var fieldsetElement;
-var newLegend;
-var legendElement;
-
-// dialog initialization code
-
-document.addEventListener("dialogaccept", onAccept);
-document.addEventListener("dialogcancel", onCancel);
-
-function Startup() {
-  var editor = GetCurrentEditor();
-  if (!editor) {
-    dump("Failed to get active editor!\n");
-    window.close();
-    return;
-  }
-
-  gDialog.editText = document.getElementById("EditText");
-  gDialog.legendText = document.getElementById("LegendText");
-  gDialog.legendAlign = document.getElementById("LegendAlign");
-  gDialog.RemoveFieldSet = document.getElementById("RemoveFieldSet");
-
-  // Get a single selected field set element
-  const kTagName = "fieldset";
-  try {
-    // Find a selected fieldset, or if one is at start or end of selection.
-    fieldsetElement = editor.getSelectedElement(kTagName);
-    if (!fieldsetElement) {
-      fieldsetElement = editor.getElementOrParentByTagName(
-        kTagName,
-        editor.selection.anchorNode
-      );
-    }
-    if (!fieldsetElement) {
-      fieldsetElement = editor.getElementOrParentByTagName(
-        kTagName,
-        editor.selection.focusNode
-      );
-    }
-  } catch (e) {}
-
-  if (fieldsetElement) {
-    // We found an element and don't need to insert one
-    insertNew = false;
-  } else {
-    insertNew = true;
-
-    // We don't have an element selected,
-    //  so create one with default attributes
-    try {
-      fieldsetElement = editor.createElementWithDefaults(kTagName);
-    } catch (e) {}
-
-    if (!fieldsetElement) {
-      dump("Failed to get selected element or create a new one!\n");
-      window.close();
-      return;
-    }
-    // Hide button removing existing fieldset
-    gDialog.RemoveFieldSet.hidden = true;
-  }
-
-  legendElement = fieldsetElement.querySelector("legend");
-  if (legendElement) {
-    newLegend = false;
-    var range = editor.document.createRange();
-    range.selectNode(legendElement);
-    gDialog.legendText.value = range.toString();
-    if (legendElement.innerHTML.includes("<")) {
-      gDialog.editText.checked = false;
-      gDialog.editText.disabled = false;
-      gDialog.legendText.disabled = true;
-      gDialog.editText.addEventListener(
-        "command",
-        () =>
-          Services.prompt.alert(
-            window,
-            GetString("Alert"),
-            GetString("EditTextWarning")
-          ),
-        { capture: false, once: true }
-      );
-      gDialog.RemoveFieldSet.focus();
-    } else {
-      SetTextboxFocus(gDialog.legendText);
-    }
-  } else {
-    newLegend = true;
-
-    // We don't have an element selected,
-    //  so create one with default attributes
-
-    legendElement = editor.createElementWithDefaults("legend");
-    if (!legendElement) {
-      dump("Failed to get selected element or create a new one!\n");
-      window.close();
-      return;
-    }
-    SetTextboxFocus(gDialog.legendText);
-  }
-
-  // Make a copy to use for AdvancedEdit
-  globalElement = legendElement.cloneNode(false);
-
-  InitDialog();
-
-  SetWindowLocation();
-}
-
-function InitDialog() {
-  gDialog.legendAlign.value = GetHTMLOrCSSStyleValue(
-    globalElement,
-    "align",
-    "caption-side"
-  );
-}
-
-function RemoveFieldSet() {
-  var editor = GetCurrentEditor();
-  editor.beginTransaction();
-  try {
-    if (!newLegend) {
-      editor.deleteNode(legendElement);
-    }
-    RemoveBlockContainer(fieldsetElement);
-  } finally {
-    editor.endTransaction();
-  }
-  SaveWindowLocation();
-  window.close();
-}
-
-function ValidateData() {
-  if (gDialog.legendAlign.value) {
-    globalElement.setAttribute("align", gDialog.legendAlign.value);
-  } else {
-    globalElement.removeAttribute("align");
-  }
-  return true;
-}
-
-function onAccept() {
-  // All values are valid - copy to actual element in doc
-  ValidateData();
-
-  var editor = GetCurrentEditor();
-
-  editor.beginTransaction();
-
-  try {
-    editor.cloneAttributes(legendElement, globalElement);
-
-    if (insertNew) {
-      if (gDialog.legendText.value) {
-        fieldsetElement.appendChild(legendElement);
-        legendElement.appendChild(
-          editor.document.createTextNode(gDialog.legendText.value)
-        );
-      }
-      InsertElementAroundSelection(fieldsetElement);
-    } else if (gDialog.editText.checked) {
-      editor.setShouldTxnSetSelection(false);
-
-      if (gDialog.legendText.value) {
-        if (newLegend) {
-          editor.insertNode(legendElement, fieldsetElement, 0, true);
-        } else {
-          while (legendElement.firstChild) {
-            editor.deleteNode(legendElement.lastChild);
-          }
-        }
-        editor.insertNode(
-          editor.document.createTextNode(gDialog.legendText.value),
-          legendElement,
-          0
-        );
-      } else if (!newLegend) {
-        editor.deleteNode(legendElement);
-      }
-
-      editor.setShouldTxnSetSelection(true);
-    }
-  } finally {
-    editor.endTransaction();
-  }
-
-  SaveWindowLocation();
-}
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdFieldSetProps.xul
+++ /dev/null
@@ -1,67 +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://editor/skin/editor.css" type="text/css"?>
-<?xml-stylesheet href="chrome://editor/skin/EditorDialog.css" type="text/css"?>
-
-<!DOCTYPE dialog [
-<!ENTITY % edFieldSetProperties SYSTEM "chrome://messenger/locale/messengercompose/EditorFieldSetProperties.dtd">
-%edFieldSetProperties;
-<!ENTITY % edDialogOverlay SYSTEM "chrome://messenger/locale/messengercompose/EdDialogOverlay.dtd">
-%edDialogOverlay;
-]>
-
-<dialog title="&windowTitle.label;"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml"
-        onload="Startup();"
-        buttons="accept,cancel">
-
-  <!-- Methods common to all editor dialogs -->
-  <script src="chrome://messenger/content/messengercompose/editorUtilities.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdDialogCommon.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdFieldSetProps.js"/>
-
-  <spacer id="location" offsetY="50" persist="offsetX offsetY"/>
-
-  <groupbox>
-    <hbox class="groupbox-title">
-      <label class="header" accesskey="&Legend.accesskey;">&Legend.label;</label>
-    </hbox>
-    <grid><columns><column/><column/></columns>
-      <rows>
-        <row align="center">
-          <checkbox id="EditText" label="&EditLegendText.label;" accesskey="&EditLegendText.accesskey;" checked="true" disabled="true"
-            oncommand="gDialog.legendText.disabled = !gDialog.editText.checked;"/>
-          <textbox id="LegendText" accesskey="&Legend.accesskey;"/>
-        </row>
-        <row align="center">
-          <label control="LegendAlign" value="&LegendAlign.label;" accesskey="&LegendAlign.accesskey;"/>
-          <menulist id="LegendAlign">
-            <menupopup>
-              <menuitem label="&AlignDefault.label;"/>
-              <menuitem label="&AlignLeft.label;" value="left"/>
-              <menuitem label="&AlignCenter.label;" value="center"/>
-              <menuitem label="&AlignRight.label;" value="right"/>
-            </menupopup>
-          </menulist>
-        </row>
-      </rows>
-    </grid>
-  </groupbox>
-
-  <!-- from EdDialogOverlay -->
-  <hbox flex="1" style="margin-top: 0.2em">
-    <button id="RemoveFieldSet" label="&RemoveFieldSet.label;" accesskey="&RemoveFieldSet.accesskey;" oncommand="RemoveFieldSet();"/>
-    <!-- This will right-align the button -->
-    <spacer flex="1"/>
-    <button id="AdvancedEditButton"
-            oncommand="onAdvancedEdit();"
-            label="&AdvancedEditButton.label;"
-            accesskey="&AdvancedEditButton.accessKey;"
-            tooltiptext="&AdvancedEditButton.tooltip;"/>
-  </hbox>
-  <separator class="groove"/>
-
-</dialog>
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdFormProps.js
+++ /dev/null
@@ -1,136 +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/. */
-
-/* import-globals-from ../editorUtilities.js */
-/* import-globals-from EdDialogCommon.js */
-
-var gForm;
-var insertNew;
-var formElement;
-var formActionWarning;
-
-document.addEventListener("dialogaccept", onAccept);
-document.addEventListener("dialogcancel", onCancel);
-
-function Startup() {
-  var editor = GetCurrentEditor();
-  if (!editor) {
-    dump("Failed to get active editor!\n");
-    window.close();
-    return;
-  }
-
-  gForm = {
-    Name: document.getElementById("FormName"),
-    Action: document.getElementById("FormAction"),
-    Method: document.getElementById("FormMethod"),
-    EncType: document.getElementById("FormEncType"),
-    Target: document.getElementById("FormTarget"),
-  };
-  gDialog.MoreSection = document.getElementById("MoreSection");
-  gDialog.MoreFewerButton = document.getElementById("MoreFewerButton");
-  gDialog.RemoveForm = document.getElementById("RemoveForm");
-
-  // Get a single selected form element
-  const kTagName = "form";
-  try {
-    formElement = editor.getSelectedElement(kTagName);
-    if (!formElement) {
-      formElement = editor.getElementOrParentByTagName(
-        kTagName,
-        editor.selection.anchorNode
-      );
-    }
-    if (!formElement) {
-      formElement = editor.getElementOrParentByTagName(
-        kTagName,
-        editor.selection.focusNode
-      );
-    }
-  } catch (e) {}
-
-  if (formElement) {
-    // We found an element and don't need to insert one
-    insertNew = false;
-    formActionWarning = formElement.hasAttribute("action");
-  } else {
-    insertNew = true;
-    formActionWarning = true;
-
-    // We don't have an element selected,
-    //  so create one with default attributes
-    try {
-      formElement = editor.createElementWithDefaults(kTagName);
-    } catch (e) {}
-
-    if (!formElement) {
-      dump("Failed to get selected element or create a new one!\n");
-      window.close();
-      return;
-    }
-    // Hide button removing existing form
-    gDialog.RemoveForm.hidden = true;
-  }
-
-  // Make a copy to use for AdvancedEdit
-  globalElement = formElement.cloneNode(false);
-
-  InitDialog();
-
-  InitMoreFewer();
-
-  SetTextboxFocus(gForm.Name);
-
-  SetWindowLocation();
-}
-
-function InitDialog() {
-  for (var attribute in gForm) {
-    gForm[attribute].value = globalElement.getAttribute(attribute);
-  }
-}
-
-function RemoveForm() {
-  RemoveBlockContainer(formElement);
-  SaveWindowLocation();
-  window.close();
-}
-
-function ValidateData() {
-  for (var attribute in gForm) {
-    if (gForm[attribute].value) {
-      globalElement.setAttribute(attribute, gForm[attribute].value);
-    } else {
-      globalElement.removeAttribute(attribute);
-    }
-  }
-  return true;
-}
-
-function onAccept(event) {
-  if (formActionWarning && !gForm.Action.value) {
-    Services.prompt.alert(
-      window,
-      GetString("Alert"),
-      GetString("NoFormAction")
-    );
-    gForm.Action.focus();
-    formActionWarning = false;
-    event.preventDefault();
-    return;
-  }
-  // All values are valid - copy to actual element in doc or
-  //   element created to insert
-  ValidateData();
-
-  var editor = GetCurrentEditor();
-
-  editor.cloneAttributes(formElement, globalElement);
-
-  if (insertNew) {
-    InsertElementAroundSelection(formElement);
-  }
-
-  SaveWindowLocation();
-}
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdFormProps.xul
+++ /dev/null
@@ -1,98 +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://editor/skin/editor.css" type="text/css"?>
-<?xml-stylesheet href="chrome://editor/skin/EditorDialog.css" type="text/css"?>
-<?xml-stylesheet href="chrome://messenger/skin/menulist.css" type="text/css"?>
-
-<!DOCTYPE dialog [
-<!ENTITY % edFormProperties SYSTEM "chrome://messenger/locale/messengercompose/EditorFormProperties.dtd">
-%edFormProperties;
-<!ENTITY % edDialogOverlay SYSTEM "chrome://messenger/locale/messengercompose/EdDialogOverlay.dtd">
-%edDialogOverlay;
-]>
-
-<dialog title="&windowTitle.label;"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml"
-        onload="Startup();"
-        buttons="accept,cancel">
-
-  <!-- Methods common to all editor dialogs -->
-  <script src="chrome://messenger/content/messengercompose/editorUtilities.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdDialogCommon.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdFormProps.js"/>
-
-  <script src="chrome://messenger/content/customElements.js"/>
-
-  <spacer id="location" offsetY="50" persist="offsetX offsetY"/>
-
-  <groupbox>
-    <hbox class="groupbox-title">
-      <label class="header">&Settings.label;</label>
-    </hbox>
-    <grid><columns><column/><column/></columns>
-      <rows>
-        <row align="center">
-          <label control="FormName" value="&FormName.label;" accesskey="&FormName.accesskey;"/>
-          <textbox id="FormName"/>
-        </row>
-        <row align="center">
-          <label control="FormAction" value="&FormAction.label;" accesskey="&FormAction.accesskey;"/>
-          <textbox id="FormAction"/>
-        </row>
-        <row align="center">
-          <label control="FormMethod" value="&FormMethod.label;" accesskey="&FormMethod.accesskey;"/>
-          <hbox>
-            <menulist is="menulist-editable" id="FormMethod" editable="true" autoSelectMenuitem="true">
-              <menupopup>
-                <menuitem label="GET"/>
-                <menuitem label="POST"/>
-              </menupopup>
-            </menulist>
-          </hbox>
-        </row>
-        <hbox>
-          <button id="MoreFewerButton" oncommand="onMoreFewer();" persist="more"/>
-        </hbox>
-        <rows id="MoreSection">
-          <row align="center">
-            <label control="FormEncType" value="&FormEncType.label;" accesskey="&FormEncType.accesskey;"/>
-            <menulist is="menulist-editable" id="FormEncType" editable="true" autoSelectMenuitem="true">
-              <menupopup>
-                <menuitem label="application/x-www-form-urlencoded"/>
-                <menuitem label="multipart/form-data"/>
-                <menuitem label="text/plain"/>
-              </menupopup>
-            </menulist>
-          </row>
-          <row align="center">
-            <label control="FormTarget" value="&FormTarget.label;" accesskey="&FormTarget.accesskey;"/>
-            <menulist is="menulist-editable" id="FormTarget" editable="true" autoSelectMenuitem="true">
-              <menupopup>
-                <menuitem label="_blank"/>
-                <menuitem label="_self"/>
-                <menuitem label="_parent"/>
-                <menuitem label="_top"/>
-              </menupopup>
-            </menulist>
-          </row>
-        </rows>
-      </rows>
-    </grid>
-  </groupbox>
-
-  <!-- from EdDialogOverlay -->
-  <hbox flex="1" style="margin-top: 0.2em">
-    <button id="RemoveForm" label="&RemoveForm.label;" accesskey="&RemoveForm.accesskey;" oncommand="RemoveForm();"/>
-    <!-- This will right-align the button -->
-    <spacer flex="1"/>
-    <button id="AdvancedEditButton"
-            oncommand="onAdvancedEdit();"
-            label="&AdvancedEditButton.label;"
-            accesskey="&AdvancedEditButton.accessKey;"
-            tooltiptext="&AdvancedEditButton.tooltip;"/>
-  </hbox>
-  <separator class="groove"/>
-</dialog>
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdInputProps.js
+++ /dev/null
@@ -1,345 +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/. */
-
-/* import-globals-from ../editorUtilities.js */
-/* import-globals-from EdDialogCommon.js */
-
-var insertNew;
-var inputElement;
-
-// dialog initialization code
-
-document.addEventListener("dialogaccept", onAccept);
-document.addEventListener("dialogcancel", onCancel);
-
-function Startup() {
-  var editor = GetCurrentEditor();
-  if (!editor) {
-    dump("Failed to get active editor!\n");
-    window.close();
-    return;
-  }
-
-  gDialog = {
-    accept: document.documentElement.getButton("accept"),
-    inputType: document.getElementById("InputType"),
-    inputNameDeck: document.getElementById("InputNameDeck"),
-    inputName: document.getElementById("InputName"),
-    inputValueDeck: document.getElementById("InputValueDeck"),
-    inputValue: document.getElementById("InputValue"),
-    inputDeck: document.getElementById("InputDeck"),
-    inputChecked: document.getElementById("InputChecked"),
-    inputSelected: document.getElementById("InputSelected"),
-    inputReadOnly: document.getElementById("InputReadOnly"),
-    inputDisabled: document.getElementById("InputDisabled"),
-    inputTabIndex: document.getElementById("InputTabIndex"),
-    inputAccessKey: document.getElementById("InputAccessKey"),
-    inputSize: document.getElementById("InputSize"),
-    inputMaxLength: document.getElementById("InputMaxLength"),
-    inputAccept: document.getElementById("InputAccept"),
-    MoreSection: document.getElementById("MoreSection"),
-    MoreFewerButton: document.getElementById("MoreFewerButton"),
-    AdvancedEditButton: document.getElementById("AdvancedEditButton"),
-    AdvancedEditDeck: document.getElementById("AdvancedEditDeck"),
-  };
-
-  // Get a single selected input element
-  const kTagName = "input";
-  try {
-    inputElement = editor.getSelectedElement(kTagName);
-  } catch (e) {}
-
-  if (inputElement) {
-    // We found an element and don't need to insert one
-    insertNew = false;
-  } else {
-    insertNew = true;
-
-    // We don't have an element selected,
-    //  so create one with default attributes
-    try {
-      inputElement = editor.createElementWithDefaults(kTagName);
-    } catch (e) {}
-
-    if (!inputElement) {
-      dump("Failed to get selected element or create a new one!\n");
-      window.close();
-      return;
-    }
-
-    var imgElement = editor.getSelectedElement("img");
-    if (imgElement) {
-      // We found an image element, convert it to an input type="image"
-      inputElement.setAttribute("type", "image");
-
-      var attributes = [
-        "src",
-        "alt",
-        "width",
-        "height",
-        "hspace",
-        "vspace",
-        "border",
-        "align",
-      ];
-      for (let i in attributes) {
-        inputElement.setAttribute(
-          attributes[i],
-          imgElement.getAttribute(attributes[i])
-        );
-      }
-    } else {
-      inputElement.setAttribute("value", GetSelectionAsText());
-    }
-  }
-
-  // Make a copy to use for AdvancedEdit
-  globalElement = inputElement.cloneNode(false);
-
-  InitDialog();
-
-  InitMoreFewer();
-
-  gDialog.inputType.focus();
-
-  SetWindowLocation();
-}
-
-function InitDialog() {
-  var type = globalElement.getAttribute("type");
-  var index = 0;
-  switch (type) {
-    case "button":
-      index = 9;
-      break;
-    case "checkbox":
-      index = 2;
-      break;
-    case "file":
-      index = 6;
-      break;
-    case "hidden":
-      index = 7;
-      break;
-    case "image":
-      index = 8;
-      break;
-    case "password":
-      index = 1;
-      break;
-    case "radio":
-      index = 3;
-      break;
-    case "reset":
-      index = 5;
-      break;
-    case "submit":
-      index = 4;
-      break;
-  }
-  gDialog.inputType.selectedIndex = index;
-  gDialog.inputName.value = globalElement.getAttribute("name");
-  gDialog.inputValue.value = globalElement.getAttribute("value");
-  gDialog.inputChecked.setAttribute(
-    "checked",
-    globalElement.hasAttribute("checked")
-  );
-  gDialog.inputSelected.setAttribute(
-    "checked",
-    globalElement.hasAttribute("checked")
-  );
-  gDialog.inputReadOnly.setAttribute(
-    "checked",
-    globalElement.hasAttribute("readonly")
-  );
-  gDialog.inputDisabled.setAttribute(
-    "checked",
-    globalElement.hasAttribute("disabled")
-  );
-  gDialog.inputTabIndex.value = globalElement.getAttribute("tabindex");
-  gDialog.inputAccessKey.value = globalElement.getAttribute("accesskey");
-  gDialog.inputSize.value = globalElement.getAttribute("size");
-  gDialog.inputMaxLength.value = globalElement.getAttribute("maxlength");
-  gDialog.inputAccept.value = globalElement.getAttribute("accept");
-  SelectInputType();
-}
-
-function SelectInputType() {
-  var index = gDialog.inputType.selectedIndex;
-  gDialog.AdvancedEditDeck.setAttribute("selectedIndex", 0);
-  gDialog.inputNameDeck.setAttribute("selectedIndex", 0);
-  gDialog.inputValueDeck.setAttribute("selectedIndex", 0);
-  gDialog.inputValue.disabled = false;
-  gDialog.inputChecked.disabled = index != 2;
-  gDialog.inputSelected.disabled = index != 3;
-  gDialog.inputReadOnly.disabled = index > 1;
-  gDialog.inputTabIndex.disabled = index == 7;
-  gDialog.inputAccessKey.disabled = index == 7;
-  gDialog.inputSize.disabled = index > 1;
-  gDialog.inputMaxLength.disabled = index > 1;
-  gDialog.inputAccept.disabled = index != 6;
-  switch (index) {
-    case 0:
-    case 1:
-      gDialog.inputValueDeck.setAttribute("selectedIndex", 1);
-      gDialog.inputDeck.setAttribute("selectedIndex", 2);
-      break;
-    case 2:
-      gDialog.inputDeck.setAttribute("selectedIndex", 0);
-      break;
-    case 3:
-      gDialog.inputDeck.setAttribute("selectedIndex", 1);
-      gDialog.inputNameDeck.setAttribute("selectedIndex", 1);
-      break;
-    case 6:
-      gDialog.inputValue.disabled = true;
-      gDialog.inputAccept.disabled = false;
-      break;
-    case 8:
-      gDialog.inputValue.disabled = true;
-      gDialog.AdvancedEditDeck.setAttribute("selectedIndex", 1);
-      gDialog.inputName.removeEventListener("input", onInput);
-      break;
-    case 7:
-      gDialog.inputValueDeck.setAttribute("selectedIndex", 1);
-      break;
-  }
-  onInput();
-}
-
-function onInput() {
-  var disabled = false;
-  switch (gDialog.inputType.selectedIndex) {
-    case 3:
-      disabled = disabled || !gDialog.inputValue.value;
-      break;
-    case 4:
-    case 5:
-      break;
-    case 8:
-      disabled = !globalElement.hasAttribute("src");
-      break;
-    default:
-      disabled = !gDialog.inputName.value;
-      break;
-  }
-  if (gDialog.accept.disabled != disabled) {
-    gDialog.accept.disabled = disabled;
-    gDialog.AdvancedEditButton.disabled = disabled;
-  }
-}
-
-function doImageProperties() {
-  window.openDialog(
-    "chrome://messenger/content/messengercompose/EdImageProps.xul",
-    "_blank",
-    "chrome,close,titlebar,modal",
-    globalElement
-  );
-  window.focus();
-  onInput();
-}
-
-function ValidateData() {
-  var attributes = {
-    type: "",
-    name: gDialog.inputName.value,
-    value: gDialog.inputValue.value,
-    tabindex: gDialog.inputTabIndex.value,
-    accesskey: "",
-    size: "",
-    maxlength: "",
-    accept: "",
-  };
-  var index = gDialog.inputType.selectedIndex;
-  var flags = {
-    checked: false,
-    readonly: false,
-    disabled: gDialog.inputDisabled.checked,
-  };
-  switch (index) {
-    case 1:
-      attributes.type = "password";
-    // Falls through
-    case 0:
-      flags.readonly = gDialog.inputReadOnly.checked;
-      attributes.size = gDialog.inputSize.value;
-      attributes.maxlength = gDialog.inputMaxLength.value;
-      break;
-    case 2:
-      attributes.type = "checkbox";
-      flags.checked = gDialog.inputChecked.checked;
-      break;
-    case 3:
-      attributes.type = "radio";
-      flags.checked = gDialog.inputSelected.checked;
-      break;
-    case 4:
-      attributes.type = "submit";
-      attributes.accesskey = gDialog.inputAccessKey.value;
-      break;
-    case 5:
-      attributes.type = "reset";
-      attributes.accesskey = gDialog.inputAccessKey.value;
-      break;
-    case 6:
-      attributes.type = "file";
-      attributes.accept = gDialog.inputAccept.value;
-      attributes.value = "";
-      break;
-    case 7:
-      attributes.type = "hidden";
-      attributes.tabindex = "";
-      break;
-    case 8:
-      attributes.type = "image";
-      attributes.value = "";
-      break;
-    case 9:
-      attributes.type = "button";
-      attributes.accesskey = gDialog.inputAccessKey.value;
-      break;
-  }
-  for (var a in attributes) {
-    if (attributes[a]) {
-      globalElement.setAttribute(a, attributes[a]);
-    } else {
-      globalElement.removeAttribute(a);
-    }
-  }
-  for (var f in flags) {
-    if (flags[f]) {
-      globalElement.setAttribute(f, "");
-    } else {
-      globalElement.removeAttribute(f);
-    }
-  }
-  return true;
-}
-
-function onAccept(event) {
-  if (ValidateData()) {
-    // All values are valid - copy to actual element in doc or
-    //   element created to insert
-
-    var editor = GetCurrentEditor();
-
-    editor.cloneAttributes(inputElement, globalElement);
-
-    if (insertNew) {
-      try {
-        // 'true' means delete the selection before inserting
-        // in case were are converting an image to an input type="image"
-        editor.insertElementAtSelection(inputElement, true);
-      } catch (e) {
-        dump(e);
-      }
-    }
-
-    SaveWindowLocation();
-
-    return;
-  }
-  event.preventDefault();
-}
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdInputProps.xul
+++ /dev/null
@@ -1,135 +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://editor/skin/editor.css" type="text/css"?>
-<?xml-stylesheet href="chrome://editor/skin/EditorDialog.css" type="text/css"?>
-
-<!DOCTYPE dialog [
-<!ENTITY % edInputProperties SYSTEM "chrome://messenger/locale/messengercompose/EditorInputProperties.dtd">
-%edInputProperties;
-<!ENTITY % edDialogOverlay SYSTEM "chrome://messenger/locale/messengercompose/EdDialogOverlay.dtd">
-%edDialogOverlay;
-]>
-
-<dialog title="&windowTitle.label;"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml"
-        onload="Startup();"
-        buttons="accept,cancel">
-
-  <!-- Methods common to all editor dialogs -->
-  <script src="chrome://messenger/content/messengercompose/editorUtilities.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdDialogCommon.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdInputProps.js"/>
-
-  <spacer id="location" offsetY="50" persist="offsetX offsetY"/>
-
-  <groupbox>
-    <hbox class="groupbox-title">
-      <label class="header" control="InputType" accesskey="&InputType.accesskey;">&InputType.label;</label>
-    </hbox>
-    <menulist id="InputType" oncommand="SelectInputType();">
-      <menupopup>
-        <menuitem label="&text.value;"/>
-        <menuitem label="&password.value;"/>
-        <menuitem label="&checkbox.value;"/>
-        <menuitem label="&radio.value;"/>
-        <menuitem label="&submit.value;"/>
-        <menuitem label="&reset.value;"/>
-        <menuitem label="&file.value;"/>
-        <menuitem label="&hidden.value;"/>
-        <menuitem label="&image.value;"/>
-        <menuitem label="&button.value;"/>
-      </menupopup>
-    </menulist>
-  </groupbox>
-
-  <groupbox>
-    <hbox class="groupbox-title">
-      <label class="header">&InputSettings.label;</label>
-    </hbox>
-    <grid><columns><column/><column/></columns>
-      <rows>
-        <row align="center">
-          <deck id="InputNameDeck">
-            <label control="InputName" value="&InputName.label;" accesskey="&InputName.accesskey;"/>
-            <label control="InputName" value="&GroupName.label;" accesskey="&GroupName.accesskey;"/>
-          </deck>
-          <textbox id="InputName" oninput="onInput();"/>
-        </row>
-        <row align="center">
-          <deck id="InputValueDeck">
-            <label control="InputValue" value="&InputValue.label;" accesskey="&InputValue.accesskey;"/>
-            <label control="InputValue" value="&InitialValue.label;" accesskey="&InitialValue.accesskey;"/>
-          </deck>
-          <textbox id="InputValue" oninput="onInput();"/>
-        </row>
-        <row>
-          <spacer/>
-          <deck id="InputDeck" persist="index">
-            <checkbox id="InputChecked" label="&InputChecked.label;" accesskey="&InputChecked.accesskey;"/>
-            <checkbox id="InputSelected" label="&InputSelected.label;" accesskey="&InputSelected.accesskey;"/>
-            <checkbox id="InputReadOnly" label="&InputReadOnly.label;" accesskey="&InputReadOnly.accesskey;"/>
-          </deck>
-        </row>
-      </rows>
-    </grid>
-    <hbox>
-      <button id="MoreFewerButton" oncommand="onMoreFewer();" persist="more"/>
-    </hbox>
-    <grid id="MoreSection" align="start">
-      <columns><column/><column/></columns>
-      <rows>
-        <row>
-          <spacer/>
-          <checkbox id="InputDisabled" label="&InputDisabled.label;" accesskey="&InputDisabled.accesskey;"/>
-        </row>
-        <row align="center">
-          <label control="InputTabIndex" value="&tabIndex.label;" accesskey="&tabIndex.accesskey;"/>
-          <hbox>
-            <textbox id="InputTabIndex" class="narrow" oninput="forceInteger(this.id);"/>
-          </hbox>
-        </row>
-        <row align="center">
-          <label control="InputAccessKey" value="&AccessKey.label;" accesskey="&AccessKey.accesskey;"/>
-          <hbox>
-            <textbox id="InputAccessKey" class="narrow"/>
-          </hbox>
-        </row>
-        <row align="center">
-          <label control="InputSize" value="&TextSize.label;" accesskey="&TextSize.accesskey;"/>
-          <hbox>
-            <textbox id="InputSize" class="narrow" oninput="forceInteger(this.id);"/>
-          </hbox>
-        </row>
-        <row align="center">
-          <label control="InputMaxLength" value="&TextLength.label;" accesskey="&TextLength.accesskey;"/>
-          <hbox>
-            <textbox id="InputMaxLength" class="narrow" oninput="forceInteger(this.id);"/>
-          </hbox>
-        </row>
-        <row align="center">
-          <label control="InputAccept" value="&Accept.label;" accesskey="&Accept.accesskey;"/>
-          <textbox id="InputAccept"/>
-        </row>
-      </rows>
-    </grid>
-  </groupbox>
-
-  <!-- from EdDialogOverlay -->
-  <hbox flex="1" style="margin-top: 0.2em">
-    <!-- This will right-align the button -->
-    <spacer flex="1"/>
-    <deck id="AdvancedEditDeck">
-      <button id="AdvancedEditButton"
-        oncommand="onAdvancedEdit();"
-        label="&AdvancedEditButton.label;"
-        accesskey="&AdvancedEditButton.accessKey;"
-        tooltiptext="&AdvancedEditButton.tooltip;"/>
-      <button label="&ImageProperties.label;" accesskey="&ImageProperties.accesskey;" oncommand="doImageProperties();"/>
-    </deck>
-  </hbox>
-  <separator class="groove"/>
-
-</dialog>
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdLabelProps.js
+++ /dev/null
@@ -1,118 +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/. */
-
-/* import-globals-from ../editorUtilities.js */
-/* import-globals-from EdDialogCommon.js */
-
-var labelElement;
-
-// dialog initialization code
-
-document.addEventListener("dialogaccept", onAccept);
-document.addEventListener("dialogcancel", onCancel);
-
-function Startup() {
-  var editor = GetCurrentEditor();
-  if (!editor) {
-    dump("Failed to get active editor!\n");
-    window.close();
-    return;
-  }
-
-  gDialog.editText = document.getElementById("EditText");
-  gDialog.labelText = document.getElementById("LabelText");
-  gDialog.labelFor = document.getElementById("LabelFor");
-  gDialog.labelAccessKey = document.getElementById("LabelAccessKey");
-
-  labelElement = window.arguments[0];
-
-  // Make a copy to use for AdvancedEdit
-  globalElement = labelElement.cloneNode(false);
-
-  InitDialog();
-
-  var range = editor.document.createRange();
-  range.selectNode(labelElement);
-  gDialog.labelText.value = range.toString();
-
-  if (labelElement.innerHTML.includes("<")) {
-    gDialog.editText.checked = false;
-    gDialog.editText.disabled = false;
-    gDialog.labelText.disabled = true;
-    gDialog.editText.addEventListener(
-      "command",
-      () =>
-        Services.prompt.alert(
-          window,
-          GetString("Alert"),
-          GetString("EditTextWarning")
-        ),
-      { capture: false, once: true }
-    );
-    SetTextboxFocus(gDialog.labelFor);
-  } else {
-    SetTextboxFocus(gDialog.labelText);
-  }
-
-  SetWindowLocation();
-}
-
-function InitDialog() {
-  gDialog.labelFor.value = globalElement.getAttribute("for");
-  gDialog.labelAccessKey.value = globalElement.getAttribute("accesskey");
-}
-
-function RemoveLabel() {
-  RemoveContainer(labelElement);
-  SaveWindowLocation();
-  window.close();
-}
-
-function ValidateData() {
-  if (gDialog.labelFor.value) {
-    globalElement.setAttribute("for", gDialog.labelFor.value);
-  } else {
-    globalElement.removeAttribute("for");
-  }
-  if (gDialog.labelAccessKey.value) {
-    globalElement.setAttribute("accesskey", gDialog.labelAccessKey.value);
-  } else {
-    globalElement.removeAttribute("accesskey");
-  }
-  return true;
-}
-
-function onAccept() {
-  // All values are valid - copy to actual element in doc
-  ValidateData();
-
-  var editor = GetCurrentEditor();
-
-  editor.beginTransaction();
-
-  try {
-    if (gDialog.editText.checked) {
-      editor.setShouldTxnSetSelection(false);
-
-      while (labelElement.firstChild) {
-        editor.deleteNode(labelElement.firstChild);
-      }
-      if (gDialog.labelText.value) {
-        editor.insertNode(
-          editor.document.createTextNode(gDialog.labelText.value),
-          labelElement,
-          0
-        );
-      }
-
-      editor.setShouldTxnSetSelection(true);
-    }
-
-    editor.cloneAttributes(labelElement, globalElement);
-  } catch (e) {}
-
-  editor.endTransaction();
-
-  SaveWindowLocation();
-}
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdLabelProps.xul
+++ /dev/null
@@ -1,66 +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://editor/skin/editor.css" type="text/css"?>
-<?xml-stylesheet href="chrome://editor/skin/EditorDialog.css" type="text/css"?>
-
-<!DOCTYPE dialog [
-<!ENTITY % edLabelProperties SYSTEM "chrome://messenger/locale/messengercompose/EditorLabelProperties.dtd">
-%edLabelProperties;
-<!ENTITY % edDialogOverlay SYSTEM "chrome://messenger/locale/messengercompose/EdDialogOverlay.dtd">
-%edDialogOverlay;
-]>
-
-<dialog title="&windowTitle.label;"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml"
-        onload="Startup();"
-        buttons="accept,cancel">
-
-  <!-- Methods common to all editor dialogs -->
-  <script src="chrome://messenger/content/messengercompose/editorUtilities.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdDialogCommon.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdLabelProps.js"/>
-
-  <spacer id="location" offsetY="50" persist="offsetX offsetY"/>
-
-  <groupbox>
-    <hbox class="groupbox-title">
-      <label class="header" accesskey="&Settings.accesskey;">&Settings.label;</label>
-    </hbox>
-    <grid><columns><column/><column/></columns>
-      <rows>
-        <row align="center">
-          <checkbox id="EditText" label="&EditLabelText.label;" accesskey="&EditLabelText.accesskey;" checked="true" disabled="true"
-            oncommand="gDialog.labelText.disabled = !gDialog.editText.checked;"/>
-          <textbox id="LabelText" accesskey="&Settings.accesskey;"/>
-        </row>
-        <row align="center">
-          <label control="LabelFor" value="&LabelFor.label;" accesskey="&LabelFor.accesskey;"/>
-          <textbox id="LabelFor"/>
-        </row>
-        <row align="center">
-          <label control="LabelAccessKey" value="&AccessKey.label;" accesskey="&AccessKey.accesskey;"/>
-          <hbox>
-            <textbox id="LabelAccessKey" class="narrow"/>
-          </hbox>
-        </row>
-      </rows>
-    </grid>
-  </groupbox>
-
-  <!-- from EdDialogOverlay -->
-  <hbox flex="1" style="margin-top: 0.2em">
-    <button id="RemoveLabel" label="&RemoveLabel.label;" accesskey="&RemoveLabel.accesskey;" oncommand="RemoveLabel();"/>
-    <!-- This will right-align the button -->
-    <spacer flex="1"/>
-    <button id="AdvancedEditButton"
-            oncommand="onAdvancedEdit();"
-            label="&AdvancedEditButton.label;"
-            accesskey="&AdvancedEditButton.accessKey;"
-            tooltiptext="&AdvancedEditButton.tooltip;"/>
-  </hbox>
-  <separator class="groove"/>
-
-</dialog>
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdPageProps.js
+++ /dev/null
@@ -1,159 +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/. */
-
-/* import-globals-from ../editorUtilities.js */
-/* import-globals-from EdDialogCommon.js */
-
-var gNewTitle = "";
-var gAuthor = "";
-var gDescription = "";
-var gAuthorElement;
-var gDescriptionElement;
-var gInsertNewAuthor = false;
-var gInsertNewDescription = false;
-var gTitleWasEdited = false;
-var gAuthorWasEdited = false;
-var gDescWasEdited = false;
-
-// Cancel() is in EdDialogCommon.js
-// dialog initialization code
-
-document.addEventListener("dialogaccept", onAccept);
-document.addEventListener("dialogcancel", onCancel);
-
-function Startup() {
-  var editor = GetCurrentEditor();
-  if (!editor) {
-    window.close();
-    return;
-  }
-
-  gDialog.PageLocation = document.getElementById("PageLocation");
-  gDialog.PageModDate = document.getElementById("PageModDate");
-  gDialog.TitleInput = document.getElementById("TitleInput");
-  gDialog.AuthorInput = document.getElementById("AuthorInput");
-  gDialog.DescriptionInput = document.getElementById("DescriptionInput");
-
-  // Default string for new page is set from DTD string in XUL,
-  //   so set only if not new doc URL
-  var location = GetDocumentUrl();
-  var lastmodString = GetString("Unknown");
-
-  if (!IsUrlAboutBlank(location)) {
-    // NEVER show username and password in clear text
-    gDialog.PageLocation.setAttribute("value", StripPassword(location));
-
-    // Get last-modified file date+time
-    // TODO: Convert this to local time?
-    var lastmod;
-    try {
-      lastmod = editor.document.lastModified; // get string of last modified date
-    } catch (e) {}
-    // Convert modified string to date (0 = unknown date or January 1, 1970 GMT)
-    if (Date.parse(lastmod)) {
-      try {
-        const dateTimeFormatter = new Services.intl.DateTimeFormat(undefined, {
-          dateStyle: "long",
-          timeStyle: "short",
-        });
-
-        var lastModDate = new Date();
-        lastModDate.setTime(Date.parse(lastmod));
-        lastmodString = dateTimeFormatter.format(lastModDate);
-      } catch (e) {}
-    }
-  }
-  gDialog.PageModDate.value = lastmodString;
-
-  gAuthorElement = GetMetaElementByAttribute("name", "author");
-  if (!gAuthorElement) {
-    gAuthorElement = CreateMetaElementWithAttribute("name", "author");
-    if (!gAuthorElement) {
-      window.close();
-      return;
-    }
-    gInsertNewAuthor = true;
-  }
-
-  gDescriptionElement = GetMetaElementByAttribute("name", "description");
-  if (!gDescriptionElement) {
-    gDescriptionElement = CreateMetaElementWithAttribute("name", "description");
-    if (!gDescriptionElement) {
-      window.close();
-    }
-
-    gInsertNewDescription = true;
-  }
-
-  InitDialog();
-
-  SetTextboxFocus(gDialog.TitleInput);
-
-  SetWindowLocation();
-}
-
-function InitDialog() {
-  gDialog.TitleInput.value = GetDocumentTitle();
-
-  var gAuthor = TrimString(gAuthorElement.getAttribute("content"));
-  if (!gAuthor) {
-    // Fill in with value from editor prefs
-    gAuthor = Services.prefs.getCharPref("editor.author");
-  }
-  gDialog.AuthorInput.value = gAuthor;
-  gDialog.DescriptionInput.value = gDescriptionElement.getAttribute("content");
-}
-
-function TextboxChanged(ID) {
-  switch (ID) {
-    case "TitleInput":
-      gTitleWasEdited = true;
-      break;
-    case "AuthorInput":
-      gAuthorWasEdited = true;
-      break;
-    case "DescriptionInput":
-      gDescWasEdited = true;
-      break;
-  }
-}
-
-function ValidateData() {
-  gNewTitle = TrimString(gDialog.TitleInput.value);
-  gAuthor = TrimString(gDialog.AuthorInput.value);
-  gDescription = TrimString(gDialog.DescriptionInput.value);
-  return true;
-}
-
-function onAccept(event) {
-  if (ValidateData()) {
-    var editor = GetCurrentEditor();
-    editor.beginTransaction();
-
-    // Set title contents even if string is empty
-    //  because TITLE is a required HTML element
-    if (gTitleWasEdited) {
-      SetDocumentTitle(gNewTitle);
-    }
-
-    if (gAuthorWasEdited) {
-      SetMetaElementContent(gAuthorElement, gAuthor, gInsertNewAuthor, false);
-    }
-
-    if (gDescWasEdited) {
-      SetMetaElementContent(
-        gDescriptionElement,
-        gDescription,
-        gInsertNewDescription,
-        false
-      );
-    }
-
-    editor.endTransaction();
-
-    SaveWindowLocation();
-    return; // do close the window
-  }
-  event.preventDefault();
-}
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdPageProps.xul
+++ /dev/null
@@ -1,50 +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://editor/skin/editor.css" type="text/css"?>
-<?xml-stylesheet href="chrome://editor/skin/EditorDialog.css" type="text/css"?>
-
-<!DOCTYPE dialog SYSTEM "chrome://messenger/locale/messengercompose/EditorPageProperties.dtd">
-
-<dialog title="&windowTitle.label;"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml"
-        onload="Startup();">
-
-  <script src="chrome://messenger/content/messengercompose/editorUtilities.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdDialogCommon.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdPageProps.js"/>
-
-  <spacer id="location" offsetY="50" persist="offsetX offsetY"/>
-  <grid>
-    <columns><column flex="1"/><column flex="2"/></columns>
-    <rows>
-      <row>
-        <label value="&location.label;"/>
-        <label value="&locationNewPage.label;" id="PageLocation"/>
-      </row>
-      <row>
-        <label value="&lastModified.label;"/>
-        <label id="PageModDate"/>
-      </row>
-      <spacer class="spacer"/>
-      <row align="center">
-        <label value="&titleInput.label;" accesskey="&titleInput.accessKey;" control="TitleInput"/>
-        <textbox class="MinWidth20em" id="TitleInput" oninput="TextboxChanged(this.id)"/>
-      </row>
-      <row align="center">
-        <label value="&authorInput.label;" accesskey="&authorInput.accessKey;" control="AuthorInput"/>
-        <textbox class="MinWidth20em" id="AuthorInput" oninput="TextboxChanged(this.id)"/>
-      </row>
-      <row align="center">
-        <label value="&descriptionInput.label;" accesskey="&descriptionInput.accessKey;" control="DescriptionInput"/>
-        <textbox class="MinWidth20em" id="DescriptionInput" oninput="TextboxChanged(this.id)"/>
-      </row>
-    </rows>
-  </grid>
-  <spacer class="bigspacer"/>
-  <label value="&EditHEADSource1.label;"/>
-  <description class="wrap" flex="1">&EditHEADSource2.label;</description>
-  <separator class="groove"/>
-</dialog>
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdSelectProps.js
+++ /dev/null
@@ -1,770 +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/. */
-
-/* import-globals-from ../editorUtilities.js */
-/* import-globals-from EdDialogCommon.js */
-
-// Global variables
-
-var hasValue;
-var oldValue;
-var insertNew;
-var itemArray;
-var theTree;
-var treeSelection;
-var selectElement;
-var currentItem = null;
-var selectedOption = null;
-var selectedOptionCount = 0;
-
-document.addEventListener("dialogaccept", onAccept);
-document.addEventListener("dialogcancel", onCancel);
-
-// Utility functions
-
-function getParentIndex(index) {
-  switch (itemArray[index].level) {
-    case 0:
-      return -1;
-    case 1:
-      return 0;
-  }
-  // eslint-disable-next-line curly
-  while (itemArray[--index].level > 1);
-  return index;
-}
-
-function UpdateSelectMultiple() {
-  if (selectedOptionCount > 1) {
-    gDialog.selectMultiple.checked = true;
-    gDialog.selectMultiple.disabled = true;
-  } else {
-    gDialog.selectMultiple.disabled = false;
-  }
-}
-
-/* wrapper objects:
- * readonly attribute Node element; // DOM node (select/optgroup/option)
- * readonly attribute int level; // tree depth
- * readonly attribute boolean container; // can contain options
- * string getCellText(string col); // tree view helper
- * string cycleCell(int currentIndex); // tree view helper
- * void onFocus(); // load data into deck
- * void onBlur(); // save data from deck
- * boolean canDestroy(boolean prompt); // NB prompt not used
- * void destroy(); // post remove callback
- * void moveUp();
- * boolean canMoveDown();
- * void moveDown();
- * void appendOption(newElement, currentIndex);
- */
-
-// OPTION element wrapper object
-
-// Create a wrapper for the given element at the given level
-function optionObject(option, level) {
-  // select an added option (when loading from document)
-  if (option.hasAttribute("selected")) {
-    selectedOptionCount++;
-  }
-  this.level = level;
-  this.element = option;
-}
-
-optionObject.prototype.container = false;
-
-optionObject.prototype.getCellText = function(column) {
-  if (column.id == "SelectSelCol") {
-    return "";
-  }
-  if (column.id == "SelectValCol" && this.element.hasAttribute("value")) {
-    return this.element.getAttribute("value");
-  }
-  return this.element.text;
-};
-
-optionObject.prototype.cycleCell = function(index) {
-  if (this.element.hasAttribute("selected")) {
-    this.element.removeAttribute("selected");
-    selectedOptionCount--;
-    selectedOption = null;
-  } else {
-    // Different handling for multiselect lists
-    if (gDialog.selectMultiple.checked || !selectedOption) {
-      selectedOptionCount++;
-    } else if (selectedOption) {
-      selectedOption.removeAttribute("selected");
-      let column = theTree.columns.SelectSelCol;
-      theTree.invalidateColumn(column);
-      selectedOption = null;
-    }
-    this.element.setAttribute("selected", "");
-    selectedOption = this.element;
-    let column = theTree.columns.SelectSelCol;
-    theTree.invalidateCell(index, column);
-  }
-  if (currentItem == this) {
-    // Also update the deck
-    gDialog.optionSelected.setAttribute(
-      "checked",
-      this.element.hasAttribute("selected")
-    );
-  }
-  UpdateSelectMultiple();
-};
-
-optionObject.prototype.onFocus = function() {
-  gDialog.optionText.value = this.element.text;
-  hasValue = this.element.hasAttribute("value");
-  oldValue = this.element.value;
-  gDialog.optionHasValue.checked = hasValue;
-  gDialog.optionValue.value = hasValue ? this.element.value : this.element.text;
-  gDialog.optionSelected.checked = this.element.hasAttribute("selected");
-  gDialog.optionDisabled.checked = this.element.hasAttribute("disabled");
-  gDialog.selectDeck.setAttribute("selectedIndex", "2");
-};
-
-optionObject.prototype.onBlur = function() {
-  this.element.text = gDialog.optionText.value;
-  if (gDialog.optionHasValue.checked) {
-    this.element.value = gDialog.optionValue.value;
-  } else {
-    this.element.removeAttribute("value");
-  }
-  if (gDialog.optionSelected.checked) {
-    this.element.setAttribute("selected", "");
-  } else {
-    this.element.removeAttribute("selected");
-  }
-  if (gDialog.optionDisabled.checked) {
-    this.element.setAttribute("disabled", "");
-  } else {
-    this.element.removeAttribute("disabled");
-  }
-};
-
-optionObject.prototype.canDestroy = function(prompt) {
-  return true;
-  /* return !prompt ||
-    ConfirmWithTitle(GetString("DeleteOption"),
-                     GetString("DeleteOptionMsg"),
-                     GetString("DeleteOption"));*/
-};
-
-optionObject.prototype.destroy = function() {
-  // Deselect a removed option
-  if (this.element.hasAttribute("selected")) {
-    selectedOptionCount--;
-    selectedOption = null;
-    UpdateSelectMultiple();
-  }
-};
-
-/* 4 cases:
- * a) optgroup -> optgroup
- *      ...         ...
- *    option        option
- * b) optgroup -> option
- *      option    optgroup
- *      ...         ...
- * c) option
- *    option
- * d)   option
- *      option
- */
-
-optionObject.prototype.moveUp = function() {
-  var index = treeSelection.currentIndex;
-  if (
-    itemArray[index].level <
-    itemArray[index - 1].level + itemArray[index - 1].container
-  ) {
-    // we need to repaint the tree's lines
-    theTree.invalidateRange(getParentIndex(index), index);
-    // a) option is just after an optgroup, so it becomes the last child
-    itemArray[index].level = 2;
-    theTree.view.selectionChanged();
-  } else {
-    // otherwise new option level is now the same as the previous item
-    itemArray[index].level = itemArray[index - 1].level;
-    // swap the option with the previous item
-    itemArray.splice(index, 0, itemArray.splice(--index, 1)[0]);
-  }
-  selectTreeIndex(index, true);
-};
-
-optionObject.prototype.canMoveDown = function() {
-  // move down is not allowed on the last option if its level is 1
-  return this.level > 1 || itemArray.length - treeSelection.currentIndex > 1;
-};
-
-optionObject.prototype.moveDown = function() {
-  var index = treeSelection.currentIndex;
-  if (
-    index + 1 == itemArray.length ||
-    itemArray[index].level > itemArray[index + 1].level
-  ) {
-    // we need to repaint the tree's lines
-    theTree.invalidateRange(getParentIndex(index), index);
-    // a) option is last child of an optgroup, so it moves just after
-    itemArray[index].level = 1;
-    theTree.view.selectionChanged();
-  } else {
-    // level increases if the option was preceding an optgroup
-    itemArray[index].level += itemArray[index + 1].container;
-    // swap the option with the next item
-    itemArray.splice(index, 0, itemArray.splice(++index, 1)[0]);
-  }
-  selectTreeIndex(index, true);
-};
-
-optionObject.prototype.appendOption = function(child, parent) {
-  // special case quick check
-  if (this.level == 1) {
-    return gDialog.appendOption(child, 0);
-  }
-
-  // append the option to the parent element
-  parent = getParentIndex(parent);
-  return itemArray[parent].appendOption(child, parent);
-};
-
-// OPTGROUP element wrapper object
-
-function optgroupObject(optgroup) {
-  this.element = optgroup;
-}
-
-optgroupObject.prototype.level = 1;
-
-optgroupObject.prototype.container = true;
-
-optgroupObject.prototype.getCellText = function(column) {
-  return column.id == "SelectTextCol" ? this.element.label : "";
-};
-
-optgroupObject.prototype.cycleCell = function(index) {};
-
-optgroupObject.prototype.onFocus = function() {
-  gDialog.optgroupLabel.value = this.element.label;
-  gDialog.optgroupDisabled.checked = this.element.disabled;
-  gDialog.selectDeck.setAttribute("selectedIndex", "1");
-};
-
-optgroupObject.prototype.onBlur = function() {
-  this.element.label = gDialog.optgroupLabel.value;
-  this.element.disabled = gDialog.optgroupDisabled.checked;
-};
-
-optgroupObject.prototype.canDestroy = function(prompt) {
-  // Only removing empty option groups for now
-  return (
-    gDialog.nextChild(treeSelection.currentIndex) -
-      treeSelection.currentIndex ==
-    1
-  );
-  /* && (!prompt ||
-    ConfirmWithTitle(GetString("DeleteOptGroup"),
-                     GetString("DeleteOptGroupMsg"),
-                     GetString("DeleteOptGroup")));
-*/
-};
-
-optgroupObject.prototype.destroy = function() {};
-
-optgroupObject.prototype.moveUp = function() {
-  // Find the index of the previous and next elements at the same level
-  var index = treeSelection.currentIndex;
-  var i = index;
-  // eslint-disable-next-line curly
-  while (itemArray[--index].level > 1);
-  var j = gDialog.nextChild(i);
-  // Cut out the element, cut the array in two, then join together
-  var movedItems = itemArray.splice(i, j - i);
-  var endItems = itemArray.splice(index);
-  itemArray = itemArray.concat(movedItems).concat(endItems);
-  // Repaint the lot
-  theTree.invalidateRange(index, j);
-  selectTreeIndex(index, true);
-};
-
-optgroupObject.prototype.canMoveDown = function() {
-  return gDialog.lastChild() > treeSelection.currentIndex;
-};
-
-optgroupObject.prototype.moveDown = function() {
-  // Find the index of the next two elements at the same level
-  var index = treeSelection.currentIndex;
-  var i = gDialog.nextChild(index);
-  var j = gDialog.nextChild(i);
-  // Cut out the element, cut the array in two, then join together
-  var movedItems = itemArray.splice(i, j - 1);
-  var endItems = itemArray.splice(index);
-  itemArray = itemArray.concat(movedItems).concat(endItems);
-  // Repaint the lot
-  theTree.invalidateRange(index, j);
-  index += j - i;
-  selectTreeIndex(index, true);
-};
-
-optgroupObject.prototype.appendOption = function(child, parent) {
-  var index = gDialog.nextChild(parent);
-  // XXX need to repaint the lines, tree won't do this
-  var primaryCol = theTree.columns.getPrimaryColumn();
-  theTree.invalidateCell(index - 1, primaryCol);
-  // insert the wrapped object as the last child
-  itemArray.splice(index, 0, new optionObject(child, 2));
-  theTree.rowCountChanged(index, 1);
-  selectTreeIndex(index, false);
-};
-
-// dialog initialization code
-
-function Startup() {
-  var editor = GetCurrentEditor();
-  if (!editor) {
-    dump("Failed to get active editor!\n");
-    window.close();
-    return;
-  }
-
-  // Get a single selected select element
-  const kTagName = "select";
-  try {
-    selectElement = editor.getSelectedElement(kTagName);
-  } catch (e) {}
-
-  if (selectElement) {
-    // We found an element and don't need to insert one
-    insertNew = false;
-  } else {
-    insertNew = true;
-
-    // We don't have an element selected,
-    //  so create one with default attributes
-    try {
-      selectElement = editor.createElementWithDefaults(kTagName);
-    } catch (e) {}
-
-    if (!selectElement) {
-      dump("Failed to get selected element or create a new one!\n");
-      window.close();
-      return;
-    }
-  }
-
-  // SELECT element wrapper object
-  gDialog = {
-    // useful elements
-    accept: document.documentElement.getButton("accept"),
-    selectDeck: document.getElementById("SelectDeck"),
-    selectName: document.getElementById("SelectName"),
-    selectSize: document.getElementById("SelectSize"),
-    selectMultiple: document.getElementById("SelectMultiple"),
-    selectDisabled: document.getElementById("SelectDisabled"),
-    selectTabIndex: document.getElementById("SelectTabIndex"),
-    optgroupLabel: document.getElementById("OptGroupLabel"),
-    optgroupDisabled: document.getElementById("OptGroupDisabled"),
-    optionText: document.getElementById("OptionText"),
-    optionHasValue: document.getElementById("OptionHasValue"),
-    optionValue: document.getElementById("OptionValue"),
-    optionSelected: document.getElementById("OptionSelected"),
-    optionDisabled: document.getElementById("OptionDisabled"),
-    removeButton: document.getElementById("RemoveButton"),
-    previousButton: document.getElementById("PreviousButton"),
-    nextButton: document.getElementById("NextButton"),
-    tree: document.getElementById("SelectTree"),
-    // wrapper methods (except MoveUp and MoveDown)
-    element: selectElement.cloneNode(false),
-    level: 0,
-    container: true,
-    getCellText(column) {
-      return column.id == "SelectTextCol"
-        ? this.element.getAttribute("name")
-        : "";
-    },
-    cycleCell(index) {},
-    onFocus() {
-      gDialog.selectName.value = this.element.getAttribute("name");
-      gDialog.selectSize.value = this.element.getAttribute("size");
-      gDialog.selectMultiple.checked = this.element.hasAttribute("multiple");
-      gDialog.selectDisabled.checked = this.element.hasAttribute("disabled");
-      gDialog.selectTabIndex.value = this.element.getAttribute("tabindex");
-      this.selectDeck.setAttribute("selectedIndex", "0");
-      onNameInput();
-    },
-    onBlur() {
-      this.element.setAttribute("name", gDialog.selectName.value);
-      if (gDialog.selectSize.value) {
-        this.element.setAttribute("size", gDialog.selectSize.value);
-      } else {
-        this.element.removeAttribute("size");
-      }
-      if (gDialog.selectMultiple.checked) {
-        this.element.setAttribute("multiple", "");
-      } else {
-        this.element.removeAttribute("multiple");
-      }
-      if (gDialog.selectDisabled.checked) {
-        this.element.setAttribute("disabled", "");
-      } else {
-        this.element.removeAttribute("disabled");
-      }
-      if (gDialog.selectTabIndex.value) {
-        this.element.setAttribute("tabindex", gDialog.selectTabIndex.value);
-      } else {
-        this.element.removeAttribute("tabindex");
-      }
-    },
-    appendOption(child, parent) {
-      var index = itemArray.length;
-      // XXX need to repaint the lines, tree won't do this
-      theTree.invalidateRange(this.lastChild(), index);
-      // append the wrapped object
-      itemArray.push(new optionObject(child, 1));
-      theTree.rowCountChanged(index, 1);
-      selectTreeIndex(index, false);
-    },
-    canDestroy(prompt) {
-      return false;
-    },
-    canMoveDown() {
-      return false;
-    },
-    // helper methods
-    // Find the index of the next immediate child of the select
-    nextChild(index) {
-      // eslint-disable-next-line curly
-      while (++index < itemArray.length && itemArray[index].level > 1);
-      return index;
-    },
-    // Find the index of the last immediate child of the select
-    lastChild() {
-      var index = itemArray.length;
-      // eslint-disable-next-line curly
-      while (itemArray[--index].level > 1);
-      return index;
-    },
-  };
-  // Start with the <select> wrapper
-  itemArray = [gDialog];
-
-  // We modify the actual option and optgroup elements so clone them first
-  for (var child = selectElement.firstChild; child; child = child.nextSibling) {
-    if (child.tagName == "OPTION") {
-      itemArray.push(new optionObject(child.cloneNode(true), 1));
-    } else if (child.tagName == "OPTGROUP") {
-      itemArray.push(new optgroupObject(child.cloneNode(false)));
-      for (
-        var grandchild = child.firstChild;
-        grandchild;
-        grandchild = grandchild.nextSibling
-      ) {
-        if (grandchild.tagName == "OPTION") {
-          itemArray.push(new optionObject(grandchild.cloneNode(true), 2));
-        }
-      }
-    }
-  }
-
-  UpdateSelectMultiple();
-
-  // Define a custom view for the tree
-  theTree = gDialog.tree;
-  theTree.view = {
-    QueryInterface: ChromeUtils.generateQI([
-      "nsITreeView",
-      "nsISupportsWeakReference",
-    ]),
-    // useful for debugging
-    get wrappedJSObject() {
-      return this;
-    },
-    get rowCount() {
-      return itemArray.length;
-    },
-    get selection() {
-      return treeSelection;
-    },
-    set selection(selection) {
-      return (treeSelection = selection);
-    },
-    getRowProperties(index) {
-      return "";
-    },
-    // could have used a wrapper for this
-    getCellProperties(index, column) {
-      if (column.id == "SelectSelCol" && !itemArray[index].container) {
-        return "checked-" + itemArray[index].element.hasAttribute("selected");
-      }
-      return "";
-    },
-    getColumnProperties(column) {
-      return "";
-    },
-    // get info from wrapper
-    isContainer(index) {
-      return itemArray[index].container;
-    },
-    isContainerOpen(index) {
-      return true;
-    },
-    isContainerEmpty(index) {
-      return true;
-    },
-    isSeparator(index) {
-      return false;
-    },
-    isSorted() {
-      return false;
-    },
-    // d&d not implemented yet!
-    canDrop(index, orientation) {
-      return false;
-    },
-    drop(index, orientation) {
-      alert("drop:" + index + "," + orientation);
-    },
-    // same as the global helper
-    getParentIndex,
-    // tree needs to know when to paint lines
-    hasNextSibling(index, after) {
-      if (!index) {
-        return false;
-      }
-      var level = itemArray[index].level;
-      while (++after < itemArray.length) {
-        switch (level - itemArray[after].level) {
-          case 1:
-            return false;
-          case 0:
-            return true;
-        }
-      }
-      return false;
-    },
-    getLevel(index) {
-      return itemArray[index].level;
-    },
-    getImageSrc(index, column) {},
-    getProgressMode(index, column) {},
-    getCellValue(index, column) {},
-    getCellText(index, column) {
-      return itemArray[index].getCellText(column);
-    },
-    setTree(tree) {
-      this.tree = tree;
-    },
-    toggleOpenState(index) {},
-    cycleHeader(col) {},
-    selectionChanged() {
-      // Save current values and update buttons and deck
-      if (currentItem) {
-        currentItem.onBlur();
-      }
-      var currentIndex = treeSelection.currentIndex;
-      currentItem = itemArray[currentIndex];
-      gDialog.removeButton.disabled = !currentItem.canDestroy();
-      gDialog.previousButton.disabled = currentIndex < 2;
-      gDialog.nextButton.disabled = !currentItem.canMoveDown();
-      // For Advanced Edit
-      globalElement = currentItem.element;
-      currentItem.onFocus();
-    },
-    cycleCell(index, column) {
-      itemArray[index].cycleCell(index);
-    },
-    isEditable(index, column) {
-      return false;
-    },
-  };
-  treeSelection.select(0);
-  currentItem = gDialog;
-  // onNameInput();
-
-  SetTextboxFocus(gDialog.selectName);
-
-  SetWindowLocation();
-}
-
-// Called from Advanced Edit
-function InitDialog() {
-  currentItem.onFocus();
-}
-
-// Called from Advanced Edit
-function ValidateData() {
-  currentItem.onBlur();
-  return true;
-}
-
-function onAccept() {
-  // All values are valid - copy to actual element in doc or
-  //   element created to insert
-  ValidateData();
-
-  var editor = GetCurrentEditor();
-
-  // Coalesce into one undo transaction
-  editor.beginTransaction();
-
-  try {
-    editor.cloneAttributes(selectElement, gDialog.element);
-
-    if (insertNew) {
-      // 'true' means delete the selection before inserting
-      editor.insertElementAtSelection(selectElement, true);
-    }
-
-    editor.setShouldTxnSetSelection(false);
-
-    while (selectElement.lastChild) {
-      editor.deleteNode(selectElement.lastChild);
-    }
-
-    var offset = 0;
-    for (var i = 1; i < itemArray.length; i++) {
-      if (itemArray[i].level > 1) {
-        selectElement.lastChild.appendChild(itemArray[i].element);
-      } else {
-        editor.insertNode(itemArray[i].element, selectElement, offset++, true);
-      }
-    }
-
-    editor.setShouldTxnSetSelection(true);
-  } finally {
-    editor.endTransaction();
-  }
-
-  SaveWindowLocation();
-}
-
-// Button actions
-function AddOption() {
-  currentItem.appendOption(
-    GetCurrentEditor().createElementWithDefaults("option"),
-    treeSelection.currentIndex
-  );
-  SetTextboxFocus(gDialog.optionText);
-}
-
-function AddOptGroup() {
-  var optgroupElement = GetCurrentEditor().createElementWithDefaults(
-    "optgroup"
-  );
-  var index = itemArray.length;
-  // XXX need to repaint the lines, tree won't do this
-  theTree.invalidateRange(gDialog.lastChild(), index);
-  // append the wrapped object
-  itemArray.push(new optgroupObject(optgroupElement));
-  theTree.rowCountChanged(index, 1);
-  selectTreeIndex(index, false);
-  SetTextboxFocus(gDialog.optgroupLabel);
-}
-
-function RemoveElement() {
-  if (currentItem.canDestroy(true)) {
-    // Only removing empty option groups for now
-    var index = treeSelection.currentIndex;
-    var level = itemArray[index].level;
-    // Perform necessary cleanup and remove the wrapper
-    itemArray[index].destroy();
-    itemArray.splice(index, 1);
-    --index;
-    // XXX need to repaint the lines, tree won't do this
-    if (level == 1) {
-      var last = gDialog.lastChild();
-      if (index > last) {
-        theTree.invalidateRange(last, index);
-      }
-    }
-    selectTreeIndex(index, true);
-    theTree.rowCountChanged(++index, -1);
-  }
-}
-
-// Event handler
-function onTreeKeyUp(event) {
-  if (event.keyCode == event.DOM_VK_SPACE) {
-    currentItem.cycleCell();
-  }
-}
-
-function onNameInput() {
-  var disabled = !gDialog.selectName.value;
-  if (gDialog.accept.disabled != disabled) {
-    gDialog.accept.disabled = disabled;
-  }
-  gDialog.element.setAttribute("name", gDialog.selectName.value);
-  // repaint the tree
-  var primaryCol = theTree.columns.getPrimaryColumn();
-  theTree.invalidateCell(treeSelection.currentIndex, primaryCol);
-}
-
-function onLabelInput() {
-  currentItem.element.setAttribute("label", gDialog.optgroupLabel.value);
-  // repaint the tree
-  var primaryCol = theTree.columns.getPrimaryColumn();
-  theTree.invalidateCell(treeSelection.currentIndex, primaryCol);
-}
-
-function onTextInput() {
-  currentItem.element.text = gDialog.optionText.value;
-  // repaint the tree
-  if (hasValue) {
-    var primaryCol = theTree.columns.getPrimaryColumn();
-    theTree.invalidateCell(treeSelection.currentIndex, primaryCol);
-  } else {
-    gDialog.optionValue.value = gDialog.optionText.value;
-    theTree.invalidateRow(treeSelection.currentIndex);
-  }
-}
-
-function onValueInput() {
-  gDialog.optionHasValue.checked = hasValue = true;
-  oldValue = gDialog.optionValue.value;
-  currentItem.element.setAttribute("value", oldValue);
-  // repaint the tree
-  var column = theTree.columns.SelectValCol;
-  theTree.invalidateCell(treeSelection.currentIndex, column);
-}
-
-function onHasValueClick() {
-  hasValue = gDialog.optionHasValue.checked;
-  if (hasValue) {
-    gDialog.optionValue.value = oldValue;
-    currentItem.element.setAttribute("value", oldValue);
-  } else {
-    oldValue = gDialog.optionValue.value;
-    gDialog.optionValue.value = gDialog.optionText.value;
-    currentItem.element.removeAttribute("value");
-  }
-  // repaint the tree
-  var column = theTree.columns.SelectValCol;
-  theTree.invalidateCell(treeSelection.currentIndex, column);
-}
-
-function onSelectMultipleClick() {
-  // Recalculate the unique selected option if we need it and have lost it
-  if (
-    !gDialog.selectMultiple.checked &&
-    selectedOptionCount == 1 &&
-    !selectedOption
-  ) {
-    // eslint-disable-next-line curly
-    for (
-      var i = 1;
-      !(selectedOption = itemArray[i].element).hasAttribute("selected");
-      i++
-    );
-  }
-}
-
-function selectTreeIndex(index, focus) {
-  treeSelection.select(index);
-  theTree.ensureRowIsVisible(index);
-  if (focus) {
-    gDialog.tree.focus();
-  }
-}
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdSelectProps.xul
+++ /dev/null
@@ -1,143 +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://editor/skin/editor.css" type="text/css"?>
-<?xml-stylesheet href="chrome://editor/skin/EditorDialog.css" type="text/css"?>
-
-<!DOCTYPE dialog [
-<!ENTITY % edSelectProperties SYSTEM "chrome://messenger/locale/messengercompose/EditorSelectProperties.dtd">
-%edSelectProperties;
-<!ENTITY % edDialogOverlay SYSTEM "chrome://messenger/locale/messengercompose/EdDialogOverlay.dtd">
-%edDialogOverlay;
-]>
-
-<dialog title="&windowTitle.label;"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml"
-        onload="Startup();"
-        buttons="accept,cancel">
-
-  <!-- Methods common to all editor dialogs -->
-  <script src="chrome://messenger/content/messengercompose/editorUtilities.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdDialogCommon.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdSelectProps.js"/>
-
-  <spacer id="location" offsetY="50" persist="offsetX offsetY"/>
-
-  <!-- Setting rows="7" on tree isn't working, equalsize vbox sets tree height. -->
-  <vbox equalsize="always">
-    <tree id="SelectTree" onselect="treeBoxObject.view.selectionChanged();" onkeyup="onTreeKeyUp(event);">
-      <treecols id="SelectCols">
-        <treecol id="SelectTextCol" flex="3" label="&TextHeader.label;" primary="true"/>
-        <splitter class="tree-splitter"/>
-        <treecol id="SelectValCol" flex="2" label="&ValueHeader.label;"/>
-        <treecol id="SelectSelCol" label="&SelectedHeader.label;" cycler="true"/>
-      </treecols>
-
-      <treechildren id="SelectTreeChildren"/>
-    </tree>
-
-    <hbox flex="1">
-      <deck flex="1" id="SelectDeck" index="0">
-        <groupbox flex="1">
-          <hbox class="groupbox-title">
-            <label class="header">&Select.label;</label>
-          </hbox>
-          <grid flex="1"><columns><column flex="1"/><column/></columns>
-            <rows>
-              <row align="center">
-                <label control="SelectName" value="&SelectName.label;" accesskey="&SelectName.accesskey;"/>
-                <textbox id="SelectName" flex="1" oninput="onNameInput();"/>
-              </row>
-              <row align="center">
-                <label control="SelectSize" value="&SelectSize.label;" accesskey="&SelectSize.accesskey;"/>
-                <hbox>
-                  <textbox id="SelectSize" class="narrow" oninput="forceInteger(this.id);"/>
-                </hbox>
-              </row>
-              <row>
-                <spacer/>
-                <checkbox id="SelectMultiple" flex="1" label="&SelectMultiple.label;" accesskey="&SelectMultiple.accesskey;" oncommand="onSelectMultipleClick();"/>
-              </row>
-              <row>
-                <spacer/>
-                <checkbox id="SelectDisabled" flex="1" label="&SelectDisabled.label;" accesskey="&SelectDisabled.accesskey;"/>
-              </row>
-              <row align="center">
-                <label control="SelectTabIndex" value="&SelectTabIndex.label;" accesskey="&SelectTabIndex.accesskey;"/>
-                <hbox>
-                  <textbox id="SelectTabIndex" class="narrow" oninput="forceInteger(this.id);"/>
-                </hbox>
-              </row>
-            </rows>
-          </grid>
-        </groupbox>
-
-        <groupbox flex="1">
-          <hbox class="groupbox-title">
-            <label class="header">&OptGroup.label;</label>
-          </hbox>
-          <grid flex="1"><columns><column flex="1"/><column/></columns>
-            <rows>
-              <row align="center">
-                <label control="OptGroupLabel" value="&OptGroupLabel.label;" accesskey="&OptGroupLabel.accesskey;"/>
-                <textbox id="OptGroupLabel" oninput="onLabelInput();"/>
-              </row>
-              <row>
-                <spacer/>
-                <checkbox id="OptGroupDisabled" label="&OptGroupDisabled.label;" accesskey="&OptGroupDisabled.accesskey;"/>
-              </row>
-            </rows>
-          </grid>
-        </groupbox>
-
-        <groupbox flex="1">
-          <hbox class="groupbox-title">
-            <label class="header">&Option.label;</label>
-          </hbox>
-          <grid flex="1"><columns><column flex="1"/><column/></columns>
-            <rows>
-              <row align="center">
-                <label control="OptionText" value="&OptionText.label;" accesskey="&OptionText.accesskey;"/>
-                <textbox id="OptionText" oninput="onTextInput();"/>
-              </row>
-              <row align="center">
-                <checkbox id="OptionHasValue" label="&OptionValue.label;" accesskey="&OptionValue.accesskey;" oncommand="onHasValueClick();"/>
-                <textbox id="OptionValue" oninput="onValueInput();"/>
-              </row>
-              <row>
-                <spacer/>
-                <checkbox id="OptionSelected" label="&OptionSelected.label;" accesskey="&OptionSelected.accesskey;" oncommand="currentItem.cycleCell();"/>
-              </row>
-              <row>
-                <spacer/>
-                <checkbox id="OptionDisabled" label="&OptionDisabled.label;" accesskey="&OptionDisabled.accesskey;"/>
-              </row>
-            </rows>
-          </grid>
-        </groupbox>
-      </deck>
-
-      <vbox>
-        <button label="&AddOption.label;" accesskey="&AddOption.accesskey;" oncommand="AddOption();"/>
-        <button label="&AddOptGroup.label;" accesskey="&AddOptGroup.accesskey;" oncommand="AddOptGroup();"/>
-        <button id="RemoveButton" label="&RemoveElement.label;" accesskey="&RemoveElement.accesskey;"
-                oncommand="RemoveElement();" disabled="true"/>
-        <button id="PreviousButton" label="&MoveElementUp.label;" accesskey="&MoveElementUp.accesskey;"
-                oncommand="currentItem.moveUp();" disabled="true" type="row"/>
-        <button id="NextButton" label="&MoveElementDown.label;" accesskey="&MoveElementDown.accesskey;"
-                oncommand="currentItem.moveDown();" disabled="true" type="row"/>
-        <spacer flex="1"/>
-        <button id="AdvancedEditButton"
-                oncommand="onAdvancedEdit();"
-                label="&AdvancedEditButton.label;"
-                accesskey="&AdvancedEditButton.accessKey;"
-                tooltiptext="&AdvancedEditButton.tooltip;"/>
-      </vbox>
-    </hbox>
-  </vbox>
-
-  <separator class="groove"/>
-
-</dialog>
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdTextAreaProps.js
+++ /dev/null
@@ -1,171 +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/. */
-
-/* import-globals-from ../editorUtilities.js */
-/* import-globals-from EdDialogCommon.js */
-
-var insertNew;
-var textareaElement;
-
-// dialog initialization code
-
-document.addEventListener("dialogaccept", onAccept);
-document.addEventListener("dialogcancel", onCancel);
-
-function Startup() {
-  var editor = GetCurrentEditor();
-  if (!editor) {
-    dump("Failed to get active editor!\n");
-    window.close();
-    return;
-  }
-
-  gDialog = {
-    accept: document.documentElement.getButton("accept"),
-    textareaName: document.getElementById("TextAreaName"),
-    textareaRows: document.getElementById("TextAreaRows"),
-    textareaCols: document.getElementById("TextAreaCols"),
-    textareaWrap: document.getElementById("TextAreaWrap"),
-    textareaReadOnly: document.getElementById("TextAreaReadOnly"),
-    textareaDisabled: document.getElementById("TextAreaDisabled"),
-    textareaTabIndex: document.getElementById("TextAreaTabIndex"),
-    textareaAccessKey: document.getElementById("TextAreaAccessKey"),
-    textareaValue: document.getElementById("TextAreaValue"),
-    MoreSection: document.getElementById("MoreSection"),
-    MoreFewerButton: document.getElementById("MoreFewerButton"),
-  };
-
-  // Get a single selected text area element
-  const kTagName = "textarea";
-  try {
-    textareaElement = editor.getSelectedElement(kTagName);
-  } catch (e) {}
-
-  if (textareaElement) {
-    // We found an element and don't need to insert one
-    insertNew = false;
-
-    gDialog.textareaValue.value = textareaElement.value;
-  } else {
-    insertNew = true;
-
-    // We don't have an element selected,
-    //  so create one with default attributes
-    try {
-      textareaElement = editor.createElementWithDefaults(kTagName);
-    } catch (e) {}
-
-    if (!textareaElement) {
-      dump("Failed to get selected element or create a new one!\n");
-      window.close();
-      return;
-    }
-    gDialog.textareaValue.value = GetSelectionAsText();
-  }
-
-  // Make a copy to use for AdvancedEdit
-  globalElement = textareaElement.cloneNode(false);
-
-  InitDialog();
-
-  InitMoreFewer();
-
-  SetTextboxFocus(gDialog.textareaName);
-
-  SetWindowLocation();
-}
-
-function InitDialog() {
-  gDialog.textareaName.value = globalElement.getAttribute("name");
-  gDialog.textareaRows.value = globalElement.getAttribute("rows");
-  gDialog.textareaCols.value = globalElement.getAttribute("cols");
-  gDialog.textareaWrap.value = GetHTMLOrCSSStyleValue(
-    globalElement,
-    "wrap",
-    "white-space"
-  );
-  gDialog.textareaReadOnly.checked = globalElement.hasAttribute("readonly");
-  gDialog.textareaDisabled.checked = globalElement.hasAttribute("disabled");
-  gDialog.textareaTabIndex.value = globalElement.getAttribute("tabindex");
-  gDialog.textareaAccessKey.value = globalElement.getAttribute("accesskey");
-  onInput();
-}
-
-function onInput() {
-  var disabled =
-    !gDialog.textareaName.value ||
-    !gDialog.textareaRows.value ||
-    !gDialog.textareaCols.value;
-  if (gDialog.accept.disabled != disabled) {
-    gDialog.accept.disabled = disabled;
-  }
-}
-
-function ValidateData() {
-  var attributes = {
-    name: gDialog.textareaName.value,
-    rows: gDialog.textareaRows.value,
-    cols: gDialog.textareaCols.value,
-    wrap: gDialog.textareaWrap.value,
-    tabindex: gDialog.textareaTabIndex.value,
-    accesskey: gDialog.textareaAccessKey.value,
-  };
-  var flags = {
-    readonly: gDialog.textareaReadOnly.checked,
-    disabled: gDialog.textareaDisabled.checked,
-  };
-  for (var a in attributes) {
-    if (attributes[a]) {
-      globalElement.setAttribute(a, attributes[a]);
-    } else {
-      globalElement.removeAttribute(a);
-    }
-  }
-  for (var f in flags) {
-    if (flags[f]) {
-      globalElement.setAttribute(f, "");
-    } else {
-      globalElement.removeAttribute(f);
-    }
-  }
-  return true;
-}
-
-function onAccept() {
-  // All values are valid - copy to actual element in doc or
-  //   element created to insert
-  ValidateData();
-
-  var editor = GetCurrentEditor();
-
-  editor.beginTransaction();
-
-  try {
-    editor.cloneAttributes(textareaElement, globalElement);
-
-    if (insertNew) {
-      editor.insertElementAtSelection(textareaElement, true);
-    }
-
-    // undoably set value
-    var initialText = gDialog.textareaValue.value;
-    if (initialText != textareaElement.value) {
-      editor.setShouldTxnSetSelection(false);
-
-      while (textareaElement.hasChildNodes()) {
-        editor.deleteNode(textareaElement.lastChild);
-      }
-      if (initialText) {
-        var textNode = editor.document.createTextNode(initialText);
-        editor.insertNode(textNode, textareaElement, 0);
-      }
-
-      editor.setShouldTxnSetSelection(true);
-    }
-  } finally {
-    editor.endTransaction();
-  }
-
-  SaveWindowLocation();
-}
deleted file mode 100644
--- a/mail/components/compose/content/dialogs/EdTextAreaProps.xul
+++ /dev/null
@@ -1,115 +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://editor/skin/editor.css" type="text/css"?>
-<?xml-stylesheet href="chrome://editor/skin/EditorDialog.css" type="text/css"?>
-
-<!DOCTYPE dialog [
-<!ENTITY % edTextAreaProperties SYSTEM "chrome://messenger/locale/messengercompose/EditorTextAreaProperties.dtd">
-%edTextAreaProperties;
-<!ENTITY % edDialogOverlay SYSTEM "chrome://messenger/locale/messengercompose/EdDialogOverlay.dtd">
-%edDialogOverlay;
-]>
-
-<dialog title="&windowTitle.label;"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-        xmlns:html="http://www.w3.org/1999/xhtml"
-        onload="Startup();"
-        buttons="accept,cancel">
-
-  <!-- Methods common to all editor dialogs -->
-  <script src="chrome://messenger/content/messengercompose/editorUtilities.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdDialogCommon.js"/>
-  <script src="chrome://messenger/content/messengercompose/EdTextAreaProps.js"/>
-
-  <spacer id="location" offsetY="50" persist="offsetX offsetY"/>
-
-  <groupbox>
-    <hbox class="groupbox-title">
-      <label class="header">&Settings.label;</label>
-    </hbox>
-    <grid><columns><column/><column/></columns>
-      <rows>
-        <row align="center">
-          <label control="TextAreaName" value="&TextAreaName.label;" accesskey="&TextAreaName.accessKey;"/>
-          <textbox id="TextAreaName" oninput="onInput();"/>
-        </row>
-        <row align="center">
-          <label control="TextAreaRows" value="&TextAreaRows.label;" accesskey="&TextAreaRows.accessKey;"/>
-          <hbox>
-            <textbox id="TextAreaRows" class="narrow" oninput="forceInteger(this.id); onInput();"/>
-          </hbox>
-        </row>
-        <row align="center">
-          <label control="TextAreaCols" value="&TextAreaCols.label;" accesskey="&TextAreaCols.accessKey;"/>
-          <hbox>
-            <textbox id="TextAreaCols" class="narrow" oninput="forceInteger(this.id); onInput();"/>
-          </hbox>
-        </row>
-      </rows>
-    </grid>
-    <hbox>
-      <button id="MoreFewerButton" oncommand="onMoreFewer();" persist="more"/>
-    </hbox>
-    <grid id="MoreSection"><columns><column/><column/></columns>
-      <rows>
-        <row align="center">
-          <label control="TextAreaWrap" value="&TextAreaWrap.label;" accesskey="&TextAreaWrap.accessKey;"/>
-          <menulist id="TextAreaWrap">
-            <menupopup>
-              <menuitem label="&WrapDefault.value;"/>
-              <menuitem label="&WrapOff.value;" value="off"/>
-              <menuseparator/>
-              <menuitem label="&WrapSoft.value;" value="soft"/>
-              <menuitem label="&WrapHard.value;" value="hard"/>
-              <menuseparator/>
-              <menuitem label="&WrapPhysical.value;" value="physical"/>
-              <menuitem label="&WrapVirtual.value;" value="virtual"/>
-              <menuseparator/>
-              <menuitem label="normal" value="normal"/>
-              <menuitem label="nowrap" value="nowrap"/>
-              <menuitem label="pre" value="pre"/>
-            </menupopup>
-          </menulist>
-        </row>
-        <row>
-          <spacer/>
-          <checkbox id="TextAreaReadOnly" label="&TextAreaReadOnly.label;" accesskey="&TextAreaReadOnly.accessKey;"/>
-        </row>
-        <row>
-          <spacer/>
-          <checkbox id="TextAreaDisabled" label="&TextAreaDisabled.label;" accesskey="&TextAreaDisabled.accessKey;"/>
-        </row>
-        <row align="center">
-          <label control="TextAreaTabIndex" value="&TextAreaTabIndex.label;" accesskey="&TextAreaTabIndex.accessKey;"/>
-          <hbox>
-            <textbox id="TextAreaTabIndex" class="narrow" oninput="forceInteger(this.id);"/>
-          </hbox>
-        </row>
-        <row align="center">
-          <label control="TextAreaAccessKey" value="&TextAreaAccessKey.label;" accesskey="&TextAreaAccessKey.accessKey;"/>
-          <hbox>
-            <textbox id="TextAreaAccessKey" class="narrow" maxlength="1"/>
-          </hbox>
-        </row>
-        <row>
-          <label control="TextAreaValue" value="&InitialText.label;" accesskey="&InitialText.accessKey;"/>
-        </row>
-        <html:textarea id="TextAreaValue" flex="1" rows="5"/>
-      </rows>
-    </grid>
-  </groupbox>
-
-  <vbox id="AdvancedEdit">
-    <hbox flex="1" style="margin-top: 0.2em" align="center">
-      <!-- This will right-align the button -->
-      <spacer flex="1"/>
-      <button id="AdvancedEditButton1" oncommand="onAdvancedEdit()" label="&AdvancedEditButton.label;"
-              accesskey="&AdvancedEditButton.accessKey;" tooltiptext="&AdvancedEditButton.tooltip;"/>
-    </hbox>
-    <separator id="advancedSeparator" class="groove"/>
-  </vbox>
-
-</dialog>
--- a/mail/components/compose/content/messengercompose.xul
+++ b/mail/components/compose/content/messengercompose.xul
@@ -132,24 +132,17 @@
     <command id="cmd_listProperties" oncommand="goDoCommand('cmd_listProperties')"/>
     <command id="cmd_colorProperties" oncommand="goDoCommand('cmd_colorProperties')"/>
 
     <command id="cmd_link" oncommand="goDoCommand('cmd_link')"/>
     <command id="cmd_anchor" oncommand="goDoCommand('cmd_anchor')"/>
     <command id="cmd_image" oncommand="goDoCommand('cmd_image')"/>
     <command id="cmd_hline" oncommand="goDoCommand('cmd_hline')"/>
     <command id="cmd_table" oncommand="goDoCommand('cmd_table')"/>
-    <command id="cmd_form" oncommand="goDoCommand('cmd_form')"/>
-    <command id="cmd_inputtag" oncommand="goDoCommand('cmd_inputtag')"/>
     <command id="cmd_inputimage" oncommand="goDoCommand('cmd_inputimage')"/>
-    <command id="cmd_textarea" oncommand="goDoCommand('cmd_textarea')"/>
-    <command id="cmd_select" oncommand="goDoCommand('cmd_select')"/>
-    <command id="cmd_button" oncommand="goDoCommand('cmd_button')"/>
-    <command id="cmd_label" oncommand="goDoCommand('cmd_label')"/>
-    <command id="cmd_fieldset" oncommand="goDoCommand('cmd_fieldset')"/>
     <command id="cmd_isindex" oncommand="goDoCommand('cmd_isindex')"/>
     <command id="cmd_objectProperties" oncommand="goDoCommand('cmd_objectProperties')"/>
     <command id="cmd_insertChars" oncommand="goDoCommand('cmd_insertChars')" label="&insertCharsCmd.label;"/>
     <command id="cmd_insertHTMLWithDialog" oncommand="goDoCommand('cmd_insertHTMLWithDialog')" label="&insertHTMLCmd.label;"/>
     <command id="cmd_insertMathWithDialog" oncommand="goDoCommand('cmd_insertMathWithDialog')" label="&insertMathCmd.label;"/>
 
     <command id="cmd_insertBreak" oncommand="goDoCommand('cmd_insertBreak')"/>
     <command id="cmd_insertBreakAll" oncommand="goDoCommand('cmd_insertBreakAll')"/>
--- a/mail/components/compose/jar.mn
+++ b/mail/components/compose/jar.mn
@@ -33,42 +33,26 @@ messenger.jar:
     content/messenger/messengercompose/EdInsertTOC.xul               (content/dialogs/EdInsertTOC.xul)
     content/messenger/messengercompose/EdInsertTOC.js                (content/dialogs/EdInsertTOC.js)
     content/messenger/messengercompose/EdInsertTable.xul             (content/dialogs/EdInsertTable.xul)
     content/messenger/messengercompose/EdInsertTable.js              (content/dialogs/EdInsertTable.js)
     content/messenger/messengercompose/EdInsertMath.xul              (content/dialogs/EdInsertMath.xul)
     content/messenger/messengercompose/EdInsertMath.js               (content/dialogs/EdInsertMath.js)
     content/messenger/messengercompose/EdTableProps.xul              (content/dialogs/EdTableProps.xul)
     content/messenger/messengercompose/EdTableProps.js               (content/dialogs/EdTableProps.js)
-    content/messenger/messengercompose/EdFormProps.xul               (content/dialogs/EdFormProps.xul)
-    content/messenger/messengercompose/EdFormProps.js                (content/dialogs/EdFormProps.js)
-    content/messenger/messengercompose/EdInputProps.xul              (content/dialogs/EdInputProps.xul)
-    content/messenger/messengercompose/EdInputProps.js               (content/dialogs/EdInputProps.js)
 *   content/messenger/messengercompose/EdInputImage.xul              (content/dialogs/EdInputImage.xul)
     content/messenger/messengercompose/EdInputImage.js               (content/dialogs/EdInputImage.js)
-    content/messenger/messengercompose/EdTextAreaProps.xul           (content/dialogs/EdTextAreaProps.xul)
-    content/messenger/messengercompose/EdTextAreaProps.js            (content/dialogs/EdTextAreaProps.js)
-    content/messenger/messengercompose/EdSelectProps.xul             (content/dialogs/EdSelectProps.xul)
-    content/messenger/messengercompose/EdSelectProps.js              (content/dialogs/EdSelectProps.js)
-    content/messenger/messengercompose/EdButtonProps.xul             (content/dialogs/EdButtonProps.xul)
-    content/messenger/messengercompose/EdButtonProps.js              (content/dialogs/EdButtonProps.js)
-    content/messenger/messengercompose/EdLabelProps.xul              (content/dialogs/EdLabelProps.xul)
-    content/messenger/messengercompose/EdLabelProps.js               (content/dialogs/EdLabelProps.js)
-    content/messenger/messengercompose/EdFieldSetProps.xul           (content/dialogs/EdFieldSetProps.xul)
-    content/messenger/messengercompose/EdFieldSetProps.js            (content/dialogs/EdFieldSetProps.js)
     content/messenger/messengercompose/EdInsSrc.xul                  (content/dialogs/EdInsSrc.xul)
     content/messenger/messengercompose/EdInsSrc.js                   (content/dialogs/EdInsSrc.js)
     content/messenger/messengercompose/EdInsertChars.xul             (content/dialogs/EdInsertChars.xul)
     content/messenger/messengercompose/EdInsertChars.js              (content/dialogs/EdInsertChars.js)
     content/messenger/messengercompose/EdAdvancedEdit.xul            (content/dialogs/EdAdvancedEdit.xul)
     content/messenger/messengercompose/EdAdvancedEdit.js             (content/dialogs/EdAdvancedEdit.js)
     content/messenger/messengercompose/EdListProps.xul               (content/dialogs/EdListProps.xul)
     content/messenger/messengercompose/EdListProps.js                (content/dialogs/EdListProps.js)
-    content/messenger/messengercompose/EdPageProps.xul               (content/dialogs/EdPageProps.xul)
-    content/messenger/messengercompose/EdPageProps.js                (content/dialogs/EdPageProps.js)
     content/messenger/messengercompose/EdColorProps.xul              (content/dialogs/EdColorProps.xul)
     content/messenger/messengercompose/EdColorProps.js               (content/dialogs/EdColorProps.js)
     content/messenger/messengercompose/EdColorPicker.xul             (content/dialogs/EdColorPicker.xul)
     content/messenger/messengercompose/EdColorPicker.js              (content/dialogs/EdColorPicker.js)
     content/messenger/messengercompose/EdAECSSAttributes.js          (content/dialogs/EdAECSSAttributes.js)
     content/messenger/messengercompose/EdAEHTMLAttributes.js         (content/dialogs/EdAEHTMLAttributes.js)
     content/messenger/messengercompose/EdAEJSEAttributes.js          (content/dialogs/EdAEJSEAttributes.js)
     content/messenger/messengercompose/EdAEAttributes.js             (content/dialogs/EdAEAttributes.js)
deleted file mode 100644
--- a/mail/locales/en-US/chrome/messenger/messengercompose/EditorButtonProperties.dtd
+++ /dev/null
@@ -1,27 +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/. -->
-
-<!ENTITY windowTitle.label "Button Properties">
-
-<!ENTITY Settings.label "Settings">
-
-<!ENTITY ButtonType.label "Type">
-<!ENTITY ButtonType.accesskey "T">
-<!ENTITY submit.value "Submit">
-<!ENTITY reset.value "Reset">
-<!ENTITY button.value "Button">
-
-<!ENTITY ButtonName.label "Name:">
-<!ENTITY ButtonName.accesskey "N">
-<!ENTITY ButtonValue.label "Value:">
-<!ENTITY ButtonValue.accesskey "V">
-<!ENTITY tabIndex.label "Tab Index:">
-<!ENTITY tabIndex.accesskey "I">
-<!ENTITY ButtonDisabled.label "Disabled">
-<!ENTITY ButtonDisabled.accesskey "D">
-<!ENTITY AccessKey.label "Access Key:">
-<!ENTITY AccessKey.accesskey "K">
-
-<!ENTITY RemoveButton.label "Remove Button">
-<!ENTITY RemoveButton.accesskey "R">
deleted file mode 100644
--- a/mail/locales/en-US/chrome/messenger/messengercompose/EditorFieldSetProperties.dtd
+++ /dev/null
@@ -1,20 +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/. -->
-
-<!ENTITY windowTitle.label "Field Set Properties">
-
-<!ENTITY Legend.label "Legend">
-<!ENTITY Legend.accesskey "L">
-
-<!ENTITY EditLegendText.label "Edit Legend:">
-<!ENTITY EditLegendText.accesskey "T">
-<!ENTITY LegendAlign.label "Align Legend:">
-<!ENTITY LegendAlign.accesskey "A">
-<!ENTITY AlignDefault.label "Default">
-<!ENTITY AlignLeft.label "Left">
-<!ENTITY AlignCenter.label "Center">
-<!ENTITY AlignRight.label "Right">
-
-<!ENTITY RemoveFieldSet.label "Remove Field Set">
-<!ENTITY RemoveFieldSet.accesskey "R">
deleted file mode 100644
--- a/mail/locales/en-US/chrome/messenger/messengercompose/EditorFormProperties.dtd
+++ /dev/null
@@ -1,21 +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/. -->
-
-<!ENTITY windowTitle.label "Form Properties">
-
-<!ENTITY Settings.label "Settings">
-
-<!ENTITY FormName.label "Form Name:">
-<!ENTITY FormName.accesskey "N">
-<!ENTITY FormAction.label "Action URL:">
-<!ENTITY FormAction.accesskey "A">
-<!ENTITY FormMethod.label "Method:">
-<!ENTITY FormMethod.accesskey "M">
-<!ENTITY FormEncType.label "Encoding:">
-<!ENTITY FormEncType.accesskey "c">
-<!ENTITY FormTarget.label "Target Frame:">
-<!ENTITY FormTarget.accesskey "T">
-
-<!ENTITY RemoveForm.label "Remove Form">
-<!ENTITY RemoveForm.accesskey "R">
deleted file mode 100644
--- a/mail/locales/en-US/chrome/messenger/messengercompose/EditorLabelProperties.dtd
+++ /dev/null
@@ -1,18 +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/. -->
-
-<!ENTITY windowTitle.label "Label Properties">
-
-<!ENTITY Settings.label "Settings">
-<!ENTITY Settings.accesskey "S">
-
-<!ENTITY EditLabelText.label "Edit Text:">
-<!ENTITY EditLabelText.accesskey "T">
-<!ENTITY LabelFor.label "For Control:">
-<!ENTITY LabelFor.accesskey "F">
-<!ENTITY AccessKey.label "Access Key:">
-<!ENTITY AccessKey.accesskey "K">
-
-<!ENTITY RemoveLabel.label "Remove Label">
-<!ENTITY RemoveLabel.accesskey "R">
deleted file mode 100644
--- a/mail/locales/en-US/chrome/messenger/messengercompose/EditorSelectProperties.dtd
+++ /dev/null
@@ -1,48 +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/. -->
-
-<!ENTITY windowTitle.label "Selection List Properties">
-
-<!ENTITY Select.label "Selection List">
-<!ENTITY SelectName.label "List Name:">
-<!ENTITY SelectName.accesskey "N">
-<!ENTITY SelectSize.label "Height:">
-<!ENTITY SelectSize.accesskey "H">
-<!ENTITY SelectMultiple.label "Multiple Selection">
-<!ENTITY SelectMultiple.accesskey "M">
-<!ENTITY SelectDisabled.label "Disabled">
-<!ENTITY SelectDisabled.accesskey "D">
-<!ENTITY SelectTabIndex.label "Tab Index:">
-<!ENTITY SelectTabIndex.accesskey "I">
-
-<!ENTITY OptGroup.label "Option Group">
-<!ENTITY OptGroupLabel.label "Label:">
-<!ENTITY OptGroupLabel.accesskey "L">
-<!ENTITY OptGroupDisabled.label "Disabled">
-<!ENTITY OptGroupDisabled.accesskey "D">
-
-<!ENTITY Option.label "Option">
-<!ENTITY OptionText.label "Text:">
-<!ENTITY OptionText.accesskey "T">
-<!ENTITY OptionValue.label "Value:">
-<!ENTITY OptionValue.accesskey "V">
-<!ENTITY OptionSelected.label "Initially Selected">
-<!ENTITY OptionSelected.accesskey "S">
-<!ENTITY OptionDisabled.label "Disabled">
-<!ENTITY OptionDisabled.accesskey "D">
-
-<!ENTITY TextHeader.label "Text">
-<!ENTITY ValueHeader.label "Value">
-<!ENTITY SelectedHeader.label "Selected">
-
-<!ENTITY AddOption.label "Add Option">
-<!ENTITY AddOption.accesskey "O">
-<!ENTITY AddOptGroup.label "Add Group">
-<!ENTITY AddOptGroup.accesskey "G">
-<!ENTITY RemoveElement.label "Remove">
-<!ENTITY RemoveElement.accesskey "R">
-<!ENTITY MoveElementUp.label "Move Up">
-<!ENTITY MoveElementUp.accesskey "U">
-<!ENTITY MoveElementDown.label "Move Down">
-<!ENTITY MoveElementDown.accesskey "D">
deleted file mode 100644
--- a/mail/locales/en-US/chrome/messenger/messengercompose/EditorTextAreaProperties.dtd
+++ /dev/null
@@ -1,33 +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/. -->
-
-<!ENTITY windowTitle.label "Text Area Properties">
-
-<!ENTITY Settings.label "Settings">
-
-<!ENTITY TextAreaName.label "Field Name:">
-<!ENTITY TextAreaName.accessKey "N">
-<!ENTITY TextAreaRows.label "Rows:">
-<!ENTITY TextAreaRows.accessKey "R">
-<!ENTITY TextAreaCols.label "Columns:">
-<!ENTITY TextAreaCols.accessKey "C">
-<!ENTITY TextAreaReadOnly.label "Read Only">
-<!ENTITY TextAreaReadOnly.accessKey "O">
-<!ENTITY TextAreaDisabled.label "Disabled">
-<!ENTITY TextAreaDisabled.accessKey "D">
-<!ENTITY TextAreaTabIndex.label "Tab Index:">
-<!ENTITY TextAreaTabIndex.accessKey "I">
-<!ENTITY TextAreaAccessKey.label "Access Key:">
-<!ENTITY TextAreaAccessKey.accessKey "K">
-<!ENTITY InitialText.label "Initial Text:">
-<!ENTITY InitialText.accessKey "T">
-
-<!ENTITY TextAreaWrap.label "Wrap Mode:">
-<!ENTITY TextAreaWrap.accessKey "W">
-<!ENTITY WrapDefault.value "Default">
-<!ENTITY WrapOff.value "Off">
-<!ENTITY WrapHard.value "Hard">
-<!ENTITY WrapSoft.value "Soft">
-<!ENTITY WrapPhysical.value "Physical">
-<!ENTITY WrapVirtual.value "Virtual">
--- a/mail/locales/jar.mn
+++ b/mail/locales/jar.mn
@@ -175,23 +175,17 @@
   locale/@AB_CD@/messenger/messengercompose/EditorLinkProperties.dtd    (%chrome/messenger/messengercompose/EditorLinkProperties.dtd)
   locale/@AB_CD@/messenger/messengercompose/EditorListProperties.dtd    (%chrome/messenger/messengercompose/EditorListProperties.dtd)
   locale/@AB_CD@/messenger/messengercompose/EditorColorProperties.dtd   (%chrome/messenger/messengercompose/EditorColorProperties.dtd)
   locale/@AB_CD@/messenger/messengercompose/EdColorPicker.dtd           (%chrome/messenger/messengercompose/EdColorPicker.dtd)
   locale/@AB_CD@/messenger/messengercompose/EditorReplace.dtd           (%chrome/messenger/messengercompose/EditorReplace.dtd)
   locale/@AB_CD@/messenger/messengercompose/EditorSpellCheck.dtd        (%chrome/messenger/messengercompose/EditorSpellCheck.dtd)
   locale/@AB_CD@/messenger/messengercompose/EditorPersonalDictionary.dtd (%chrome/messenger/messengercompose/EditorPersonalDictionary.dtd)
   locale/@AB_CD@/messenger/messengercompose/EditorTableProperties.dtd   (%chrome/messenger/messengercompose/EditorTableProperties.dtd)
-  locale/@AB_CD@/messenger/messengercompose/EditorFormProperties.dtd    (%chrome/messenger/messengercompose/EditorFormProperties.dtd)
   locale/@AB_CD@/messenger/messengercompose/EditorInputProperties.dtd   (%chrome/messenger/messengercompose/EditorInputProperties.dtd)
-  locale/@AB_CD@/messenger/messengercompose/EditorTextAreaProperties.dtd (%chrome/messenger/messengercompose/EditorTextAreaProperties.dtd)
-  locale/@AB_CD@/messenger/messengercompose/EditorSelectProperties.dtd  (%chrome/messenger/messengercompose/EditorSelectProperties.dtd)
-  locale/@AB_CD@/messenger/messengercompose/EditorButtonProperties.dtd  (%chrome/messenger/messengercompose/EditorButtonProperties.dtd)
-  locale/@AB_CD@/messenger/messengercompose/EditorLabelProperties.dtd   (%chrome/messenger/messengercompose/EditorLabelProperties.dtd)
-  locale/@AB_CD@/messenger/messengercompose/EditorFieldSetProperties.dtd (%chrome/messenger/messengercompose/EditorFieldSetProperties.dtd)
   locale/@AB_CD@/messenger/messengercompose/EdNamedAnchorProperties.dtd (%chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd)
   locale/@AB_CD@/messenger/messengercompose/EdDialogOverlay.dtd         (%chrome/messenger/messengercompose/EdDialogOverlay.dtd)
   locale/@AB_CD@/messenger/messengercompose/EdAdvancedEdit.dtd          (%chrome/messenger/messengercompose/EdAdvancedEdit.dtd)
   locale/@AB_CD@/messenger/messengercompose/EdConvertToTable.dtd        (%chrome/messenger/messengercompose/EdConvertToTable.dtd)
   locale/@AB_CD@/messenger/preferences/preferences.dtd                  (%chrome/messenger/preferences/preferences.dtd)
   locale/@AB_CD@/messenger/preferences/general.dtd                      (%chrome/messenger/preferences/general.dtd)
   #ifdef XP_MACOSX
   locale/@AB_CD@/messenger/preferences/dockoptions.dtd                  (%chrome/messenger/preferences/dockoptions.dtd)