Bug 1472555 - Part 4 - Remove the "listbox" bindings. r=bgrins draft
authorPaolo Amadini <paolo.mozmail@amadzone.org>
Wed, 18 Jul 2018 11:23:22 +0100
changeset 819750 74a64794699d65b2a9fe5ae4cb215403657d9e4a
parent 819749 629275e04d7ffef82307f32dee219771e18617f4
child 819751 6910e500f30eb42b45032dbab85a3dc9c014390b
push id116638
push userpaolo.mozmail@amadzone.org
push dateWed, 18 Jul 2018 13:04:50 +0000
reviewersbgrins
bugs1472555
milestone63.0a1
Bug 1472555 - Part 4 - Remove the "listbox" bindings. r=bgrins MozReview-Commit-ID: Cw90DjEMJpn
browser/installer/allowed-dupes.mn
testing/marionette/element.js
toolkit/content/widgets/listbox.xml
toolkit/content/widgets/richlistbox.xml
toolkit/content/xul.css
toolkit/themes/linux/global/jar.mn
toolkit/themes/linux/global/listbox.css
toolkit/themes/mobile/jar.mn
toolkit/themes/osx/global/checkbox/cbox-check-dis.gif
toolkit/themes/osx/global/jar.mn
toolkit/themes/osx/global/listbox.css
toolkit/themes/shared/extensions/extensions.inc.css
toolkit/themes/windows/global/jar.mn
toolkit/themes/windows/global/listbox.css
--- a/browser/installer/allowed-dupes.mn
+++ b/browser/installer/allowed-dupes.mn
@@ -89,17 +89,16 @@ chrome.manifest
 chrome/toolkit/skin/classic/global/autocomplete.css
 chrome/toolkit/skin/classic/global/button.css
 chrome/toolkit/skin/classic/global/checkbox.css
 chrome/toolkit/skin/classic/global/dialog.css
 chrome/toolkit/skin/classic/global/dropmarker.css
 chrome/toolkit/skin/classic/global/global.css
 chrome/toolkit/skin/classic/global/groupbox.css
 chrome/toolkit/skin/classic/global/icons/close-win7.png
-chrome/toolkit/skin/classic/global/listbox.css
 chrome/toolkit/skin/classic/global/menu.css
 chrome/toolkit/skin/classic/global/menulist.css
 chrome/toolkit/skin/classic/global/numberbox.css
 chrome/toolkit/skin/classic/global/popup.css
 chrome/toolkit/skin/classic/global/preferences.css
 chrome/toolkit/skin/classic/global/progressmeter.css
 chrome/toolkit/skin/classic/global/radio.css
 chrome/toolkit/skin/classic/global/richlistbox.css
--- a/testing/marionette/element.js
+++ b/testing/marionette/element.js
@@ -33,23 +33,21 @@ const DOCUMENT_NODE = 9;
 
 const XBLNS = "http://www.mozilla.org/xbl";
 const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
 
 /** XUL elements that support checked property. */
 const XUL_CHECKED_ELS = new Set([
   "button",
   "checkbox",
-  "listitem",
   "toolbarbutton",
 ]);
 
 /** XUL elements that support selected property. */
 const XUL_SELECTED_ELS = new Set([
-  "listitem",
   "menu",
   "menuitem",
   "menuseparator",
   "radio",
   "richlistitem",
   "tab",
 ]);
 
--- a/toolkit/content/widgets/listbox.xml
+++ b/toolkit/content/widgets/listbox.xml
@@ -630,303 +630,18 @@
             break;
           }
         }
       ]]>
       </handler>
     </handlers>
   </binding>
 
