Backed out changeset cdc5571c2d7c (bug 1623015) for causing mochitest failures CLOSED TREE
authorNoemi Erli <nerli@mozilla.com>
Tue, 24 Mar 2020 17:31:35 +0200
changeset 520222 87f1271cf700a606444f54f15902918479baaab6
parent 520221 354489628b3985c7dc385f039f763b15c05ccec7
child 520223 aea3c8ce3ff8182d15ac0948d0029ad98f6a63f8
push id37245
push useropoprus@mozilla.com
push dateTue, 24 Mar 2020 21:46:41 +0000
treeherdermozilla-central@dbabf2e388fa [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1623015
milestone76.0a1
backs outcdc5571c2d7ceaf85f057f57862dc10711aaece4
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset cdc5571c2d7c (bug 1623015) for causing mochitest failures CLOSED TREE
browser/components/places/content/places-menupopup.js
browser/themes/osx/customizableui/panelUI.css
browser/themes/shared/customizableui/panelUI.inc.css
browser/themes/shared/tabs.inc.css
toolkit/content/widgets/menupopup.js
toolkit/themes/linux/global/jar.mn
toolkit/themes/linux/global/scrollbox.css
toolkit/themes/osx/global/arrow/arrow-dn-dis.gif
toolkit/themes/osx/global/arrow/arrow-dn-sharp.gif
toolkit/themes/osx/global/arrow/arrow-lft-dis.gif
toolkit/themes/osx/global/arrow/arrow-lft-sharp.gif
toolkit/themes/osx/global/arrow/arrow-rit-dis.gif
toolkit/themes/osx/global/arrow/arrow-rit-sharp.gif
toolkit/themes/osx/global/arrow/arrow-up-dis.gif
toolkit/themes/osx/global/arrow/arrow-up-sharp.gif
toolkit/themes/osx/global/global.css
toolkit/themes/osx/global/jar.mn
toolkit/themes/osx/global/menu.css
toolkit/themes/osx/global/scrollbox.css
toolkit/themes/shared/jar.inc.mn
toolkit/themes/shared/scrollbox.css
toolkit/themes/windows/global/arrow/arrow-dn-dis.gif
toolkit/themes/windows/global/arrow/arrow-lft-dis.gif
toolkit/themes/windows/global/arrow/arrow-lft.gif
toolkit/themes/windows/global/arrow/arrow-rit-dis.gif
toolkit/themes/windows/global/arrow/arrow-rit.gif
toolkit/themes/windows/global/arrow/arrow-up-dis.gif
toolkit/themes/windows/global/jar.mn
toolkit/themes/windows/global/scrollbox.css
--- a/browser/components/places/content/places-menupopup.js
+++ b/browser/components/places/content/places-menupopup.js
@@ -35,24 +35,30 @@
     get markup() {
       return `
       <html:link rel="stylesheet" href="chrome://global/skin/global.css" />
       <hbox flex="1" part="innerbox">
         <vbox part="drop-indicator-bar" hidden="true">
           <image part="drop-indicator"/>
         </vbox>
         <arrowscrollbox class="popup-internal-box" flex="1" orient="vertical"
-                        exportparts="scrollbox: arrowscrollbox-scrollbox"
                         smoothscroll="false" part="popupbox">
           <html:slot></html:slot>
         </arrowscrollbox>
       </hbox>
     `;
     }
 
+    initShadowDOM() {
+      super.initShadowDOM();
+      if (this.closest("#BMB_bookmarksPopup")) {
+        this.scrollBox.classList.add("in-bookmarks-menu");
+      }
+    }
+
     connectedCallback() {
       if (this.delayConnectedCallback()) {
         return;
       }
 
       /**
        * Sub-menus should be opened when the mouse drags over them, and closed
        * when the mouse drags off.  The overFolder object manages opening and
--- a/browser/themes/osx/customizableui/panelUI.css
+++ b/browser/themes/osx/customizableui/panelUI.css
@@ -48,16 +48,17 @@ panelmultiview .toolbaritem-combined-but
   background: var(--arrowpanel-background);
   border-radius: var(--arrowpanel-border-radius);
   box-shadow: 0 0 0 1px var(--arrowpanel-border-color);
   color: var(--arrowpanel-color);
   border: none;
   margin: 1px;
 }
 
+
 /* Override OSX-specific toolkit styles for the bookmarks panel */
 menu.subviewbutton > .menu-right {
   margin-inline-end: -4px;
   -moz-appearance: none;
 }
 
 .PanelUI-subView menuseparator,
 .cui-widget-panelview menuseparator {
--- a/browser/themes/shared/customizableui/panelUI.inc.css
+++ b/browser/themes/shared/customizableui/panelUI.inc.css
@@ -241,24 +241,16 @@ panelview {
 #BMB_bookmarksPopup menupopup::part(popupbox) {
   padding-bottom: 0px;
 }
 
 #BMB_bookmarksPopup menupopup[nofooterpopup=true]::part(popupbox) {
   padding-bottom: 4px;
 }
 
-%ifndef XP_MACOSX
-/* Add some space at the top because there are no headers in menupopups of
-   the bookmarks menu. */
-#BMB_bookmarksPopup menupopup::part(arrowscrollbox-scrollbox) {
-  padding-top: 4px;
-}
-%endif
-
 #confirmation-hint {
   --arrowpanel-background: #0060df;
   --arrowpanel-border-color: #0060df;
   --arrowpanel-color: #fff;
   --arrowpanel-padding: 6px 10px;
   font-weight: 400;
   font-size: 1.1rem;
 }
