Bug 1269145 - Show gtk3 scrollbar buttons in SeaMonkey. r=IanN
authorFrank-Rainer Grahl <frgrahl@gmx.net>
Mon, 22 Jan 2018 08:49:43 +0100
changeset 30035 4b11d994f0234cd69ad3b4598c4bcee01c5f3a67
parent 30034 eadd0577e853c192bdb6f178a0780b6eceec8e2b
child 30036 866b5c60d753a85c42dbf7445a8c36c501184771
push id2108
push userclokep@gmail.com
push dateMon, 22 Jan 2018 17:53:55 +0000
treeherdercomm-beta@c44930d8ad9b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersIanN
bugs1269145
Bug 1269145 - Show gtk3 scrollbar buttons in SeaMonkey. r=IanN
suite/themes/classic/jar.mn
suite/themes/classic/linux/communicator/scrollbars.css
suite/themes/modern/global/scrollbars.css
suite/themes/modern/jar.mn
--- a/suite/themes/classic/jar.mn
+++ b/suite/themes/classic/jar.mn
@@ -62,16 +62,17 @@ classic.jar:
 #else
   skin/classic/communicator/aboutPrivateBrowsing.css                    (communicator/aboutPrivateBrowsing.css)
   skin/classic/communicator/aboutSessionRestore.css                     (communicator/aboutSessionRestore.css)
   skin/classic/communicator/button.css                                  (communicator/button.css)
   skin/classic/communicator/config.css                                  (communicator/config.css)
 #ifdef MOZ_WIDGET_GTK
   skin/classic/communicator/communicator.css                            (linux/communicator/communicator.css)
   skin/classic/communicator/preferences.css                             (linux/communicator/preferences.css)
+  skin/classic/communicator/scrollbars.css                              (linux/communicator/scrollbars.css)
 #else
   skin/classic/communicator/communicator.css                            (communicator/communicator.css)
   skin/classic/communicator/preferences.css                             (communicator/preferences.css)
 #endif
   skin/classic/communicator/toolbar.css                                 (communicator/toolbar.css)
   skin/classic/communicator/viewSourceOverlay.css                       (communicator/viewSourceOverlay.css)
   skin/classic/communicator/bookmarks/bookmark-folder-closed.png        (communicator/bookmarks/bookmark-folder-closed.png)
   skin/classic/communicator/bookmarks/bookmark-folder-dis.png           (communicator/bookmarks/bookmark-folder-dis.png)