-
-  <!-- Binding for xul:listbox element.
-  -->
-  <binding id="listbox"
-           extends="#listbox-base">
-
-    <resources>
-      <stylesheet src="chrome://global/skin/listbox.css"/>
-    </resources>
-
-    <content>
-      <children includes="listcols">
-        <xul:listcols>
-          <xul:listcol flex="1"/>
-        </xul:listcols>
-      </children>
-      <xul:listrows>
-        <children includes="listhead"/>
-        <xul:listboxbody xbl:inherits="rows,size,minheight">
-          <children includes="listitem"/>
-        </xul:listboxbody>
-      </xul:listrows>
-    </content>
-
-    <implementation>
-
-      <!-- ///////////////// public listbox members ///////////////// -->
-
-      <property name="listBoxObject"
-                onget="return this.boxObject;"
-                readonly="true"/>
-
-      <!-- ///////////////// private listbox members ///////////////// -->
-
-      <field name="_touchY">-1</field>
-
-      <method name="_fireOnSelect">
-        <body>
-        <![CDATA[
-          if (!this._suppressOnSelect && !this.suppressOnSelect) {
-            var event = document.createEvent("Events");
-            event.initEvent("select", true, true);
-            this.dispatchEvent(event);
-          }
-        ]]>
-        </body>
-      </method>
-
-      <constructor>
-      <![CDATA[
-        var count = this.itemCount;
-        for (var index = 0; index < count; index++) {
-          var item = this.getItemAtIndex(index);
-          if (item.getAttribute("selected") == "true")
-            this.selectedItems.append(item);
-        }
-      ]]>
-      </constructor>
-
-      <!-- ///////////////// nsIDOMXULSelectControlElement ///////////////// -->
-
-      <method name="appendItem">
-        <parameter name="aLabel"/>
-        <parameter name="aValue"/>
-        <body>
-          const XULNS =
-            "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
-
-          var item = this.ownerDocument.createElementNS(XULNS, "listitem");
-          item.setAttribute("label", aLabel);
-          item.setAttribute("value", aValue);
-          this.appendChild(item);
-          return item;
-        </body>
-      </method>
-
-      <property name="itemCount" readonly="true"
-                onget="return this.listBoxObject.getRowCount()"/>
-
-      <!-- ///////////////// nsIListBoxObject ///////////////// -->
-      <method name="getIndexOfItem">
-        <parameter name="item"/>
-        <body>
-          <![CDATA[
-            if (this._selecting && this._selecting.item == item)
-              return this._selecting.index;
-            return this.listBoxObject.getIndexOfItem(item);
-          ]]>
-        </body>
-      </method>
-      <method name="getItemAtIndex">
-        <parameter name="index"/>
-        <body>
-          <![CDATA[
-            if (this._selecting && this._selecting.index == index)
-              return this._selecting.item;
-            return this.listBoxObject.getItemAtIndex(index);
-          ]]>
-        </body>
-      </method>
-      <method name="ensureIndexIsVisible">
-        <parameter name="index"/>
-        <body>
-          return this.listBoxObject.ensureIndexIsVisible(index);
-        </body>
-      </method>
-      <method name="ensureElementIsVisible">
-        <parameter name="element"/>
-        <body>
-          return this.ensureIndexIsVisible(this.listBoxObject.getIndexOfItem(element));
-        </body>
-      </method>
-      <method name="scrollToIndex">
-        <parameter name="index"/>
-        <body>
-          return this.listBoxObject.scrollToIndex(index);
-        </body>
-      </method>
-      <method name="getNumberOfVisibleRows">
-        <body>
-          return this.listBoxObject.getNumberOfVisibleRows();
-        </body>
-      </method>
-      <method name="getIndexOfFirstVisibleRow">
-        <body>
-          return this.listBoxObject.getIndexOfFirstVisibleRow();
-        </body>
-      </method>
-      <method name="getRowCount">
-        <body>
-          return this.listBoxObject.getRowCount();
-        </body>
-      </method>
-
-      <method name="scrollOnePage">
-        <parameter name="direction"/>  <!-- Must be -1 or 1 -->
-        <body>
-          <![CDATA[
-            var pageOffset = this.getNumberOfVisibleRows() * direction;
-            // skip over invisible elements - the user won't care about them
-            for (var i = 0; i != pageOffset; i += direction) {
-              var item = this.getItemAtIndex(this.currentIndex + i);
-              if (item && !this._canUserSelect(item))
-                pageOffset += direction;
-            }
-            var newTop = this.getIndexOfFirstVisibleRow() + pageOffset;
-            if (direction == 1) {
-              var maxTop = this.getRowCount() - this.getNumberOfVisibleRows();
-              for (i = this.getRowCount(); i >= 0 && i > maxTop; i--) {
-                item = this.getItemAtIndex(i);
-                if (item && !this._canUserSelect(item))
-                  maxTop--;
-              }
-              if (newTop >= maxTop)
-                newTop = maxTop;
-            }
-            if (newTop < 0)
-              newTop = 0;
-            this.scrollToIndex(newTop);
-            return pageOffset;
-          ]]>
-        </body>
-      </method>
-    </implementation>
-
-    <handlers>
-      <handler event="keypress" key=" " phase="target">
-        <![CDATA[
-          if (this.currentItem) {
-            if (this.currentItem.getAttribute("type") != "checkbox") {
-              this.addItemToSelection(this.currentItem);
-              // Prevent page from scrolling on the space key.
-              event.preventDefault();
-            } else if (!this.currentItem.disabled) {
-              this.currentItem.checked = !this.currentItem.checked;
-              this.currentItem.doCommand();
-              // Prevent page from scrolling on the space key.
-              event.preventDefault();
-            }
-          }
-        ]]>
-      </handler>
-
-      <handler event="MozSwipeGesture">
-        <![CDATA[
-          // Figure out which index to show
-          let targetIndex = 0;
-
-          // Only handle swipe gestures up and down
-          switch (event.direction) {
-            case event.DIRECTION_DOWN:
-              targetIndex = this.itemCount - 1;
-              // Fall through for actual action
-            case event.DIRECTION_UP:
-              this.ensureIndexIsVisible(targetIndex);
-              break;
-          }
-        ]]>
-      </handler>
-
-      <handler event="touchstart">
-        <![CDATA[
-          if (event.touches.length > 1) {
-            // Multiple touch points detected, abort. In particular this aborts
-            // the panning gesture when the user puts a second finger down after
-            // already panning with one finger. Aborting at this point prevents
-            // the pan gesture from being resumed until all fingers are lifted
-            // (as opposed to when the user is back down to one finger).
-            this._touchY = -1;
-          } else {
-            this._touchY = event.touches[0].screenY;
-          }
-        ]]>
-      </handler>
-      <handler event="touchmove">
-        <![CDATA[
-          if (event.touches.length == 1 &&
-              this._touchY >= 0) {
-            let deltaY = this._touchY - event.touches[0].screenY;
-            let lines = Math.trunc(deltaY / this.listBoxObject.getRowHeight());
-            if (Math.abs(lines) > 0) {
-              this.listBoxObject.scrollByLines(lines);
-              deltaY -= lines * this.listBoxObject.getRowHeight();
-              this._touchY = event.touches[0].screenY + deltaY;
-            }
-            event.preventDefault();
-          }
-        ]]>
-      </handler>
-      <handler event="touchend">
-        <![CDATA[
-          this._touchY = -1;
-        ]]>
-      </handler>
-
-    </handlers>
-  </binding>
-
-  <binding id="listrows">
-
-    <resources>
-      <stylesheet src="chrome://global/skin/listbox.css"/>
-    </resources>
-
-    <handlers>
-      <handler event="DOMMouseScroll" phase="capturing">
-      <![CDATA[
-        if (event.axis == event.HORIZONTAL_AXIS)
-          return;
-
-        var listBox = this.parentNode.listBoxObject;
-        var rows = event.detail;
-        if (rows == UIEvent.SCROLL_PAGE_UP)
-          rows = -listBox.getNumberOfVisibleRows();
-        else if (rows == UIEvent.SCROLL_PAGE_DOWN)
-          rows = listBox.getNumberOfVisibleRows();
-
-        listBox.scrollByLines(rows);
-        event.preventDefault();
-      ]]>
-      </handler>
-
-      <handler event="MozMousePixelScroll" phase="capturing">
-      <![CDATA[
-        if (event.axis == event.HORIZONTAL_AXIS)
-          return;
-
-        // shouldn't be scrolled by pixel scrolling events before a line/page
-        // scrolling event.
-        event.preventDefault();
-      ]]>
-      </handler>
-    </handlers>
-  </binding>
-
   <binding id="listitem"
            extends="chrome://global/content/bindings/general.xml#basetext">