--- a/browser/themes/shared/tabs.inc.css
+++ b/browser/themes/shared/tabs.inc.css
@@ -699,18 +699,26 @@
   content: "";
   display: block;
 }
 
 /* Tab bar scroll arrows */
 
 .tabbrowser-arrowscrollbox::part(scrollbutton-up),
 .tabbrowser-arrowscrollbox::part(scrollbutton-down) {
+  list-style-image: url(chrome://global/skin/icons/arrow-left.svg) !important;
+  -moz-context-properties: fill, fill-opacity;
   fill: var(--lwt-toolbarbutton-icon-fill, currentColor);
   fill-opacity: var(--toolbarbutton-icon-fill-opacity);
+  color: inherit;
+}
+
+.tabbrowser-arrowscrollbox:-moz-locale-dir(rtl)::part(scrollbutton-up),
+.tabbrowser-arrowscrollbox:-moz-locale-dir(ltr)::part(scrollbutton-down) {
+  transform: scaleX(-1);
 }
 
 /* New tab button */
 
 #tabs-newtab-button,
 #TabsToolbar #new-tab-button {
   list-style-image: url(chrome://browser/skin/add.svg);
 }
--- a/toolkit/content/widgets/menupopup.js
+++ b/toolkit/content/widgets/menupopup.js
@@ -51,16 +51,18 @@
         this.dispatchEvent(new Event("scroll"))
       );
       this.scrollBox.addEventListener("overflow", ev =>
         this.dispatchEvent(new Event("overflow"))
       );
       this.scrollBox.addEventListener("underflow", ev =>
         this.dispatchEvent(new Event("underflow"))
       );