@@ -498,8 +499,12 @@ classic.jar:
   skin/classic/navigator/icons/tab-drag-indicator.gif                   (navigator/icons/tab-drag-indicator.gif)
   skin/classic/navigator/icons/tab-new.gif                              (navigator/icons/tab-new.gif)
 [extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
 % override chrome://global/skin/about.css                         chrome://communicator/skin/about.css
 % override chrome://global/skin/aboutSupport.css                  chrome://communicator/skin/aboutSupport.css
 % override chrome://global/skin/config.css                        chrome://communicator/skin/config.css
 % override chrome://global/skin/in-content/info-pages.css         chrome://communicator/skin/communicator.css
 % override chrome://mozapps/skin/places/defaultFavicon.svg        chrome://communicator/skin/bookmarks/bookmark-item.svg
+
+#ifdef MOZ_WIDGET_GTK
+% override chrome://global/skin/scrollbars.css                    chrome://communicator/skin/scrollbars.css
+#endif
new file mode 100644
--- /dev/null
+++ b/suite/themes/classic/linux/communicator/scrollbars.css
@@ -0,0 +1,220 @@
+/* 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/. */
+
+/* ===== xulscrollbars.css ==============================================
+  == Styles used by XUL scrollbar-related elements.
+  ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */
+
+/* ::::: scrollbar ::::: */
+
+scrollbar {
+  -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
+  cursor: default;
+  background: #888888;
+  border-left: 1px solid #555555;
+  border-right: 1px solid #555555;
+}
+
+scrollbar[orient="vertical"]
+{
+   -moz-appearance: scrollbar-vertical;
+  border-left: none;
+  border-right: none;
+  border-top: 1px solid #555555;
+  border-bottom: 1px solid #555555;
+}
+
+/* ::::: borders for thumb and buttons ::::: */
+
+thumb,
+scrollbarbutton {
+  border: 1px solid #555555;
+  background-color: -moz-Dialog;
+}
+
+/* ::::: thumb (horizontal) ::::: */
+
+thumb {
+  min-height: 8px;
+}
+
+thumb[orient="horizontal"] {
+  min-width: 8px;
+}
+
+/* ::::: scrollbar button ::::: */
+
+scrollbarbutton {
+  background: -moz-Dialog no-repeat 50% 50%;
+  min-width: 16px;
+  min-height: 16px;
+}
+
+scrollbarbutton:hover:active, scrollbarbutton[active="true"] {
+  border-color: #999999;
+  background-position: 60% 60%;
+}
+
+scrollbarbutton[sbattr="scrollbar-up-bottom"],
+scrollbarbutton[sbattr="scrollbar-down-top"] {
+  display: none;
+}
+
+scrollbarbutton[sbattr="scrollbar-up-top"],
+scrollbarbutton[sbattr="scrollbar-down-bottom"] {
+  display: -moz-box !important;
+}
+
+/* ::::: square at the corner of two scrollbars ::::: */
+
+scrollcorner {
+  /* XXX -moz-appearance: scrollcorner; */
+  -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
+  width: 16px;
+  cursor: default;
+  background-color: -moz-Dialog;
+}
+
+/* ..... increment .... */
+
+scrollbarbutton[type="increment"] {
+  -moz-appearance: scrollbarbutton-right;
+  background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
+}
+
+scrollbarbutton[type="increment"][disabled="true"] {
+  background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
+  -moz-appearance: scrollbarbutton-down;
+  background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
+  background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
+}
+
+/* ..... decrement .... */
+
+scrollbarbutton[type="decrement"] {
+  -moz-appearance: scrollbarbutton-left;
+   background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
+}
+
+scrollbarbutton[type="decrement"][disabled="true"] {
+   background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
+  -moz-appearance: scrollbarbutton-up;
+   background-image: url("chrome://global/skin/arrow/arrow-up.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
+   background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
+}
+
+/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
+/* ::::::::::::::::::::: MEDIA PRINT :::::::::::::::::::::: */
+/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
+@media print {
+  /* ::::: scrollbar ::::: */
+
+  html|div scrollbar {
+    -moz-appearance: scrollbar-horizontal;
+    -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
+    cursor: default;
+    background: url("chrome://global/skin/scrollbar/slider.gif") scrollbar;
+  }
+
+  html|div scrollbar[orient="vertical"]
+  {
+     -moz-appearance: scrollbar-vertical;
+  }
+
+  /* ::::: borders for thumb and buttons ::::: */
+
+  html|div thumb,
+  html|div scrollbarbutton {
+    border: 2px solid;
+    -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
+    -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+    -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+    -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
+    background-color: -moz-Dialog;
+  }
+
+  /* ::::: thumb (horizontal) ::::: */
+
+  html|div thumb {
+    -moz-appearance: scrollbarthumb-vertical;
+    min-height: 8px;
+  }
+
+  html|div thumb[orient="horizontal"] {
+    -moz-appearance: scrollbarthumb-horizontal;
+    min-width: 8px;
+  }
+
+  /* ::::: scrollbar button ::::: */
+
+  html|div scrollbarbutton {
+    background: -moz-Dialog no-repeat 50% 50%;
+    min-width: 16px;
+    min-height: 16px;
+  }
+
+  html|div scrollbarbutton:hover:active, html|div scrollbarbutton[active="true"] {
+    -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+    -moz-border-right-colors: ThreeDShadow -moz-Dialog;
+    -moz-border-bottom-colors: ThreeDShadow -moz-Dialog;
+    -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+    background-position: 60% 60%;
+  }
+
+  /* ..... increment .... */
+
+  html|div scrollbarbutton[type="increment"] {
+    -moz-appearance: scrollbarbutton-right;
+    background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
+  }
+
+  html|div scrollbarbutton[type="increment"][disabled="true"] {
+    background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
+  }
+
+  html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
+    -moz-appearance: scrollbarbutton-down;
+    background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
+  }
+
+  html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
+    background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
+  }
+
+  /* ..... decrement .... */
+
+  html|div scrollbarbutton[type="decrement"] {
+    -moz-appearance: scrollbarbutton-left;
+     background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
+  }
+
+  html|div scrollbarbutton[type="decrement"][disabled="true"] {
+     background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
+  }
+
+  html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
+    -moz-appearance: scrollbarbutton-up;
+     background-image: url("chrome://global/skin/arrow/arrow-up.gif")
+  }
+
+  html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
+     background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
+  }
+
+}
--- a/suite/themes/modern/global/scrollbars.css
+++ b/suite/themes/modern/global/scrollbars.css
@@ -43,16 +43,28 @@ scrollbarbutton {
 thumb:active {
   background-color: #C2CCD6;
   -moz-border-top-colors: #111111 #F5FCF3 #D4DBE3;
   -moz-border-right-colors: #111111 #9FAEBE #B5BFCC;
   -moz-border-bottom-colors: #111111 #9FAEBE #B5BFCC;
   -moz-border-left-colors: #111111 #D5FCF3 #D4DBE3;
 }
 
+%ifdef MOZ_WIDGET_GTK
+scrollbarbutton[sbattr="scrollbar-up-bottom"],
+scrollbarbutton[sbattr="scrollbar-down-top"] {
+  display: none;
+}
+
+scrollbarbutton[sbattr="scrollbar-up-top"],
+scrollbarbutton[sbattr="scrollbar-down-bottom"] {
+  display: -moz-box !important;
+}
+%endif
+
 /* ::::: thumb (horizontal) ::::: */
 
 thumb {
   min-height: 18px;
   background-image: url("chrome://global/skin/scrollbar/thumb-vrt-grip.gif");
 }
 
 thumb[orient="horizontal"] {
--- a/suite/themes/modern/jar.mn
+++ b/suite/themes/modern/jar.mn
@@ -228,17 +228,17 @@ modern.jar:
   skin/modern/global/spinbuttons.css                               (global/spinbuttons.css)
   skin/modern/global/splitter.css                                  (global/splitter.css)
   skin/modern/global/tabbox.css                                    (global/tabbox.css)
   skin/modern/global/textbox.css                                   (global/textbox.css)
   skin/modern/global/toolbar.css                                   (global/toolbar.css)
   skin/modern/global/toolbarbutton.css                             (global/toolbarbutton.css)
   skin/modern/global/tree.css                                      (global/tree.css)
   skin/modern/global/wizard.css                                    (global/wizard.css)
-  skin/modern/global/scrollbars.css                                (global/scrollbars.css)
+* skin/modern/global/scrollbars.css                                (global/scrollbars.css)
   skin/modern/global/scrollbars-mini.css                           (global/scrollbars-mini.css)
   skin/modern/global/alerts/alert.css                              (global/alerts/alert.css)
   skin/modern/global/alerts/notification-48.png                    (global/alerts/notification-48.png)
   skin/modern/global/arrow/arrow-dn-dis.gif                        (global/arrow/arrow-dn-dis.gif)
   skin/modern/global/arrow/arrow-dn.gif                            (global/arrow/arrow-dn.gif)
   skin/modern/global/arrow/arrow-lft-dis.gif                       (global/arrow/arrow-lft-dis.gif)
   skin/modern/global/arrow/arrow-lft.gif                           (global/arrow/arrow-lft.gif)
   skin/modern/global/arrow/arrow-lft-sharp.gif                     (global/arrow/arrow-lft-sharp.gif)