-    <resources>
-      <stylesheet src="chrome://global/skin/listbox.css"/>
-    </resources>
-
-    <content>
-      <children>
-        <xul:listcell xbl:inherits="label,crop,disabled,flexlabel"/>
-      </children>
-    </content>
-
     <implementation implements="nsIDOMXULSelectControlItemElement">
       <property name="current" onget="return this.getAttribute('current') == 'true';">
         <setter><![CDATA[
           if (val)
             this.setAttribute("current", "true");
           else
             this.removeAttribute("current");
 
@@ -1024,83 +739,9 @@
           // doesn't de- and reselect this item if it is selected
           control.selectItemRange(this, this);
         }
         control._userSelecting = false;
       ]]>
       </handler>
     </handlers>
   </binding>
-
-  <binding id="listitem-checkbox"
-           extends="chrome://global/content/bindings/listbox.xml#listitem">
-    <content>
-      <children>
-        <xul:listcell type="checkbox" xbl:inherits="label,crop,checked,disabled,flexlabel"/>
-      </children>
-    </content>
-
-    <implementation>
-      <property name="checked"
-                onget="return this.getAttribute('checked') == 'true';">
-        <setter><![CDATA[
-          if (val)
-            this.setAttribute("checked", "true");
-          else
-            this.removeAttribute("checked");
-          var event = document.createEvent("Events");
-          event.initEvent("CheckboxStateChange", true, true);
-          this.dispatchEvent(event);
-          return val;
-        ]]></setter>
-      </property>
-    </implementation>
-
-    <handlers>
-      <handler event="mousedown" button="0">
-      <![CDATA[
-        if (!this.disabled && !this.control.disabled) {
-          this.checked = !this.checked;
-          this.doCommand();
-        }
-      ]]>
-      </handler>
-    </handlers>
-  </binding>
-
-  <binding id="listcell"
-           extends="chrome://global/content/bindings/general.xml#basecontrol">
-
-    <resources>
-      <stylesheet src="chrome://global/skin/listbox.css"/>
-    </resources>
-
-    <content>
-      <children>
-        <xul:label class="listcell-label" xbl:inherits="value=label,flex=flexlabel,crop,disabled" flex="1" crop="right"/>
-      </children>
-    </content>
-  </binding>
-
-  <binding id="listcell-checkbox"
-           extends="chrome://global/content/bindings/listbox.xml#listcell">
-    <content>
-      <children>
-        <xul:image class="listcell-check" xbl:inherits="checked,disabled"/>
-        <xul:label class="listcell-label" xbl:inherits="value=label,flex=flexlabel,crop,disabled" flex="1" crop="right"/>
-      </children>
-    </content>
-  </binding>
-
-  <binding id="listhead">
-
-    <resources>
-      <stylesheet src="chrome://global/skin/listbox.css"/>
-    </resources>
-
-    <content>
-      <xul:listheaditem>
-        <children includes="listheader"/>
-      </xul:listheaditem>
-    </content>
-  </binding>
-
 </bindings>