+      this.scrollBox._scrollButtonUp.classList.add("menupopup-scrollbutton");
+      this.scrollBox._scrollButtonDown.classList.add("menupopup-scrollbutton");
     }
 
     get shadowRoot() {
       // We generate shadow DOM lazily on popupshowing event to avoid extra load
       // on the system during browser startup.
       if (!super.shadowRoot.firstElementChild) {
         super.shadowRoot.appendChild(this.fragment);
         this.initShadowDOM();
--- a/toolkit/themes/linux/global/jar.mn
+++ b/toolkit/themes/linux/global/jar.mn
@@ -14,16 +14,17 @@ toolkit.jar:
 *  skin/classic/global/global.css
    skin/classic/global/menu.css
    skin/classic/global/menulist.css
    skin/classic/global/netError.css
 *  skin/classic/global/notification.css
    skin/classic/global/popup.css
    skin/classic/global/radio.css
    skin/classic/global/richlistbox.css
+   skin/classic/global/scrollbox.css
    skin/classic/global/splitter.css
    skin/classic/global/tabbox.css
    skin/classic/global/textbox.css
    skin/classic/global/toolbar.css
    skin/classic/global/toolbarbutton.css
    skin/classic/global/tooltip.css
 *  skin/classic/global/tree.css
 *  skin/classic/global/alerts/alert.css                        (alerts/alert.css)
new file mode 100644
--- /dev/null
+++ b/toolkit/themes/linux/global/scrollbox.css
@@ -0,0 +1,39 @@
+/* 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");
+
+arrowscrollbox[scrolledtoend=true]::part(arrowscrollbox-overflow-end-indicator),
+arrowscrollbox[scrolledtostart=true]::part(arrowscrollbox-overflow-start-indicator),
+arrowscrollbox[notoverflowing=true]::part(scrollbutton-up),
+arrowscrollbox[notoverflowing=true]::part(scrollbutton-down) {
+  visibility: collapse;
+}
+
+.scrollbutton-up.menupopup-scrollbutton > .toolbarbutton-icon {
+  -moz-appearance: button-arrow-up;
+}
+
+.scrollbutton-down.menupopup-scrollbutton > .toolbarbutton-icon {
+  -moz-appearance: button-arrow-down;
+}
+
+.scrollbutton-up.menupopup-scrollbutton[orient="horizontal"] > .toolbarbutton-icon {
+  -moz-appearance: button-arrow-previous;
+}
+
+.scrollbutton-down.menupopup-scrollbutton[orient="horizontal"] > .toolbarbutton-icon {
+  -moz-appearance: button-arrow-next;
+}
+
+:-moz-any(.scrollbutton-up, .scrollbutton-down) > .toolbarbutton-text {
+  display: none;
+}
+
+arrowscrollbox:not([clicktoscroll="true"])::part(scrollbutton-up),
+arrowscrollbox:not([clicktoscroll="true"])::part(scrollbutton-down) {
+  -moz-appearance: none;
+  border: 1px solid ThreeDShadow;
+  padding: 0;
+}
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3d62e40063176591e22bcf369c76828c1d0371b9
GIT binary patch
literal 65
zc${<hbhEHb<YwSznE0RJ|Ns974jh;{b0z}=gW^vXMg|5(1|1-q0VMChB-qoxQvL0w
TMTHKxwCAtLdK}EaU~LTm!4DNn
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..206d7c19dd524614e18f807aef483c5ca6aab515
GIT binary patch
literal 51
wc${<hbhEHb<YZuFXkcW30L7myKqe!D4u}JiVPN8Fsc)3*;+4!v5M!_g0IL@V2mk;8
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..33243517b1b588c92dd307b74cf89fcec63ec5f4
GIT binary patch
literal 105
zc${<hbhEHb<YwSz*v!E2|Ns932M)}fIg^1np!k!8k%57cK?lSEnc=`9W^lqYo8gex
W!LMh;u2rV|Y!o$bTP^9rU=08@juprN
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ae9b1dd0fb6ab5c5ed2f6b991a2f15d768707a7e
GIT binary patch
literal 53
zc${<hbhEHbWM$xFXkcUjg8%>jEB<5wG8q|kKzxu40~1dVGkfQ4?pTum!zcy@YXBnM
B3P}I}
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..cda95fe215c1ef29560016b5afa379cf46202963
GIT binary patch
literal 105
zc${<hbhEHb<YwSz*v!E2|Ns932M)}fIg^1np!k!8k%57cK?lSEnc=`9W^lrD^@=c#
WhQseBl{KbF*3Gp@OA}>eum%7yl@!ka
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ca628ba69bdcd33fa6d77e0e5deaeca7c0a143c5
GIT binary patch
literal 53
zc${<hbhEHbWM$xFXkcUjg8%>jEB<5wG8q|kKzxu40~3#nT*C6(-;#oIR7JQLtN|`@
B3v~bh
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..381dee3e5d80cfb7003b21b291f15249ce56c513
GIT binary patch
literal 65
zc${<hbhEHb<YwSznE0RJ|Ns974jh;{b0z}=gW^vXMg|5(1|1-q0VMChB-GQtQgd(q
Ttdb2*AJzO8R41^qGFSruxN8(k
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..883a4f95ca178e01f7559013b6124b54532e771f
GIT binary patch
literal 52
zc${<hbhEHb<YZuFXkcUjg8%>jEB<5wG8q|kKzxu40~2=-^YQ~-cX;OHA7Wy#1^_3P
B3=RMQ
--- a/toolkit/themes/osx/global/global.css
+++ b/toolkit/themes/osx/global/global.css
@@ -202,8 +202,48 @@ xul|notification > xul|hbox > xul|button
   margin: 0 !important;
 }
 
 xul|popupnotificationcontent {
   margin-top: .5em;
 }
 
 %include ../../shared/notification-popup.inc.css
+
+/* autorepeatbuttons in menus */
+
+.menupopup-scrollbutton {
+  height: 15px;
+  position: relative;
+  list-style-image: none;
+  /* Here we're using a little magic.
+   * The arrow button is supposed to overlay the scrollbox, blocking
+   * everything under it from reaching the screen. However, the menu background
+   * is slightly transparent, so how can we block something completely without
+   * messing up the transparency? It's easy: The native theming of the
+   * "menuitem" appearance uses CGContextClearRect before drawing, which
+   * clears everything under it.
+   * Without help from native theming this effect wouldn't be achievable.
+   */
+  -moz-appearance: menuitem;
+}
+
+.scrollbutton-up.menupopup-scrollbutton {
+  padding-top: 1px; /* 4px padding-top from the .popup-internal-box. */
+  margin-bottom: -15px;
+}
+
+.scrollbutton-up.menupopup-scrollbutton > .toolbarbutton-icon {
+  -moz-appearance: button-arrow-up;
+}
+
+.scrollbutton-down.menupopup-scrollbutton {
+  padding-top: 5px;
+  margin-top: -15px;
+}
+
+.scrollbutton-down.menupopup-scrollbutton > .toolbarbutton-icon {
+  -moz-appearance: button-arrow-down;
+}
+
+.menupopup-scrollbutton[disabled="true"] {
+  visibility: collapse;
+}
--- a/toolkit/themes/osx/global/jar.mn
+++ b/toolkit/themes/osx/global/jar.mn
@@ -16,27 +16,36 @@ toolkit.jar:
   skin/classic/global/menu.css
   skin/classic/global/menulist.css
 * skin/classic/global/notification.css
   skin/classic/global/netError.css
   skin/classic/global/popup.css
   skin/classic/global/radio.css
   skin/classic/global/richlistbox.css
   skin/classic/global/scrollbars.css                                 (nativescrollbars.css)
+  skin/classic/global/scrollbox.css
   skin/classic/global/splitter.css
   skin/classic/global/tabprompts.css
   skin/classic/global/tabbox.css
   skin/classic/global/textbox.css
   skin/classic/global/toolbar.css
   skin/classic/global/toolbarbutton.css
   skin/classic/global/tooltip.css
 * skin/classic/global/tree.css
   skin/classic/global/wizard.css
 * skin/classic/global/alerts/alert.css                               (alerts/alert.css)
+  skin/classic/global/arrow/arrow-dn-dis.gif                         (arrow/arrow-dn-dis.gif)
+  skin/classic/global/arrow/arrow-dn-sharp.gif                       (arrow/arrow-dn-sharp.gif)
   skin/classic/global/arrow/arrow-dn.gif                             (arrow/arrow-dn.gif)
+  skin/classic/global/arrow/arrow-lft-dis.gif                        (arrow/arrow-lft-dis.gif)
+  skin/classic/global/arrow/arrow-lft-sharp.gif                      (arrow/arrow-lft-sharp.gif)
+  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/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/blocklist_favicon.png                    (icons/blocklist_favicon.png)
   skin/classic/global/icons/search-textbox.svg                       (icons/search-textbox.svg)
--- a/toolkit/themes/osx/global/menu.css
+++ b/toolkit/themes/osx/global/menu.css
@@ -162,38 +162,8 @@ menulist > menupopup > menuitem[selected
 
 /* ::::: menuseparator ::::: */
 
 menuseparator {
   -moz-appearance: menuseparator;
   margin: 5px 0;
   padding: 1px 0;
 }
-
-/* ::::: scroll buttons :::::*/
-
-.popup-internal-box:not(:-moz-lwtheme)::part(scrollbutton-up),
-.popup-internal-box:not(:-moz-lwtheme)::part(scrollbutton-down) {
-  position: relative;
-  /* Here we're using a little magic.
-   * The arrow button is supposed to overlay the scrollbox, blocking
-   * everything under it from reaching the screen. However, the menu background
-   * is slightly transparent, so how can we block something completely without
-   * messing up the transparency? It's easy: The native theming of the
-   * "menuitem" appearance uses CGContextClearRect before drawing, which
-   * clears everything under it.
-   * Without help from native theming this effect wouldn't be achievable.
-   */
-  -moz-appearance: menuitem;
-}
-
-.popup-internal-box:not(:-moz-lwtheme)::part(scrollbutton-up) {
-  margin-bottom: -20px;
-}
-
-.popup-internal-box:not(:-moz-lwtheme)::part(scrollbutton-down) {
-  margin-top: -20px;
-}
-
-.popup-internal-box:not(:-moz-lwtheme)[scrolledtostart="true"]::part(scrollbutton-up),
-.popup-internal-box:not(:-moz-lwtheme)[scrolledtoend="true"]::part(scrollbutton-down) {
-  visibility: collapse;
-}
new file mode 100644
--- /dev/null
+++ b/toolkit/themes/osx/global/scrollbox.css
@@ -0,0 +1,61 @@
+/* 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");
+
+arrowscrollbox[scrolledtoend=true]::part(arrowscrollbox-overflow-end-indicator),
+arrowscrollbox[scrolledtostart=true]::part(arrowscrollbox-overflow-start-indicator),
+arrowscrollbox[notoverflowing=true]::part(scrollbutton-up),
+arrowscrollbox[notoverflowing=true]::part(scrollbutton-down) {
+  visibility: collapse;
+}
+
+/* Horizontal enabled */
+.scrollbutton-up[orient="horizontal"] {
+  list-style-image: url("chrome://global/skin/arrow/arrow-lft-sharp.gif");
+  -moz-image-region: auto; /* cut off inheritance */
+}
+
+.scrollbutton-down[orient="horizontal"] {
+  list-style-image: url("chrome://global/skin/arrow/arrow-rit-sharp.gif");
+  -moz-image-region: auto; /* cut off inheritance */
+}
+
+/* Horizontal disabled */
+.scrollbutton-up[orient="horizontal"][disabled="true"] {
+  list-style-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif");
+  -moz-image-region: auto; /* cut off inheritance */
+}
+
+.scrollbutton-down[orient="horizontal"][disabled="true"] {
+  list-style-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif");
+  -moz-image-region: auto; /* cut off inheritance */
+}
+
+/* Vertical enabled */
+.scrollbutton-up:not([orient="horizontal"]) {
+  list-style-image: url("chrome://global/skin/arrow/arrow-up-sharp.gif");
+  -moz-image-region: auto; /* cut off inheritance */
+}
+
+.scrollbutton-down:not([orient="horizontal"]) {
+  list-style-image: url("chrome://global/skin/arrow/arrow-dn-sharp.gif");
+  -moz-image-region: auto; /* cut off inheritance */
+}
+
+/* Vertical disabled */
+.scrollbutton-up[disabled="true"]:not([orient="horizontal"]) {
+  list-style-image: url("chrome://global/skin/arrow/arrow-up-dis.gif");
+  -moz-image-region: auto; /* cut off inheritance */
+}
+
+.scrollbutton-down[disabled="true"]:not([orient="horizontal"]) {
+  list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
+  -moz-image-region: auto; /* cut off inheritance */
+}
+
+.scrollbutton-up > .toolbarbutton-text,
+.scrollbutton-down > .toolbarbutton-text {
+  display: none;
+}
--- a/toolkit/themes/shared/jar.inc.mn
+++ b/toolkit/themes/shared/jar.inc.mn
@@ -20,17 +20,16 @@ toolkit.jar:
   skin/classic/global/aboutRights.css                      (../../shared/aboutRights.css)
   skin/classic/global/aboutLicense.css                     (../../shared/aboutLicense.css)
   skin/classic/global/aboutSupport.css                     (../../shared/aboutSupport.css)
   skin/classic/global/appPicker.css                        (../../shared/appPicker.css)
   skin/classic/global/config.css                           (../../shared/config.css)
   skin/classic/global/datetimeinputpickers.css             (../../shared/datetimeinputpickers.css)
   skin/classic/global/numberinput.css                      (../../shared/numberinput.css)
   skin/classic/global/passwordmgr.css                      (../../shared/passwordmgr.css)
-* skin/classic/global/scrollbox.css                        (../../shared/scrollbox.css)
   skin/classic/global/icons/arrow-left.svg                 (../../shared/icons/arrow-left.svg)
   skin/classic/global/icons/autoscroll.svg                 (../../shared/icons/autoscroll.svg)
   skin/classic/global/icons/autoscroll-horizontal.svg      (../../shared/icons/autoscroll-horizontal.svg)
   skin/classic/global/icons/autoscroll-vertical.svg        (../../shared/icons/autoscroll-vertical.svg)
   skin/classic/global/icons/check.svg                      (../../shared/icons/check.svg)
   skin/classic/global/icons/check-partial.svg              (../../shared/icons/check-partial.svg)
   skin/classic/global/icons/close.svg                      (../../shared/icons/close.svg)
   skin/classic/global/icons/search.svg                     (../../shared/icons/search.svg)
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..222c7664e050cd89d3fe8e8691392237dc5d4972
GIT binary patch
literal 53
zc${<hbhEHbWMyDxSjfb1=FFLyGiUw>1I3>#j0_A+3_1)z0Fq~5Vsqh3(!9mWU=0BF
Crw`Ep
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..49c5b3fb553f4bdc5d61ccb26291f8beb38913e2
GIT binary patch
literal 47
zc${<hbhEHbWM*JxXkcWhudo0A|G(l-7DfgJMg|=QAOOiQFtPa*ELg$D%3uuu7wrmC
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f209383cc9c8a6b469ff83623e9f9ddbf8aabe9c
GIT binary patch
literal 54
zc${<hbhEHbWM*JxSjfaMbLLD228RD&p!k!8k%57UK?f+p0Fq~5VxLmLD3}?*z+epk
Dt)LBo
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7b0e07b16901f1b08dbf1f3edeae60f9a6e0392c
GIT binary patch
literal 54
zc${<hbhEHbWM*JxSjfb1=FFLyGiUw>1I3>#j0_A+3_1)z0Fq~5Vs8-<o0$~Ez+epk
D2qq8_
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3abf3ad50dafbed44bde07bc04705717c430f7ff
GIT binary patch
literal 54
zc${<hbhEHbWM*JxSjfaMbLLD228RD&p!k!8k%57UK?f+p0Fq~5Vs8-<o0$~Ez+epk
Dt=J8%
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..2b25b229a664000aac8230ee36e09762a5964ba0
GIT binary patch
literal 54
zc${<hbhEHbWMyDxSjfb1=FFLyGiUw>1I3>#j0_A+3_1)z0Fq~5VxN*A&hapSfx#L8
D3NjE{
--- a/toolkit/themes/windows/global/jar.mn
+++ b/toolkit/themes/windows/global/jar.mn
@@ -17,24 +17,31 @@ toolkit.jar:
   skin/classic/global/textbox.css
   skin/classic/global/commonDialog.css
 * skin/classic/global/findBar.css
 * skin/classic/global/global.css
   skin/classic/global/netError.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
   skin/classic/global/toolbarbutton.css
   skin/classic/global/tooltip.css
 * skin/classic/global/tree.css
 * skin/classic/global/alerts/alert.css                     (alerts/alert.css)
+  skin/classic/global/arrow/arrow-lft.gif                  (arrow/arrow-lft.gif)
+  skin/classic/global/arrow/arrow-lft-dis.gif              (arrow/arrow-lft-dis.gif)
+  skin/classic/global/arrow/arrow-rit.gif                  (arrow/arrow-rit.gif)
+  skin/classic/global/arrow/arrow-rit-dis.gif              (arrow/arrow-rit-dis.gif)
   skin/classic/global/arrow/arrow-up.gif                   (arrow/arrow-up.gif)
+  skin/classic/global/arrow/arrow-up-dis.gif               (arrow/arrow-up-dis.gif)
   skin/classic/global/arrow/arrow-dn.gif                   (arrow/arrow-dn.gif)
+  skin/classic/global/arrow/arrow-dn-dis.gif               (arrow/arrow-dn-dis.gif)
   skin/classic/global/dirListing/folder.png                (dirListing/folder.png)
   skin/classic/global/dirListing/up.png                    (dirListing/up.png)
   skin/classic/global/icons/blocklist_favicon.png          (icons/blocklist_favicon.png)
   skin/classic/global/icons/Error.png                      (icons/Error.png)
   skin/classic/global/icons/collapse.png                   (icons/collapse.png)
   skin/classic/global/icons/expand.png                     (icons/expand.png)
   skin/classic/global/icons/Landscape.png                  (icons/Landscape.png)
   skin/classic/global/icons/Portrait.png                   (icons/Portrait.png)
rename from toolkit/themes/shared/scrollbox.css
rename to toolkit/themes/windows/global/scrollbox.css
--- a/toolkit/themes/shared/scrollbox.css
+++ b/toolkit/themes/windows/global/scrollbox.css
@@ -6,50 +6,97 @@
 
 arrowscrollbox[scrolledtoend=true]::part(arrowscrollbox-overflow-end-indicator),
 arrowscrollbox[scrolledtostart=true]::part(arrowscrollbox-overflow-start-indicator),
 arrowscrollbox[notoverflowing=true]::part(scrollbutton-up),
 arrowscrollbox[notoverflowing=true]::part(scrollbutton-down) {
   visibility: collapse;
 }
 
-/* Scroll arrows */
+/* Add some space at the top because there are no headers in menupopups of
+ the bookmarks menu. */
+arrowscrollbox.in-bookmarks-menu::part(scrollbox) {
+  padding-top: 4px;
+}
+
+/*
+ * Scroll arrows
+ */
 
-.scrollbutton-up,
-.scrollbutton-down {
-  color: inherit !important; /* override any color changes for toolbar buttons in e.g. disabled or hover states */
-  list-style-image: url("chrome://global/skin/icons/arrow-dropdown-16.svg");
-  -moz-context-properties: fill, fill-opacity;
-  fill: currentColor;
-  fill-opacity: 1;
-  padding: 2px;
+/* Horizontal enabled */
+.scrollbutton-up[orient="horizontal"],
+.scrollbutton-down:-moz-locale-dir(rtl)[orient="horizontal"] {
+  list-style-image: url("chrome://global/skin/arrow/arrow-lft.gif");
+  -moz-image-region: auto; /* cut off inheritance */
+}
+
+.scrollbutton-down[orient="horizontal"],
+.scrollbutton-up:-moz-locale-dir(rtl)[orient="horizontal"] {
+  list-style-image: url("chrome://global/skin/arrow/arrow-rit.gif");
+  -moz-image-region: auto; /* cut off inheritance */
 }
 
-.scrollbutton-up[disabled="true"],
-.scrollbutton-down[disabled="true"] {
-  fill-opacity: 0.4;
+ /* Horizontal disabled */
+.scrollbutton-up[orient="horizontal"][disabled="true"],
+.scrollbutton-down:-moz-locale-dir(rtl)[orient="horizontal"][disabled="true"] {
+  list-style-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif");
+  -moz-image-region: auto; /* cut off inheritance */
+}
+
+.scrollbutton-down[orient="horizontal"][disabled="true"],
+.scrollbutton-up:-moz-locale-dir(rtl)[orient="horizontal"][disabled="true"] {
+  list-style-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif");
+  -moz-image-region: auto; /* cut off inheritance */
 }
 
-.scrollbutton-up[orient="horizontal"],
-.scrollbutton-down[orient="horizontal"] {
-  list-style-image: url("chrome://global/skin/icons/arrow-left.svg");
+/* Vertical enabled */
+.scrollbutton-up {
+  list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
+  -moz-image-region: auto; /* cut off inheritance */
 }
 
-.scrollbutton-up > .toolbarbutton-icon {
-  transform: scaleY(-1);
+.scrollbutton-down {
+  list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+  -moz-image-region: auto; /* cut off inheritance */
 }
 
-.scrollbutton-down:-moz-locale-dir(ltr)[orient="horizontal"] > .toolbarbutton-icon,
-.scrollbutton-up:-moz-locale-dir(rtl)[orient="horizontal"] > .toolbarbutton-icon {
-  transform: scaleX(-1);
+/* Vertical disabled */
+.scrollbutton-up[disabled="true"] {
+  list-style-image: url("chrome://global/skin/arrow/arrow-up-dis.gif");
+  -moz-image-region: auto; /* cut off inheritance */
+}
+
+.scrollbutton-down[disabled="true"] {
+  list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
+  -moz-image-region: auto; /* cut off inheritance */
 }
 
 .scrollbutton-up > .toolbarbutton-text,
 .scrollbutton-down > .toolbarbutton-text {
   display: none;
 }
 
-%ifndef XP_MACOSX
+.scrollbutton-up,
+.scrollbutton-down {
+  -moz-box-align: center;
+  -moz-box-pack: center;
+  margin-top: 1px;
+  margin-bottom: 2px;
+  margin-inline-start: 1px;
+  margin-inline-end: 2px;
+}
+
 arrowscrollbox:not([clicktoscroll="true"])::part(scrollbutton-up),
 arrowscrollbox:not([clicktoscroll="true"])::part(scrollbutton-down) {
   -moz-appearance: none;
+  border: 1px solid transparent;
+  padding: 1px;
 }
-%endif
+
+arrowscrollbox:not([clicktoscroll="true"]):not([scrolledtostart=true])::part(scrollbutton-up):hover,
+arrowscrollbox:not([clicktoscroll="true"]):not([scrolledtoend=true])::part(scrollbutton-down):hover {
+  margin: 1px;
+  border: 1px inset ThreeDFace;
+  padding-top: 2px;
+  padding-bottom: 1px;
+  padding-inline-start: 2px;
+  padding-inline-end: 1px;
+}