--- a/toolkit/content/widgets/richlistbox.xml
+++ b/toolkit/content/widgets/richlistbox.xml
@@ -500,20 +500,16 @@
           }
         ]]>
       </handler>
     </handlers>
   </binding>
 
   <binding id="richlistitem"
            extends="chrome://global/content/bindings/listbox.xml#listitem">
-    <content>
-      <children/>
-    </content>
-
     <implementation>
       <field name="selectedByMouseOver">false</field>
 
       <destructor>
         <![CDATA[
           var control = this.control;
           if (!control)
             return;
--- a/toolkit/content/xul.css
+++ b/toolkit/content/xul.css
@@ -471,98 +471,16 @@ column {
 rows {
   -moz-box-orient: vertical;
 }
 
 column {
   -moz-box-orient: vertical;
 }
 
-/******** listbox **********/
-
-listbox {
-  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listbox");
-}
-
-listhead {
-  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listhead");
-}
-
-listrows {
-  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listrows");
-}
-
-listitem {
-  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem");
-}
-
-listitem[type="checkbox"] {
-  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-checkbox");
-}
-
-listcell {
-  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell");
-}
-
-listcell[type="checkbox"] {
-  -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-checkbox");
-}
-
-listbox {
-  display: -moz-grid;
-}
-
-listbox[rows] {
-  height: auto;
-}
-
-listcols, listhead, listrows, listboxbody {
-  display: -moz-grid-group;
-}
-
-listcol, listitem, listheaditem {
-  display: -moz-grid-line;
-}
-
-listbox {
-  -moz-user-focus: normal;
-  -moz-box-orient: vertical;
-  min-width: 0px;
-  min-height: 0px;
-  width: 200px;
-  height: 200px;
-}
-
-listhead {
-  -moz-box-orient: vertical;
-}
-
-listrows {
-  -moz-box-orient: vertical;
-  -moz-box-flex: 1;
-}
-
-listboxbody {
-  -moz-box-orient: vertical;
-  -moz-box-flex: 1;
-  /* Don't permit a horizontal scrollbar. See bug 285449 */
-  overflow-x: hidden !important;
-  overflow-y: auto;
-  min-height: 0px;
-}
-
-listcol {
-  -moz-box-orient: vertical;
-  min-width: 16px;
-}
-
-listcell {
-  -moz-box-align: center;
-}
-
 /******** tree ******/
 
 tree {
   -moz-binding: url("chrome://global/content/bindings/tree.xml#tree");
 }
 
 treecols {
   -moz-binding: url("chrome://global/content/bindings/tree.xml#treecols");
--- a/toolkit/themes/linux/global/jar.mn
+++ b/toolkit/themes/linux/global/jar.mn
@@ -9,17 +9,16 @@ toolkit.jar:
    skin/classic/global/button.css
    skin/classic/global/checkbox.css
    skin/classic/global/colorpicker.css
    skin/classic/global/commonDialog.css
    skin/classic/global/dropmarker.css
 *  skin/classic/global/findBar.css
 *  skin/classic/global/global.css
    skin/classic/global/groupbox.css
-   skin/classic/global/listbox.css
    skin/classic/global/menu.css
    skin/classic/global/menulist.css
    skin/classic/global/netError.css
 *  skin/classic/global/notification.css
 *  skin/classic/global/numberbox.css
    skin/classic/global/popup.css
    skin/classic/global/radio.css
    skin/classic/global/richlistbox.css
deleted file mode 100644
--- a/toolkit/themes/linux/global/listbox.css
+++ /dev/null
@@ -1,68 +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/. */
-
-/* ===== listbox.css =======================================================
-  == Styles used by XUL listbox-related elements.
-  ======================================================================= */
-
-@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
-
-/* ::::: listbox ::::: */
-
-listbox {
-  -moz-appearance: listbox;
-  margin: 2px 4px;
-  background-color: -moz-Field;
-  color: -moz-FieldText;
-}
-
-listbox[disabled="true"] {
-  color: GrayText;
-}
-
-/* ::::: listitem ::::: */
-
-listbox:focus > listitem[selected="true"][current="true"] {
-  outline: 1px dotted #F3D982;
-}
-
-listbox:focus > listitem[current="true"] {
-  outline: 1px dotted Highlight;
-  outline-offset: -1px;
-}
-
-listitem[selected="true"] {
-  background-color: -moz-cellhighlight;
-  color: -moz-cellhighlighttext;
-}
-
-listbox:focus > listitem[selected="true"] {
-  background-color: Highlight;
-  color: HighlightText;
-}
-
-/* ::::: listcell ::::: */
-
-.listcell-label {
-  margin: 0 !important;
-  padding-top: 0;
-  padding-bottom: 1px;
-  padding-inline-start: 4px;
-  padding-inline-end: 0;
-  white-space: nowrap;
-}
-
-.listcell-label[disabled="true"] {
-  color: GrayText;
-}
-
-/* ::::: listcell checkbox ::::: */
-
-.listcell-check {
-  -moz-appearance: checkbox;
-  -moz-box-align: center;
-  margin: 0 2px;
-  min-width: 13px;
-  min-height: 13px;
-}
--- a/toolkit/themes/mobile/jar.mn
+++ b/toolkit/themes/mobile/jar.mn
@@ -7,17 +7,16 @@ toolkit.jar:
 # These are the CSS files that must exist
    skin/classic/global/autocomplete.css                    (global/empty.css)
    skin/classic/global/button.css                          (global/empty.css)
    skin/classic/global/checkbox.css                        (global/empty.css)
    skin/classic/global/dialog.css                          (global/empty.css)
    skin/classic/global/dropmarker.css                      (global/empty.css)
    skin/classic/global/global.css                          (global/empty.css)
    skin/classic/global/groupbox.css                        (global/empty.css)
-   skin/classic/global/listbox.css                         (global/empty.css)
    skin/classic/global/menu.css                            (global/empty.css)
    skin/classic/global/menulist.css                        (global/empty.css)
    skin/classic/global/numberbox.css                       (global/empty.css)
    skin/classic/global/popup.css                           (global/empty.css)
    skin/classic/global/progressmeter.css                   (global/empty.css)
    skin/classic/global/radio.css                           (global/empty.css)
    skin/classic/global/richlistbox.css                     (global/empty.css)
    skin/classic/global/scrollbox.css                       (global/empty.css)
deleted file mode 100644
index bd43dd17c3bd07b1787baca148442ec777797d8c..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/toolkit/themes/osx/global/jar.mn
+++ b/toolkit/themes/osx/global/jar.mn
@@ -10,17 +10,16 @@ toolkit.jar:
   skin/classic/global/checkbox.css
   skin/classic/global/colorpicker.css
   skin/classic/global/commonDialog.css
   skin/classic/global/dialog.css
   skin/classic/global/dropmarker.css
 * skin/classic/global/findBar.css
 * skin/classic/global/global.css
   skin/classic/global/groupbox.css
-  skin/classic/global/listbox.css
   skin/classic/global/menu.css
   skin/classic/global/menulist.css
 * skin/classic/global/notification.css
   skin/classic/global/netError.css
 * skin/classic/global/numberbox.css
   skin/classic/global/popup.css
   skin/classic/global/progressmeter.css
   skin/classic/global/radio.css
@@ -46,17 +45,16 @@ toolkit.jar:
   skin/classic/global/arrow/arrow-rit-dis.gif                        (arrow/arrow-rit-dis.gif)
   skin/classic/global/arrow/arrow-rit-sharp.gif                      (arrow/arrow-rit-sharp.gif)
   skin/classic/global/arrow/arrow-up-dis.gif                         (arrow/arrow-up-dis.gif)
   skin/classic/global/arrow/arrow-up-sharp.gif                       (arrow/arrow-up-sharp.gif)
   skin/classic/global/arrow/arrow-up.gif                             (arrow/arrow-up.gif)
   skin/classic/global/arrow/panelarrow-horizontal.svg                (arrow/panelarrow-horizontal.svg)
   skin/classic/global/arrow/panelarrow-vertical.svg                  (arrow/panelarrow-vertical.svg)
   skin/classic/global/checkbox/cbox-check.gif                        (checkbox/cbox-check.gif)
-  skin/classic/global/checkbox/cbox-check-dis.gif                    (checkbox/cbox-check-dis.gif)
   skin/classic/global/dirListing/dirListing.css                      (dirListing/dirListing.css)
   skin/classic/global/dirListing/folder.png                          (dirListing/folder.png)
   skin/classic/global/dirListing/up.png                              (dirListing/up.png)
   skin/classic/global/icons/blacklist_favicon.png                    (icons/blacklist_favicon.png)
   skin/classic/global/icons/blacklist_64.png                         (icons/blacklist_64.png)
   skin/classic/global/icons/glyph-dropdown.png                       (icons/glyph-dropdown.png)
   skin/classic/global/icons/glyph-dropdown@2x.png                    (icons/glyph-dropdown@2x.png)
   skin/classic/global/icons/panel-dropmarker.png                     (icons/panel-dropmarker.png)
deleted file mode 100644
--- a/toolkit/themes/osx/global/listbox.css
+++ /dev/null
@@ -1,72 +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/. */
-
-@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
-
-listbox {
-  -moz-appearance: listbox;
-  margin: 2px 4px;
-  background-color: #FFFFFF;
-  color: -moz-FieldText;
-}
-
-.listcell-label {
-  margin: 0px !important;
-  padding-bottom: 1px;
-  padding-inline-start: 4px;
-  white-space: nowrap;
-}
-
-/* ::::: listitem ::::: */
-
-listitem {
-  border: 1px solid transparent;
-}
-
-listitem[selected="true"] {
-  background-color: -moz-mac-secondaryhighlight;
-  color: -moz-DialogText;
-}
-
-listbox:focus > listitem[selected="true"] {
-   background-color: Highlight;
-   color: HighlightText;
-}
-
-/* ::::: listcell ::::: */
-
-.listcell-label {
-  margin: 0px !important;
-  padding-bottom: 1px;
-  padding-inline-start: 4px;
-  white-space: nowrap;
-}
-
-.listcell-label[disabled="true"] {
-  color: GrayText;
-}
-
-/* ::::: listcell checkbox ::::: */
-
-.listcell-check {
-  -moz-appearance: checkbox;
-  -moz-box-align: center;
-  margin: 0px 2px;
-  border: 1px solid -moz-DialogText;
-  min-width: 13px;
-  min-height: 13px;
-  background: -moz-Field no-repeat 50% 50%;
-}
-
-.listcell-check[checked="true"] {
-  background-image: url("chrome://global/skin/checkbox/cbox-check.gif");
-}
-
-.listcell-check[disabled="true"] {
-  border-color: GrayText;
-}
-
-.listcell-check[disabled="true"][checked="true"] {
-  background-image: url("chrome://global/skin/checkbox/cbox-check-dis.gif");
-}
--- a/toolkit/themes/shared/extensions/extensions.inc.css
+++ b/toolkit/themes/shared/extensions/extensions.inc.css
@@ -1029,15 +1029,14 @@ button.button-link:not([disabled="true"]
 
 #detail-findUpdates-btn[hidden] {
   display: -moz-box;
   visibility: hidden;
 }
 
 /*** Reset PopupAutoComplete richlistbox styles ***/
 
-#PopupAutoComplete richlistbox,
-#PopupAutoComplete listbox {
+#PopupAutoComplete richlistbox {
   -moz-appearance: initial;
   margin-inline-start: 0;
   border: none;
   border-radius: 0;
 }
--- a/toolkit/themes/windows/global/jar.mn
+++ b/toolkit/themes/windows/global/jar.mn
@@ -15,17 +15,16 @@ toolkit.jar:
 * skin/classic/global/popup.css
   skin/classic/global/radio.css
   skin/classic/global/tabbox.css
   skin/classic/global/textbox.css
   skin/classic/global/colorpicker.css
   skin/classic/global/commonDialog.css
 * skin/classic/global/findBar.css
 * skin/classic/global/global.css
-  skin/classic/global/listbox.css
   skin/classic/global/netError.css
 * skin/classic/global/numberbox.css
 * skin/classic/global/notification.css
   skin/classic/global/printPageSetup.css
   skin/classic/global/richlistbox.css
   skin/classic/global/scrollbox.css
   skin/classic/global/splitter.css
   skin/classic/global/toolbar.css
deleted file mode 100644
--- a/toolkit/themes/windows/global/listbox.css
+++ /dev/null
@@ -1,167 +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/. */
-
-/* ===== listbox.css =======================================================
-  == Styles used by XUL listbox-related elements.
-  ======================================================================= */
-
-
-@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
-
-/* ::::: listbox ::::: */
-
-listbox {
-  -moz-appearance: listbox;
-  margin: 2px 4px;
-  color: -moz-FieldText;
-}
-
-listbox[disabled="true"] {
-  color: GrayText;
-}
-
-/* ::::: listitem ::::: */
-
-listitem {
-  border: 1px solid transparent;
-}
-
-listbox:focus > listitem[selected="true"][current="true"] {
-  outline: 1px dotted #F3D982;
-}
-
-listbox:focus > listitem[current="true"] {
-  outline: 1px dotted Highlight;
-  outline-offset: -1px;
-}
-
-listitem[selected="true"] {
-  background-color: -moz-cellhighlight;
-  color: -moz-cellhighlighttext;
-}
-
-listbox:focus > listitem[selected="true"] {
-  background-color: Highlight;
-  color: HighlightText;
-}
-
-/* ::::: listcell ::::: */
-
-.listcell-label {
-  margin: 0px !important;
-  padding-top: 0px;
-  padding-bottom: 1px;
-  padding-inline-start: 4px;
-  padding-inline-end: 0px;
-  white-space: nowrap;
-}
-
-.listcell-label[disabled="true"] {
-  color: GrayText;
-}
-
-/* ::::: listcell checkbox ::::: */
-
-.listcell-check {
-  -moz-appearance: checkbox;
-  -moz-box-align: center;
-  margin: 0px 2px;
-  border: 1px solid -moz-DialogText;
-  min-width: 13px;
-  min-height: 13px;
-  background: -moz-Field no-repeat 50% 50%;
-}
-
-@media (-moz-windows-default-theme) {
-  listitem {
-    --listitem-selectedColor: rgb(217,217,217);
-    --listitem-selectedBorder: var(--listitem-selectedColor);
-    --listitem-selectedBottomBorder: rgb(204,204,204);
-    --listitem-selectedBackground: var(--listitem-selectedColor);
-    --listitem-selectedImage: none;
-    --listitem-selectedCurrentBorder: rgb(123,195,255);
-    --listitem-selectedFocusColor: rgb(205,232,255);
-    --listitem-selectedFocusBorder: var(--listitem-selectedFocusColor);
-    --listitem-selectedFocusBottomBorder: rgb(165,214,255);
-    --listitem-selectedFocusBackground: var(--listitem-selectedFocusColor);
-    --listitem-selectedFocusImage: none;
-    --listitem-selectedFocusCurrentBorder: var(--listitem-selectedFocusColor);
-    --listitem-selectedFocusCurrentBottomBorder: var(--listitem-selectedFocusBottomBorder);
-    --listitem-selectedFocusCurrentBackground: var(--listitem-selectedFocusColor);
-
-    color: -moz-FieldText;
-    margin-inline-start: 1px;
-    margin-inline-end: 1px;
-    padding-top: 1px;
-    padding-bottom: 1px;
-    border-width: 1px;
-    background-repeat: no-repeat;
-    background-size: 100% 100%;
-  }
-
-  listitem[selected="true"] {
-    border-top-color: var(--listitem-selectedBorder);
-    border-right-color: var(--listitem-selectedBorder);
-    border-left-color: var(--listitem-selectedBorder);
-    border-bottom-color: var(--listitem-selectedBottomBorder);
-    background-image: var(--listitem-selectedImage);
-    background-color: var(--listitem-selectedBackground);
-    color: -moz-DialogText;
-  }
-
-  listbox:focus > listitem[selected="true"] {
-    border-top-color: var(--listitem-selectedFocusBorder);
-    border-right-color: var(--listitem-selectedFocusBorder);
-    border-left-color: var(--listitem-selectedFocusBorder);
-    border-bottom-color: var(--listitem-selectedFocusBottomBorder);
-    background-image: var(--listitem-selectedFocusImage);
-    background-color: var(--listitem-selectedFocusBackground);
-    color: -moz-DialogText;
-  }
-
-  listbox:focus > listitem[current="true"] {
-    border-color: var(--listitem-selectedCurrentBorder);
-    outline: none;
-  }
-
-  listbox:focus > listitem[selected="true"][current="true"] {
-    border-top-color: var(--listitem-selectedFocusCurrentBorder);
-    border-right-color: var(--listitem-selectedFocusCurrentBorder);
-    border-left-color: var(--listitem-selectedFocusCurrentBorder);
-    border-bottom-color: var(--listitem-selectedFocusCurrentBottomBorder);
-    background-color: var(--listitem-selectedFocusCurrentBackground);
-    outline: none;
-  }
-
-  @media (-moz-os-version: windows-win7) {
-    listitem {
-      --listitem-selectedBottomBorder: var(--listitem-selectedColor);
-      --listitem-selectedBackground: rgba(190,190,190,.15);
-      --listitem-selectedImage: linear-gradient(rgba(190,190,190,.1), rgba(190,190,190,.4));
-      --listitem-selectedCurrentBorder: rgb(125,162,206);
-      --listitem-selectedFocusColor: rgb(132,172,221);
-      --listitem-selectedFocusBottomBorder: var(--listitem-selectedFocusColor);
-      --listitem-selectedFocusBackground: rgba(131,183,249,.02);
-      --listitem-selectedFocusImage: linear-gradient(rgba(131,183,249,.16), rgba(131,183,249,.375));
-      --listitem-selectedFocusCurrentBackground: rgba(131,183,249,.15);
-
-      border-radius: 3px;
-      box-shadow: inset 0 0 0 1px rgba(255,255,255,.4), inset 0 -1px 0 1px rgba(255,255,255,.2);
-    }
-  }
-
-  @media (-moz-os-version: windows-win8) {
-    listitem {
-      --listitem-selectedBottomBorder: var(--listitem-selectedColor);
-      --listitem-selectedBackground: rgba(190,190,190,.15);
-      --listitem-selectedImage: linear-gradient(rgba(190,190,190,.4), rgba(190,190,190,.4));
-      --listitem-selectedCurrentBorder: rgb(125,162,206);
-      --listitem-selectedFocusColor: rgb(132,172,221);
-      --listitem-selectedFocusBottomBorder: var(--listitem-selectedFocusColor);
-      --listitem-selectedFocusBackground: rgba(131,183,249,.02);
-      --listitem-selectedFocusImage: linear-gradient(rgba(131,183,249,.375), rgba(131,183,249,.375));
-      --listitem-selectedFocusCurrentBackground: rgba(131,183,249,.15);
-    }
-  }
-}