summaryrefslogtreecommitdiffstats
path: root/toolkit/themes/linux/global
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/themes/linux/global')
-rw-r--r--toolkit/themes/linux/global/alerts/alert.css23
-rw-r--r--toolkit/themes/linux/global/autocomplete.css189
-rw-r--r--toolkit/themes/linux/global/button.css152
-rw-r--r--toolkit/themes/linux/global/checkbox.css99
-rw-r--r--toolkit/themes/linux/global/colorpicker.css47
-rw-r--r--toolkit/themes/linux/global/commonDialog.css22
-rw-r--r--toolkit/themes/linux/global/dirListing/remote.pngbin0 -> 653 bytes
-rw-r--r--toolkit/themes/linux/global/dropmarker.css7
-rw-r--r--toolkit/themes/linux/global/filepicker.css63
-rw-r--r--toolkit/themes/linux/global/filepicker/Filepicker.pngbin0 -> 1028 bytes
-rw-r--r--toolkit/themes/linux/global/findBar.css159
-rw-r--r--toolkit/themes/linux/global/global.css334
-rw-r--r--toolkit/themes/linux/global/groupbox.css32
-rw-r--r--toolkit/themes/linux/global/icons/Authentication.pngbin0 -> 2714 bytes
-rw-r--r--toolkit/themes/linux/global/icons/autocomplete-search.svg22
-rw-r--r--toolkit/themes/linux/global/icons/autoscroll.pngbin0 -> 2305 bytes
-rw-r--r--toolkit/themes/linux/global/icons/blacklist_favicon.pngbin0 -> 655 bytes
-rw-r--r--toolkit/themes/linux/global/icons/blacklist_large.pngbin0 -> 3846 bytes
-rw-r--r--toolkit/themes/linux/global/icons/close.svg76
-rw-r--r--toolkit/themes/linux/global/icons/errorGhosted-64.pngbin0 -> 1331 bytes
-rw-r--r--toolkit/themes/linux/global/icons/informationGhosted-64.pngbin0 -> 1687 bytes
-rw-r--r--toolkit/themes/linux/global/icons/questionGhosted-64.pngbin0 -> 1720 bytes
-rw-r--r--toolkit/themes/linux/global/icons/resizer-rtl.pngbin0 -> 189 bytes
-rw-r--r--toolkit/themes/linux/global/icons/resizer.pngbin0 -> 190 bytes
-rw-r--r--toolkit/themes/linux/global/icons/sslWarning.pngbin0 -> 3207 bytes
-rw-r--r--toolkit/themes/linux/global/icons/warningGhosted-64.pngbin0 -> 1680 bytes
-rw-r--r--toolkit/themes/linux/global/in-content/common.css123
-rw-r--r--toolkit/themes/linux/global/in-content/info-pages.css1
-rw-r--r--toolkit/themes/linux/global/jar.mn53
-rw-r--r--toolkit/themes/linux/global/listbox.css133
-rw-r--r--toolkit/themes/linux/global/menu.css195
-rw-r--r--toolkit/themes/linux/global/menulist.css83
-rw-r--r--toolkit/themes/linux/global/moz.build7
-rw-r--r--toolkit/themes/linux/global/netError.css145
-rw-r--r--toolkit/themes/linux/global/notification.css109
-rw-r--r--toolkit/themes/linux/global/numberbox.css38
-rw-r--r--toolkit/themes/linux/global/popup.css101
-rw-r--r--toolkit/themes/linux/global/preferences.css62
-rw-r--r--toolkit/themes/linux/global/printPageSetup.css11
-rw-r--r--toolkit/themes/linux/global/printPreview.css19
-rw-r--r--toolkit/themes/linux/global/radio.css110
-rw-r--r--toolkit/themes/linux/global/scrollbox.css33
-rw-r--r--toolkit/themes/linux/global/splitter.css65
-rw-r--r--toolkit/themes/linux/global/tabbox.css91
-rw-r--r--toolkit/themes/linux/global/textbox.css92
-rw-r--r--toolkit/themes/linux/global/toolbar.css113
-rw-r--r--toolkit/themes/linux/global/toolbar/spring.pngbin0 -> 924 bytes
-rw-r--r--toolkit/themes/linux/global/toolbarbutton.css138
-rw-r--r--toolkit/themes/linux/global/tree.css365
-rw-r--r--toolkit/themes/linux/global/tree/twisty-clsd.pngbin0 -> 221 bytes
-rw-r--r--toolkit/themes/linux/global/tree/twisty-open.pngbin0 -> 192 bytes
51 files changed, 3312 insertions, 0 deletions
diff --git a/toolkit/themes/linux/global/alerts/alert.css b/toolkit/themes/linux/global/alerts/alert.css
new file mode 100644
index 000000000..7d09f0292
--- /dev/null
+++ b/toolkit/themes/linux/global/alerts/alert.css
@@ -0,0 +1,23 @@
+/* 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/. */
+
+/* ===== alert.css =====================================================
+ == Styles specific to the alerts dialog.
+ ======================================================================= */
+
+@import url("chrome://global/skin/alerts/alert-common.css");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+.alertBox {
+ border: 1px solid threedshadow;
+ background-color: -moz-Dialog;
+}
+
+.alertCloseButton {
+ -moz-appearance: none;
+ height: 16px;
+ padding: 4px 2px;
+ width: 16px;
+}
diff --git a/toolkit/themes/linux/global/autocomplete.css b/toolkit/themes/linux/global/autocomplete.css
new file mode 100644
index 000000000..0b4536c32
--- /dev/null
+++ b/toolkit/themes/linux/global/autocomplete.css
@@ -0,0 +1,189 @@
+/* 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/. */
+
+/* ===== autocomplete.css =================================================
+ == Styles used by the autocomplete widget.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* ::::: autocomplete ::::: */
+
+/* .padded is used by autocomplete widgets that don't have an icon. Gross. -dwh */
+textbox:not(.padded) {
+ cursor: default;
+ padding: 0;
+}
+
+textbox[enablehistory="true"] {
+ -moz-appearance: none;
+ border: 0;
+ background-color: transparent;
+}
+
+textbox[nomatch="true"][highlightnonmatches="true"] {
+ color: red;
+}
+
+.autocomplete-textbox-container {
+ -moz-box-align: center;
+}
+
+textbox[enablehistory="true"] > .autocomplete-textbox-container {
+ -moz-appearance: menulist-textfield;
+}
+
+textbox:not(.padded) .textbox-input-box {
+ margin: 0 3px;
+}
+
+.textbox-input-box {
+ -moz-box-align: center;
+}
+
+/* ::::: autocomplete popups ::::: */
+
+panel[type="autocomplete"],
+panel[type="autocomplete-richlistbox"],
+.autocomplete-history-popup {
+ border: 1px solid ThreeDShadow;
+ padding: 0;
+ color: -moz-FieldText;
+ background-color: -moz-Field;
+ -moz-appearance: none;
+}
+
+.autocomplete-history-popup {
+ max-height: 180px;
+}
+
+/* ::::: tree ::::: */
+
+.autocomplete-tree {
+ -moz-appearance: none !important;
+ border: none !important;
+ background-color: transparent !important;
+}
+
+.autocomplete-treecol {
+ -moz-appearance: none !important;
+ margin: 0 !important;
+ border: none !important;
+ padding: 0 !important;
+}
+
+/* GTK calculates space for a sort arrow */
+.autocomplete-treecol > .treecol-sortdirection {
+ -moz-appearance: none !important;
+}
+
+.autocomplete-treebody::-moz-tree-cell-text {
+ padding-inline-start: 8px;
+}
+
+treechildren.autocomplete-treebody::-moz-tree-row(selected) {
+ background-color: Highlight;
+}
+
+treechildren.autocomplete-treebody::-moz-tree-cell-text(selected) {
+ color: HighlightText !important;
+}
+
+.autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
+ max-width: 16px;
+ height: 16px;
+}
+
+/* ::::: richlistbox autocomplete ::::: */
+
+.autocomplete-richlistbox {
+ -moz-appearance: none;
+ margin: 1px;
+ background-color: transparent;
+}
+
+.autocomplete-richlistitem[selected] {
+ color: HighlightText;
+}
+
+.ac-type-icon {
+ width: 16px;
+ height: 16px;
+ max-width: 16px;
+ max-height: 16px;
+ margin-inline-start: 13px;
+ margin-inline-end: 6px;
+}
+
+.ac-site-icon {
+ width: 16px;
+ height: 16px;
+ max-width: 16px;
+ max-height: 16px;
+ margin-inline-start: 0;
+ margin-inline-end: 11px;
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png");
+}
+
+.ac-site-icon[selected] {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon-inverted.png");
+}
+
+@media (min-resolution: 1.1dppx) {
+ .ac-site-icon {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon@2x.png");
+ }
+ .ac-site-icon[selected] {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon-inverted@2x.png");
+ }
+}
+
+.ac-title {
+ margin-inline-start: 0;
+ margin-inline-end: 6px;
+}
+
+html|span.ac-tag {
+ margin-inline-start: 0;
+ margin-inline-end: 2px;
+}
+
+.ac-tags {
+ margin-inline-start: 0;
+ margin-inline-end: 4px;
+}
+
+.ac-separator {
+ margin-inline-start: 0;
+ margin-inline-end: 6px;
+}
+
+/* Better align the URL/action with the title. */
+.ac-tags,
+.ac-separator,
+.ac-url,
+.ac-action {
+ margin-bottom: -2px;
+}
+
+.ac-title-text,
+.ac-tags-text,
+.ac-separator-text,
+.ac-url-text,
+.ac-action-text,
+.ac-text-overflow-container {
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+/* ::::: textboxes inside toolbarpaletteitems ::::: */
+
+toolbarpaletteitem > toolbaritem > textbox > hbox > hbox > html|*.textbox-input {
+ visibility: hidden;
+}
+
+toolbarpaletteitem > toolbaritem > * > textbox > hbox > hbox > html|*.textbox-input {
+ visibility: hidden;
+}
diff --git a/toolkit/themes/linux/global/button.css b/toolkit/themes/linux/global/button.css
new file mode 100644
index 000000000..620247587
--- /dev/null
+++ b/toolkit/themes/linux/global/button.css
@@ -0,0 +1,152 @@
+/* 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/. */
+
+/* ===== button.css =====================================================
+ == Styles used by the XUL button element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* :::::::::: button :::::::::: */
+
+button {
+ -moz-appearance: button;
+ margin: 1px 5px 2px 5px;
+ min-width: 6.3em;
+ border: 3px solid;
+ -moz-border-top-colors: transparent ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: transparent ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: transparent ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: transparent ThreeDHighlight ThreeDLightShadow;
+ background-color: ThreeDFace;
+ color: ButtonText;
+ text-shadow: none;
+}
+
+.button-box {
+ -moz-appearance: button-focus;
+ border: 1px solid transparent;
+ padding-top: 1px;
+ padding-bottom: 2px;
+ padding-inline-start: 3px;
+ padding-inline-end: 4px;
+}
+
+.button-icon {
+ margin-inline-end: 2px;
+}
+
+.button-text {
+ margin: 0 !important;
+ text-align: center;
+}
+
+/* .......... focused state .......... */
+
+button:focus {
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDHighlight transparent;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDHighlight transparent;
+}
+
+button:focus > .button-box {
+ border: 1px dotted ThreeDDarkShadow;
+}
+
+/* .......... default state .......... */
+
+button[default="true"] {
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDHighlight ThreeDLightShadow;
+}
+
+/* .......... hover state .......... */
+
+button:hover {
+ color: -moz-buttonhovertext;
+ background-color: -moz-buttonhoverface;
+}
+
+/* .......... active/open/checked state .......... */
+
+button:hover:active,
+button[open="true"],
+button[checked="true"] {
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDShadow transparent;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow transparent;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow transparent;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDShadow transparent;
+ color: ButtonText;
+}
+
+button:hover:active > .button-box,
+button[open="true"] > .button-box,
+button[checked="true"] > .button-box {
+ padding-top: 2px;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ padding-inline-end: 3px;
+}
+
+/* .......... disabled state .......... */
+
+button[disabled="true"],
+button[disabled="true"]:hover:active {
+ -moz-border-top-colors: transparent ThreeDHighlight ThreeDLightShadow !important;
+ -moz-border-right-colors: transparent ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-bottom-colors: transparent ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-left-colors: transparent ThreeDHighlight ThreeDLightShadow !important;
+ color: GrayText;
+}
+
+button[disabled="true"] > .button-box {
+ padding-top: 1px !important;
+ padding-bottom: 2px !important;
+ padding-inline-start: 3px !important;
+ padding-inline-end: 4px !important;
+}
+
+/* ::::: menu/menu-button buttons ::::: */
+
+button[type="menu-button"] {
+ -moz-appearance: dualbutton;
+}
+
+.button-menubutton-button {
+ margin: 0;
+}
+
+.button-menu-dropmarker,
+.button-menubutton-dropmarker {
+ -moz-appearance: toolbarbutton-dropdown !important;
+}
+
+.button-menubutton-dropmarker {
+ margin-inline-end: 3px;
+}
+
+/* ::::: plain buttons ::::: */
+
+button.plain {
+ border: 0px !important;
+ margin: 0px !important;
+ padding: 0px !important;
+}
+
+button[type="disclosure"] {
+ border: 0px !important;
+ margin: 0px !important;
+ padding: 0px !important;
+ -moz-appearance: none;
+ list-style-image: url("chrome://global/skin/tree/twisty-clsd.png");
+ min-width: 0px !important;
+ background-color: transparent;
+}
+
+button[type="disclosure"][open="true"] {
+ list-style-image: url("chrome://global/skin/tree/twisty-open.png");
+}
diff --git a/toolkit/themes/linux/global/checkbox.css b/toolkit/themes/linux/global/checkbox.css
new file mode 100644
index 000000000..a4e07448e
--- /dev/null
+++ b/toolkit/themes/linux/global/checkbox.css
@@ -0,0 +1,99 @@
+/* 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/. */
+
+/* ===== checkbox.css ===================================================
+ == Styles used by the XUL checkbox element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: checkbox ::::: */
+
+checkbox {
+ -moz-appearance: checkbox-container;
+ margin: 2px 4px;
+ border-left: 2px transparent;
+ border-right: 2px transparent;
+}
+
+/* With native theming on, the spacer-box paints the check mark and includes
+ the spacing to the right, so that oversized checkbox images can slop over
+ into the space.
+
+ If we need to disable checkbox theming, the spacer box no longer paints
+ the check mark, but its fallback CSS border supplies the padding between
+ the mark and the label. The xul:image then takes over painting the check
+ mark. */
+
+.checkbox-spacer-box {
+ -moz-appearance: checkbox;
+ -moz-box-align: center;
+ margin: 2px;
+ border-right: 2px solid transparent;
+}
+
+.checkbox-label-center-box {
+ -moz-box-align: center;
+}
+
+.checkbox-label-box {
+ -moz-appearance: checkbox-label;
+}
+
+.checkbox-icon[src] {
+ margin-inline-end: 2px;
+}
+
+.checkbox-label {
+ margin: 0 !important;
+}
+
+/* ..... focused state ..... */
+
+checkbox:focus > .checkbox-label-center-box > .checkbox-label-box {
+ border: 1px dotted ThreeDDarkShadow;
+}
+
+/* ..... disabled state ..... */
+
+checkbox[disabled="true"] > .checkbox-spacer-box > .checkbox-check {
+ background-color: -moz-Dialog;
+}
+
+checkbox[disabled="true"] {
+ color: GrayText;
+}
+
+/* ::::: checkmark image ::::: */
+
+.checkbox-check {
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ min-width: 13px;
+ min-height: 13px;
+ background: -moz-Field no-repeat 50% 50%;
+}
+
+checkbox:not([disabled="true"]):hover {
+ color: -moz-buttonhovertext;
+ text-shadow: none;
+}
+
+checkbox:hover:active > .checkbox-spacer-box > .checkbox-check {
+ background-color: -moz-Dialog;
+}
+
+/* ..... checked state ..... */
+
+checkbox[checked="true"] > .checkbox-spacer-box > .checkbox-check {
+ background-image: url("chrome://global/skin/checkbox/cbox-check.gif");
+}
+
+checkbox[checked="true"][disabled="true"] > .checkbox-spacer-box > .checkbox-check {
+ background-image: url("chrome://global/skin/checkbox/cbox-check-dis.gif") !important
+}
+
diff --git a/toolkit/themes/linux/global/colorpicker.css b/toolkit/themes/linux/global/colorpicker.css
new file mode 100644
index 000000000..5870ed5d1
--- /dev/null
+++ b/toolkit/themes/linux/global/colorpicker.css
@@ -0,0 +1,47 @@
+/* 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/. */
+
+/* ===== colorpicker.css ================================================
+ == Styles used by the XUL colorpicker element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: colorpicker button ::::: */
+
+/* colorpicker button */
+
+colorpicker[type="button"] {
+ -moz-appearance: button;
+ width: 38px;
+ height: 24px;
+}
+
+.colorpicker-button-colorbox {
+ border: 1px solid #000000;
+}
+
+/* ::::: colorpicker tiles ::::: */
+
+.colorpickertile {
+ width: 20px;
+ height: 20px;
+ margin: 1px;
+ border-left: 1px solid ThreeDShadow;
+ border-top: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ border-bottom: 1px solid ThreeDHighlight;
+}
+
+.colorpickertile[selected="true"] {
+ border: 2px outset #C0C0C0;
+}
+
+.colorpickertile[hover="true"] {
+ border: 2px dotted #FFFFFF;
+}
+
+.cp-light[hover="true"] {
+ border: 2px dotted #909090;
+}
diff --git a/toolkit/themes/linux/global/commonDialog.css b/toolkit/themes/linux/global/commonDialog.css
new file mode 100644
index 000000000..f5c5af7d7
--- /dev/null
+++ b/toolkit/themes/linux/global/commonDialog.css
@@ -0,0 +1,22 @@
+/* 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/. */
+
+#filler {
+ margin-inline-start: -8px;
+ margin-inline-end: -10px;
+}
+
+#iconContainer {
+ -moz-box-pack: center;
+ min-height: 55px; /* maximum icon height + icon margin */
+ min-width: 58px; /* maximum icon width + icon margin */
+}
+
+#info\.icon {
+ max-width: 48px;
+ max-height: 48px;
+ /* The 'spaced' class does this already. It's repeated here to make it clearer
+ what margin values the #iconContainer's min-height and max-height depend on: */
+ margin: 3px 5px 4px;
+}
diff --git a/toolkit/themes/linux/global/dirListing/remote.png b/toolkit/themes/linux/global/dirListing/remote.png
new file mode 100644
index 000000000..281fb2acf
--- /dev/null
+++ b/toolkit/themes/linux/global/dirListing/remote.png
Binary files differ
diff --git a/toolkit/themes/linux/global/dropmarker.css b/toolkit/themes/linux/global/dropmarker.css
new file mode 100644
index 000000000..5b44ac40e
--- /dev/null
+++ b/toolkit/themes/linux/global/dropmarker.css
@@ -0,0 +1,7 @@
+/* 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/. */
+
+dropmarker {
+ -moz-appearance: menulist-button;
+}
diff --git a/toolkit/themes/linux/global/filepicker.css b/toolkit/themes/linux/global/filepicker.css
new file mode 100644
index 000000000..b072c20ba
--- /dev/null
+++ b/toolkit/themes/linux/global/filepicker.css
@@ -0,0 +1,63 @@
+/* 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/. */
+
+/* ===== filepicker.css =================================================
+ == Styles used by the File Picker dialog.
+ ======================================================================= */
+
+@import url("chrome://global/skin/");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: column widths ::::: */
+
+#FilenameColumn,
+#ContentLengthColumn,
+#LastModifiedDateColumn {
+ width: 100px;
+}
+
+/* ::::: file/directory items ::::: */
+
+treechildren::-moz-tree-image(treecolAutoCompleteValue),
+treechildren::-moz-tree-image(FilenameColumn) {
+ padding-right: 2px;
+ margin: 0px 2px;
+ width: 16px;
+ height: 16px;
+}
+
+treechildren::-moz-tree-image(treecolAutoCompleteValue, directory),
+treechildren::-moz-tree-image(FilenameColumn, directory) {
+ list-style-image: url("moz-icon://stock/gtk-directory?size=menu");
+}
+
+treechildren::-moz-tree-image(treecolAutoCompleteValue, file),
+treechildren::-moz-tree-image(FilenameColumn, file) {
+ list-style-image: url("moz-icon://stock/gtk-file?size=menu");
+}
+
+/* ::::: button items ::::: */
+
+/* up-button */
+
+.up-button {
+ list-style-image: url("moz-icon://stock/gtk-go-up?size=toolbar");
+ max-width: 36px;
+}
+
+/* home-button */
+
+.home-button {
+ list-style-image: url("moz-icon://stock/gtk-home?size=toolbar");
+ max-width: 36px;
+}
+
+/* new-dir-button */
+
+.new-dir-button {
+ list-style-image: url("chrome://global/skin/Filepicker.png");
+ max-width: 36px;
+}
+
diff --git a/toolkit/themes/linux/global/filepicker/Filepicker.png b/toolkit/themes/linux/global/filepicker/Filepicker.png
new file mode 100644
index 000000000..236edaa0d
--- /dev/null
+++ b/toolkit/themes/linux/global/filepicker/Filepicker.png
Binary files differ
diff --git a/toolkit/themes/linux/global/findBar.css b/toolkit/themes/linux/global/findBar.css
new file mode 100644
index 000000000..f04911402
--- /dev/null
+++ b/toolkit/themes/linux/global/findBar.css
@@ -0,0 +1,159 @@
+/* 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");
+
+findbar {
+ border-top: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDHighlight;
+ min-width: 1px;
+ transition-property: margin-bottom, opacity, visibility;
+ transition-duration: 150ms, 150ms, 0s;
+ transition-timing-function: ease-in-out, ease-in-out, linear;
+}
+
+findbar[hidden] {
+ /* Override display:none to make the transition work. */
+ display: -moz-box;
+ visibility: collapse;
+ margin-bottom: -1em;
+ opacity: 0;
+ transition-delay: 0s, 0s, 150ms;
+}
+
+findbar[noanim] {
+ transition-duration: 0s !important;
+ transition-delay: 0s !important;
+}
+
+.findbar-container {
+ padding-inline-start: 8px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+
+.findbar-closebutton {
+ -moz-appearance: none;
+ width: 16px;
+ height: 16px;
+ margin: 0 8px;
+}
+
+/* Search field */
+
+.findbar-textbox {
+ -moz-appearance: none;
+ border: 1px solid ThreeDShadow;
+ box-shadow: 0 0 1px 0 ThreeDShadow inset;
+ margin: 0;
+ padding: 5px;
+ width: 14em;
+}
+
+.findbar-textbox:-moz-locale-dir(ltr) {
+ border-radius: 3px 0 0 3px;
+ border-right-width: 0;
+}
+
+.findbar-textbox:-moz-locale-dir(rtl) {
+ border-radius: 0 3px 3px 0;
+ border-left-width: 0;
+}
+
+.findbar-textbox[focused="true"] {
+ border-color: Highlight;
+ box-shadow: 0 0 1px 0 Highlight inset;
+}
+
+.findbar-textbox[status="notfound"] {
+ background-color: #f66;
+ color: white;
+}
+
+.findbar-textbox[flash="true"] {
+ background-color: yellow;
+ color: black;
+}
+
+.findbar-textbox.minimal {
+ border-width: 1px;
+ border-radius: 3px;
+}
+
+.findbar-find-previous,
+.findbar-find-next {
+ margin-inline-start: 0;
+ -moz-appearance: none;
+ background: linear-gradient(rgba(255,255,255,.8) 1px, rgba(255,255,255,.4) 1px, rgba(255,255,255,.1));
+ border: 1px solid ThreeDShadow;
+ padding: 5px 9px;
+ line-height: 1em;
+}
+
+.findbar-find-previous:focus,
+.findbar-find-next:focus {
+ border-color: Highlight;
+ box-shadow: 0 0 1px 0 Highlight inset;
+}
+
+.findbar-find-previous:not([disabled]):active,
+.findbar-find-next:not([disabled]):active {
+ background: rgba(23,50,76,.2);
+ border: 1px solid ThreeDShadow;
+ box-shadow: 0 1px 2px rgba(10,31,51,.2) inset;
+}
+
+.findbar-find-previous {
+ list-style-image: url(chrome://global/skin/icons/find-arrows.svg#glyph-find-previous);
+ border-inline-end-width: 0;
+}
+
+.findbar-find-next {
+ list-style-image: url(chrome://global/skin/icons/find-arrows.svg#glyph-find-next);
+}
+
+.findbar-find-previous > .toolbarbutton-icon,
+.findbar-find-next > .toolbarbutton-icon {
+ margin: 0;
+}
+
+.findbar-find-previous[disabled="true"] > .toolbarbutton-icon,
+.findbar-find-next[disabled="true"] > .toolbarbutton-icon {
+ opacity: .5;
+}
+
+.findbar-find-next:-moz-locale-dir(ltr) {
+ border-top-right-radius: 2px;
+ border-bottom-right-radius: 2px;
+}
+
+.findbar-find-next:-moz-locale-dir(rtl) {
+ border-top-left-radius: 2px;
+ border-bottom-left-radius: 2px;
+}
+
+.findbar-find-previous:focus + .findbar-find-next {
+ border-inline-start-width: 0;
+}
+
+.findbar-find-previous:focus {
+ border-inline-end-width: 1px;
+}
+
+.findbar-highlight,
+.findbar-case-sensitive,
+.findbar-entire-word {
+ margin-inline-start: 5px;
+}
+
+.findbar-find-status,
+.findbar-matches {
+ color: GrayText;
+ margin: 0 !important;
+ margin-inline-start: 12px !important;
+}
+
+.find-status-icon[status="pending"] {
+ list-style-image: url("chrome://global/skin/icons/loading.png");
+}
diff --git a/toolkit/themes/linux/global/global.css b/toolkit/themes/linux/global/global.css
new file mode 100644
index 000000000..1f9e7e458
--- /dev/null
+++ b/toolkit/themes/linux/global/global.css
@@ -0,0 +1,334 @@
+/* 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/. */
+
+/* ===== global.css =====================================================
+ == Styles that apply everywhere.
+ ======================================================================= */
+
+/* all localizable skin settings shall live here */
+@import url("chrome://global/locale/intl.css");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: XBL bindings ::::: */
+
+checkbox {
+ -moz-binding: url("chrome://global/content/bindings/checkbox.xml#checkbox-with-spacing");
+}
+
+radio {
+ -moz-binding: url("chrome://global/skin/globalBindings.xml#radio-with-spacing");
+}
+
+menulist > menupopup {
+ -moz-binding: url("chrome://global/content/bindings/popup.xml#popup-scrollbars");
+}
+
+progressmeter[mode="undetermined"] {
+ -moz-binding: url("chrome://global/content/bindings/progressmeter.xml#progressmeter-undetermined");
+}
+
+toolbar[type="menubar"]:not([autohide="true"]):not(:-moz-lwtheme):-moz-system-metric(menubar-drag) {
+ -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar-drag");
+}
+
+/* ::::: Variables ::::: */
+:root {
+ --arrowpanel-padding: 10px;
+ --arrowpanel-background: -moz-field;
+ --arrowpanel-color: -moz-fieldText;
+ --arrowpanel-border-color: ThreeDShadow;
+}
+
+/* ::::: root elements ::::: */
+
+window,
+page,
+dialog,
+wizard,
+prefwindow {
+ -moz-appearance: window;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ font: message-box;
+}
+
+/* deprecated */
+window.dialog {
+ padding-top: 8px;
+ padding-bottom: 10px;
+ padding-inline-start: 8px;
+ padding-inline-end: 10px;
+}
+
+/* ::::: alert icons :::::*/
+
+.message-icon {
+ list-style-image: url("moz-icon://stock/gtk-dialog-info?size=dialog");
+}
+
+.alert-dialog #info\.icon,
+.alert-icon {
+ list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=dialog");
+}
+
+.error-icon {
+ list-style-image: url("moz-icon://stock/gtk-dialog-error?size=dialog");
+}
+
+.question-icon {
+ list-style-image: url("moz-icon://stock/gtk-dialog-question?size=dialog");
+}
+
+.authentication-icon {
+ list-style-image: url("chrome://global/skin/icons/Authentication.png");
+}
+
+/* ::::: iframe ::::: */
+
+iframe {
+ border: none;
+ width: 100px;
+ height: 100px;
+ min-width: 10px;
+ min-height: 10px;
+}
+
+/* ::::: statusbar ::::: */
+
+statusbar {
+ -moz-appearance: statusbar;
+ border-top: 1px solid ThreeDLightShadow;
+ border-left: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ border-bottom: 1px solid ThreeDHighlight;
+ background-color: -moz-Dialog;
+ min-height: 22px;
+}
+
+statusbarpanel {
+ -moz-appearance: statusbarpanel;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ border-left: 1px solid ThreeDHighlight;
+ border-top: 1px solid ThreeDHighlight;
+ border-right: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDShadow;
+ padding: 0 4px;
+}
+
+.statusbar-resizerpanel {
+ -moz-box-align: end;
+ -moz-box-pack: end;
+ -moz-appearance: resizerpanel;
+ padding: 0;
+ border: none;
+}
+
+.statusbarpanel-iconic,
+.statusbarpanel-iconic-text,
+.statusbarpanel-menu-iconic {
+ padding: 0 1px;
+}
+
+/* XXXBlake yeah, shoot me -- these don't belong here. I'll move them later. */
+
+sidebarheader {
+ height: 25px;
+ background-color: -moz-Dialog;
+}
+
+sidebarheader > label {
+ padding-inline-start: 4px;
+}
+
+.toolbar-focustarget {
+ -moz-user-focus: ignore !important;
+}
+
+toolbar[mode="text"] .toolbarbutton-text {
+ padding: 0 !important;
+ margin: 3px 5px !important;
+}
+
+/* ::::: miscellaneous formatting ::::: */
+
+:root:-moz-lwtheme,
+[lwthemefooter="true"],
+statusbarpanel:-moz-lwtheme {
+ -moz-appearance: none;
+}
+
+sidebarheader:-moz-lwtheme {
+ background: none;
+}
+
+:root:-moz-lwtheme-darktext {
+ text-shadow: 0 -0.5px 1.5px white;
+}
+
+:root:-moz-lwtheme-brighttext {
+ text-shadow: 1px 1px 1.5px black;
+}
+
+.inset {
+ border: 1px solid ThreeDShadow;
+ border-right-color: ThreeDHighlight;
+ border-bottom-color: ThreeDHighlight;
+ margin: 0 5px 5px;
+}
+
+.outset {
+ border: 1px solid ThreeDShadow;
+ border-left-color: ThreeDHighlight;
+ border-top-color: ThreeDHighlight;
+}
+
+separator:not([orient="vertical"]) {
+ height: 1.5em;
+}
+separator[orient="vertical"] {
+ width: 1.5em;
+}
+
+separator.thin:not([orient="vertical"]) {
+ height: 0.5em;
+}
+separator.thin[orient="vertical"] {
+ width: 0.5em;
+}
+
+separator.groove:not([orient="vertical"]) {
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDHighlight;
+ height: 0;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em;
+}
+separator.groove[orient="vertical"] {
+ border-left: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ width: 0;
+ margin-left: 0.4em;
+ margin-right: 0.4em;
+}
+
+.small-margin {
+ margin: 1px 2px;
+}
+
+.plain {
+ -moz-appearance: none;
+ margin: 0 !important;
+ border: none;
+ padding: 0;
+}
+
+description,
+label {
+ cursor: default;
+ margin-top: 1px;
+ margin-bottom: 2px;
+ margin-inline-start: 6px;
+ margin-inline-end: 5px;
+}
+
+description {
+ margin-bottom: 4px;
+}
+
+label[disabled="true"] {
+ color: GrayText;
+}
+
+.tooltip-label {
+ margin: 0;
+}
+
+.header {
+ font-weight: bold;
+}
+
+.monospace {
+ font-family: monospace;
+}
+
+.indent {
+ margin-inline-start: 23px;
+}
+
+.box-padded {
+ padding: 5px;
+}
+
+.spaced {
+ margin: 3px 5px 4px;
+}
+
+.wizard-box {
+ padding: 20px 44px 10px;
+}
+
+.text-link {
+ color: -moz-nativehyperlinktext;
+ cursor: pointer;
+}
+
+.text-link:hover {
+ text-decoration: underline;
+}
+
+.text-link:-moz-focusring {
+ outline: 1px dotted;
+}
+
+notification > button {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+popupnotificationcontent {
+ margin-top: .5em;
+}
+
+/* :::::: autoscroll popup ::::: */
+
+.autoscroller {
+ height: 28px;
+ width: 28px;
+ border: none;
+ margin: -14px;
+ padding: 0;
+ background-image: url("chrome://global/skin/icons/autoscroll.png");
+ background-color: transparent;
+ background-position: right top;
+ -moz-appearance: none;
+}
+
+.autoscroller[scrolldir="NS"] {
+ background-position: right center;
+}
+
+.autoscroller[scrolldir="EW"] {
+ background-position: right bottom;
+}
+
+/* :::::: Close button icons ::::: */
+
+.close-icon {
+ -moz-appearance: none;
+ height: 16px;
+ width: 16px;
+ background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 16, 16, 0);
+ background-position: center center;
+ background-repeat: no-repeat;
+}
+
+.close-icon:hover {
+ background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 32, 16, 16);
+}
+
+.close-icon:hover:active {
+ background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 48, 16, 32);
+}
diff --git a/toolkit/themes/linux/global/groupbox.css b/toolkit/themes/linux/global/groupbox.css
new file mode 100644
index 000000000..5cf1cb431
--- /dev/null
+++ b/toolkit/themes/linux/global/groupbox.css
@@ -0,0 +1,32 @@
+/* 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/. */
+
+/* ===== groupbox.css ==================================================
+ == Styles used by the XUL groupbox and related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: groupbox ::::: */
+
+groupbox {
+ margin: 5px;
+ padding: 5px;
+}
+
+.groupbox-body {
+ padding-inline-start: 10px;
+}
+
+caption {
+ margin-bottom: 2px;
+ font-weight: bold;
+}
+
+/* !important is needed to override label in global.css */
+.caption-text {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ margin-inline-start: 1px !important;
+}
diff --git a/toolkit/themes/linux/global/icons/Authentication.png b/toolkit/themes/linux/global/icons/Authentication.png
new file mode 100644
index 000000000..facbfbe08
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/Authentication.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/autocomplete-search.svg b/toolkit/themes/linux/global/icons/autocomplete-search.svg
new file mode 100644
index 000000000..5da904d82
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/autocomplete-search.svg
@@ -0,0 +1,22 @@
+<?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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 16 16" >
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ fill: GrayText;
+ }
+ use[id$="-inverted"] {
+ fill: highlighttext;
+ }
+ </style>
+ <defs>
+ <path id="search" fill-rule="evenodd" d="M9.356,1.178c-3.014,0-5.458,2.45-5.458,5.472c0,1.086,0.32,2.096,0.864,2.947 l-3.279,3.287c-0.396,0.397-0.396,1.041,0,1.438l0.202,0.202c0.396,0.397,1.039,0.397,1.435,0l3.275-3.283 c0.854,0.554,1.869,0.88,2.962,0.88c3.014,0,5.458-2.45,5.458-5.471C14.814,3.627,12.371,1.178,9.356,1.178z M9.356,10.001 c-1.847,0-3.344-1.501-3.344-3.352c0-1.851,1.497-3.352,3.344-3.352c1.846,0,3.344,1.501,3.344,3.352 C12.7,8.501,11.203,10.001,9.356,10.001z"/>
+ </defs>
+ <use id="search-icon" xlink:href="#search"/>
+ <use id="search-icon-inverted" xlink:href="#search"/>
+</svg>
diff --git a/toolkit/themes/linux/global/icons/autoscroll.png b/toolkit/themes/linux/global/icons/autoscroll.png
new file mode 100644
index 000000000..6aac3d98e
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/autoscroll.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/blacklist_favicon.png b/toolkit/themes/linux/global/icons/blacklist_favicon.png
new file mode 100644
index 000000000..f41f68485
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/blacklist_favicon.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/blacklist_large.png b/toolkit/themes/linux/global/icons/blacklist_large.png
new file mode 100644
index 000000000..f4c4d9e39
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/blacklist_large.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/close.svg b/toolkit/themes/linux/global/icons/close.svg
new file mode 100644
index 000000000..042ecbfd6
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/close.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="96px" height="16px" viewBox="0 0 96 16">
+ <defs>
+ <style>
+ /* X Glyph Styles */
+ .glyphShape-style-foreground {
+ fill: ButtonText;
+ fill-opacity: .8;
+ }
+ .glyphShape-style-background {
+ fill: -moz-MenuBarText;
+ fill-opacity: .8;
+ }
+ .glyphShape-style-hover {
+ fill: #fff;
+ }
+ .glyphShape-style-hover-shadow {
+ fill: #b32c12;
+ }
+ .glyphShape-style-hover-active {
+ fill: #fff;
+ fill-opacity: .8;
+ }
+ .glyphShape-style-hover-active-shadow {
+ fill: #99260f;
+ }
+ .glyphShape-style-LWT-bright {
+ fill: #fff;
+ fill-opacity: .8;
+ }
+ .glyphShape-style-LWT-dark {
+ fill: #000;
+ fill-opacity: .8;
+ }
+ /* Close Button Background Styles */
+ .icon-background-hover {
+ fill: #d93616;
+ }
+ .icon-background-hover-active {
+ fill: #b32c12;
+ }
+ </style>
+ <polygon id="glyphShape-close" points="4,5.5 5.5,4 8,6.5 10.5,4 12,5.5 9.5,8 12,10.5 10.5,12 8,9.5 5.5,12 4,10.5 6.5,8"/>
+ <polygon id="glyphShape-close-topHighlight" points="4,5.5 5.5,4 8,6.5 10.5,4 12,5.5 9.5,8 11.5,6 10.5,5 8,7.5 5.5,5 4.5,6"/>
+ <rect id="glyphShape-background" x="2" y="2" rx="2" width="12" height="12"/>
+ </defs>
+ <g id="icon-closeForeground-default">
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-foreground" />
+ <use xlink:href="#glyphShape-close-topHighlight" class="glyphShape-style-foreground" />
+ </g>
+ <g id="icon-close-hover" transform="translate(16)">
+ <use xlink:href="#glyphShape-background" class="icon-background-hover" />
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-hover-shadow" transform="translate(0,1)" />
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-hover" />
+ </g>
+ <g id="icon-close-hover-active" transform="translate(32)">
+ <use xlink:href="#glyphShape-background" class="icon-background-hover-active" />
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-hover-active-shadow" transform="translate(0,1)" />
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-hover-active" />
+ </g>
+ <g id="icon-closeBackground-default" transform="translate(48)">
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-background" />
+ <use xlink:href="#glyphShape-close-topHighlight" class="glyphShape-style-background" />
+ </g>
+ <g id="icon-close-LWT-bright" transform="translate(64)">
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-LWT-bright" />
+ <use xlink:href="#glyphShape-close-topHighlight" class="glyphShape-style-LWT-bright" />
+ </g>
+ <g id="icon-close-LWT-dark" transform="translate(80)">
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-LWT-dark" />
+ <use xlink:href="#glyphShape-close-topHighlight" class="glyphShape-style-LWT-dark" />
+ </g>
+</svg>
diff --git a/toolkit/themes/linux/global/icons/errorGhosted-64.png b/toolkit/themes/linux/global/icons/errorGhosted-64.png
new file mode 100644
index 000000000..9d9063bca
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/errorGhosted-64.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/informationGhosted-64.png b/toolkit/themes/linux/global/icons/informationGhosted-64.png
new file mode 100644
index 000000000..35997d6ec
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/informationGhosted-64.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/questionGhosted-64.png b/toolkit/themes/linux/global/icons/questionGhosted-64.png
new file mode 100644
index 000000000..15f9aa02a
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/questionGhosted-64.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/resizer-rtl.png b/toolkit/themes/linux/global/icons/resizer-rtl.png
new file mode 100644
index 000000000..98bef914f
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/resizer-rtl.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/resizer.png b/toolkit/themes/linux/global/icons/resizer.png
new file mode 100644
index 000000000..0b1e63a57
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/resizer.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/sslWarning.png b/toolkit/themes/linux/global/icons/sslWarning.png
new file mode 100644
index 000000000..6517bb953
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/sslWarning.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/warningGhosted-64.png b/toolkit/themes/linux/global/icons/warningGhosted-64.png
new file mode 100644
index 000000000..352ea7f1e
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/warningGhosted-64.png
Binary files differ
diff --git a/toolkit/themes/linux/global/in-content/common.css b/toolkit/themes/linux/global/in-content/common.css
new file mode 100644
index 000000000..75035d2e5
--- /dev/null
+++ b/toolkit/themes/linux/global/in-content/common.css
@@ -0,0 +1,123 @@
+/* - 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/. */
+
+%include ../../../shared/in-content/common.inc.css
+
+xul|tab[visuallyselected] {
+ /* Override styles for tab[selected] from
+ toolkit/themes/linux/global/tabbox.css */
+ margin-bottom: 0;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+xul|button,
+html|button,
+xul|colorpicker[type="button"],
+xul|menulist {
+ margin: 2px 4px;
+}
+
+xul|button > xul|*.button-box,
+xul|menulist > xul|*.menulist-label-box {
+ -moz-appearance: none;
+}
+
+xul|button[type="menu"] > xul|*.button-box > xul|*.button-menu-dropmarker {
+ -moz-appearance: none !important;
+}
+
+xul|*.help-button > xul|*.button-box > xul|*.button-icon {
+ margin-inline-end: 0;
+}
+
+xul|*.groupbox-body {
+ padding-inline-start: 0;
+}
+
+xul|menulist {
+ font-size: inherit;
+}
+
+xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker {
+ display: -moz-box;
+ margin-top: 6px;
+ margin-bottom: 6px;
+}
+
+xul|checkbox {
+ -moz-binding: url("chrome://global/content/bindings/checkbox.xml#checkbox");
+ -moz-box-align: center;
+}
+
+xul|*.checkbox-check {
+ background-image: none !important;
+}
+
+xul|*.checkbox-check[checked] {
+ list-style-image: url("chrome://global/skin/in-content/check.svg#check-native");
+ background-color: -moz-dialog;
+}
+
+xul|radio {
+ -moz-binding: url("chrome://global/content/bindings/radio.xml#radio");
+ -moz-box-align: center;
+}
+
+xul|*.radio-check {
+ background-image: none;
+}
+
+xul|*.radio-check[selected] {
+ list-style-image: url("chrome://global/skin/in-content/radio.svg#radio-native");
+ background-color: -moz-dialog;
+}
+
+xul|*.radio-label-box {
+ -moz-appearance: none;
+}
+
+/* Override OS-theme-based color to make it visible
+ on dark color themes. */
+xul|radio:not([disabled="true"]):hover,
+xul|checkbox:not([disabled="true"]):hover {
+ color: var(--in-content-text-color);
+}
+
+xul|*.numberbox-input-box {
+ -moz-appearance: none;
+ border-width: 0;
+}
+
+xul|*.text-link:-moz-focusring {
+ border: 1px dotted -moz-DialogText;
+}
+
+xul|menulist:-moz-focusring > xul|*.menulist-label-box,
+xul|radio[focused="true"] > xul|*.radio-label-box,
+html|input[type="checkbox"]:-moz-focusring + html|label:before,
+xul|checkbox:-moz-focusring > xul|*.checkbox-label-box {
+ outline: 1px dotted;
+}
+
+xul|spinbuttons {
+ -moz-appearance: none;
+}
+
+xul|treechildren::-moz-tree-row(multicol, odd) {
+ background-color: var(--in-content-box-background-odd);
+}
+
+/* These rules are duplicated from common.inc.css
+ * because above -moz-tree-row(multicol, odd) rule
+ * overrides also hover/selected states.
+ */
+xul|treechildren::-moz-tree-row(hover) {
+ background-color: var(--in-content-item-hover);
+}
+
+xul|treechildren::-moz-tree-row(selected) {
+ background-color: var(--in-content-item-selected);
+}
+
diff --git a/toolkit/themes/linux/global/in-content/info-pages.css b/toolkit/themes/linux/global/in-content/info-pages.css
new file mode 100644
index 000000000..a25b9f6a3
--- /dev/null
+++ b/toolkit/themes/linux/global/in-content/info-pages.css
@@ -0,0 +1 @@
+%include ../../../shared/in-content/info-pages.inc.css \ No newline at end of file
diff --git a/toolkit/themes/linux/global/jar.mn b/toolkit/themes/linux/global/jar.mn
new file mode 100644
index 000000000..e67ea020e
--- /dev/null
+++ b/toolkit/themes/linux/global/jar.mn
@@ -0,0 +1,53 @@
+# 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/.
+
+#include ../../shared/non-mac.jar.inc.mn
+
+toolkit.jar:
+ skin/classic/global/autocomplete.css
+ 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/filepicker.css
+ skin/classic/global/Filepicker.png (filepicker/Filepicker.png)
+ 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/preferences.css
+ skin/classic/global/printPageSetup.css
+ skin/classic/global/printPreview.css
+ skin/classic/global/radio.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/tree.css
+ skin/classic/global/alerts/alert.css (alerts/alert.css)
+ skin/classic/global/dirListing/remote.png (dirListing/remote.png)
+
+ skin/classic/global/icons/Authentication.png (icons/Authentication.png)
+ skin/classic/global/icons/autocomplete-search.svg (icons/autocomplete-search.svg)
+ skin/classic/global/icons/autoscroll.png (icons/autoscroll.png)
+ skin/classic/global/icons/blacklist_favicon.png (icons/blacklist_favicon.png)
+ skin/classic/global/icons/blacklist_large.png (icons/blacklist_large.png)
+ skin/classic/global/icons/close.svg (icons/close.svg)
+ skin/classic/global/icons/resizer.png (icons/resizer.png)
+ skin/classic/global/icons/sslWarning.png (icons/sslWarning.png)
+
+* skin/classic/global/in-content/common.css (in-content/common.css)
+* skin/classic/global/in-content/info-pages.css (in-content/info-pages.css)
+ skin/classic/global/toolbar/spring.png (toolbar/spring.png)
+ skin/classic/global/tree/twisty-clsd.png (tree/twisty-clsd.png)
+ skin/classic/global/tree/twisty-open.png (tree/twisty-open.png)
diff --git a/toolkit/themes/linux/global/listbox.css b/toolkit/themes/linux/global/listbox.css
new file mode 100644
index 000000000..dbce007ce
--- /dev/null
+++ b/toolkit/themes/linux/global/listbox.css
@@ -0,0 +1,133 @@
+/* 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;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ background-color: -moz-Field;
+ 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;
+}
+
+/* ::::: listheader ::::: */
+
+listheader {
+ -moz-appearance: treeheadercell;
+ -moz-box-align: center;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ padding: 0 2px;
+}
+
+listheader:hover {
+ color: -moz-buttonhovertext;
+}
+
+listheader[sortable="true"]:hover:active {
+ color: ButtonText;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: ThreeDShadow transparent;
+ -moz-border-bottom-colors: ThreeDShadow transparent;
+ -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ padding-inline-start: 3px;
+ padding-inline-end: 1px;
+}
+
+.listheader-icon {
+ margin-inline-end: 2px;
+}
+
+.listheader-icon[sortable="true"]:hover:active {
+ margin-inline-end: 1px;
+}
+
+.listheader-label {
+ margin: 0px !important;
+}
+
+/* ..... sort direction icon ..... */
+
+.listheader-sortdirection {
+ -moz-appearance: treeheadersortarrow;
+}
+
+/* ::::: listcell ::::: */
+
+.listcell-label {
+ margin: 0px !important;
+ padding-top: 0px;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ padding-inline-end: 0px;
+ white-space: nowrap;
+}
+
+.listcell-icon {
+ margin-inline-end: 2px;
+}
+
+.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%;
+}
diff --git a/toolkit/themes/linux/global/menu.css b/toolkit/themes/linux/global/menu.css
new file mode 100644
index 000000000..06e3b217b
--- /dev/null
+++ b/toolkit/themes/linux/global/menu.css
@@ -0,0 +1,195 @@
+/* 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/. */
+
+/* ===== menu.css =======================================================
+ == Styles used by XUL menu-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: menu/menuitem ::::: */
+
+menu,
+menuitem,
+menucaption,
+.splitmenu-menuitem {
+ -moz-appearance: menuitem;
+ -moz-box-align: center;
+ max-width: 42em;
+ color: MenuText;
+ font: menu;
+ list-style-image: none;
+ -moz-image-region: auto;
+}
+
+menuitem[default="true"] {
+ font-weight: bold;
+}
+
+menu[_moz-menuactive="true"],
+menuitem[_moz-menuactive="true"],
+.splitmenu-menuitem[_moz-menuactive="true"] {
+ color: -moz-menuhovertext;
+ background-color: -moz-menuhover;
+}
+
+menu[disabled="true"],
+menuitem[disabled="true"],
+.splitmenu-menuitem[disabled="true"],
+menucaption[disabled="true"] {
+ color: GrayText;
+}
+
+menubar > menu {
+ padding: 0px 4px;
+ color: -moz-menubartext;
+}
+
+menubar:-moz-lwtheme > menu {
+ text-shadow: none;
+}
+
+menubar:-moz-lwtheme > menu:not([open="true"]) {
+ color: inherit;
+ text-shadow: inherit;
+}
+
+menubar > menu[_moz-menuactive="true"]:not([open]):not([disabled="true"]):not(:-moz-lwtheme) {
+ color: -moz-menubartext;
+}
+
+menubar > menu[open] {
+ color: -moz-menubarhovertext;
+ background-color: -moz-menuhover;
+}
+menuitem.spell-suggestion {
+ font-weight:bold;
+}
+
+/* ::::: menu/menuitems in menulist popups ::::: */
+
+menulist > menupopup > menuitem,
+menulist > menupopup > menucaption,
+menulist > menupopup > menu {
+ padding: 1px 5px;
+ max-width: none;
+ font: message-box;
+}
+
+/* ..... internal content .... */
+
+.menu-text,
+.menu-iconic-left,
+.menu-iconic-right,
+.menu-iconic-text {
+ margin-top: 0px !important;
+ margin-bottom: 0px !important;
+ margin-inline-start: 0px !important;
+ margin-inline-end: 2px !important;
+ color: inherit;
+}
+
+.menu-text {
+ /* This is (18 + the size of end-padding on .menu-iconic-left)px */
+ margin-inline-start: 21px !important;
+ font-weight: inherit;
+}
+
+menucaption > .menu-text,
+menucaption > .menu-iconic-text {
+ margin-inline-start: 0 !important;
+ font-weight: bold;
+}
+
+.menu-description {
+ font-style: italic;
+ color: GrayText;
+ margin-inline-start: 1ex !important;
+}
+
+.menu-accel,
+.menu-iconic-accel {
+ margin-top: 0px !important;
+ margin-bottom: 0px !important;
+ margin-inline-start: 7px !important;
+ color: inherit;
+}
+
+.menu-accel-container {
+ -moz-box-pack: end;
+}
+
+.menu-iconic-left,
+.menu-iconic-right {
+ width: 16px;
+ /* We can only hardcode this, to make the default GTK icon<->label spacing */
+ padding-inline-end: 3px !important;
+}
+
+.menu-iconic-icon {
+ width: 16px;
+ height: 16px;
+}
+
+.menu-right {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ margin-inline-start: 6px;
+ margin-inline-end: 0px;
+ width: 1ex;
+ height: 1ex;
+ /* These next two rules are needed to prevent inheritance and thus ugliness */
+ list-style-image: none;
+ -moz-image-region: auto;
+ -moz-appearance: menuarrow;
+}
+
+.menubar-left {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ margin-inline-start: 0px;
+ margin-inline-end: 2px;
+ color: inherit;
+}
+
+.menubar-text {
+ margin: 0 1px !important;
+ color: inherit;
+}
+
+
+menulist > menupopup > menuitem > .menu-iconic-left,
+menulist > menupopup > menucaption > .menu-iconic-left,
+menulist > menupopup > menu > .menu-iconic-left {
+ display: none;
+}
+
+/* ::::: checkbox menuitem ::::: */
+
+menuitem[checked="true"] {
+ -moz-appearance: checkmenuitem !important;
+}
+
+menuitem[type="checkbox"] {
+ -moz-appearance: checkmenuitem !important;
+}
+
+/* ::::: radio menuitem ::::: */
+
+menuitem[type="radio"] {
+ -moz-appearance: radiomenuitem !important;
+}
+
+/* ::::: menuseparator ::::: */
+
+menuseparator {
+ -moz-appearance: menuseparator;
+}
+
+/* ::::: autocomplete ::::: */
+
+.autocomplete-history-popup > menuitem {
+ max-width: none !important;
+ font: message-box;
+}
diff --git a/toolkit/themes/linux/global/menulist.css b/toolkit/themes/linux/global/menulist.css
new file mode 100644
index 000000000..30e55e11b
--- /dev/null
+++ b/toolkit/themes/linux/global/menulist.css
@@ -0,0 +1,83 @@
+/* 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/. */
+
+/* ===== menulist.css ===================================================
+ == Styles used by the XUL menulist element.
+ ====================================================================== */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* :::::::::: menulist :::::::::: */
+
+menulist {
+ -moz-appearance: menulist;
+ margin: 2px 4px;
+ color: -moz-DialogText;
+ font: menu;
+ text-shadow: none;
+}
+
+.menulist-label-box {
+ -moz-appearance: menulist-text;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ color: inherit;
+}
+
+.menulist-label {
+ margin: 1px 3px !important;
+}
+
+.menulist-dropmarker {
+ display: none;
+}
+
+menulist:hover {
+ color: -moz-buttonhovertext;
+}
+
+menulist:hover:active,
+menulist[open="true"] {
+ color: ButtonText;
+}
+
+menulist[disabled="true"],
+menulist[disabled="true"]:hover,
+menulist[disabled="true"]:hover:active {
+ color: GrayText;
+}
+
+.menulist-description {
+ font-style: italic;
+ color: GrayText;
+ margin-inline-start: 1ex !important;
+}
+
+/* ::::: editable menulists ::::: */
+
+menulist[editable="true"] {
+ -moz-appearance: none;
+ color: -moz-FieldText;
+}
+
+.menulist-editable-box {
+ -moz-appearance: menulist-textfield;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-inline-start: 2px;
+ padding-inline-end: 0px;
+}
+
+menulist[editable="true"] > .menulist-dropmarker {
+ display: -moz-box;
+ -moz-appearance: menulist-button;
+}
+
+html|*.menulist-editable-input {
+ margin: 0px !important;
+ border: none !important;
+ padding: 0px !important;
+ font: inherit;
+}
diff --git a/toolkit/themes/linux/global/moz.build b/toolkit/themes/linux/global/moz.build
new file mode 100644
index 000000000..eb4454d28
--- /dev/null
+++ b/toolkit/themes/linux/global/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/toolkit/themes/linux/global/netError.css b/toolkit/themes/linux/global/netError.css
new file mode 100644
index 000000000..69e74c55b
--- /dev/null
+++ b/toolkit/themes/linux/global/netError.css
@@ -0,0 +1,145 @@
+/* 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/. */
+
+/*
+ * This defines the look-and-feel styling of the error pages.
+ * (see: netError.xhtml)
+ *
+ * Original styling by William Price <bugzilla@mob.rice.edu>
+ * Updated by: Michael Ventnor <m.ventnor@gmail.com>
+ */
+
+html {
+ background: -moz-Dialog;
+}
+
+body {
+ margin: 0;
+ padding: 0 1em;
+ color: -moz-FieldText;
+ font: message-box;
+}
+
+h1 {
+ margin: 0 0 .6em 0;
+ border-bottom: 1px solid ThreeDLightShadow;
+ font-size: 160%;
+}
+
+ul, ol {
+ margin: 0;
+ margin-inline-start: 1.5em;
+ padding: 0;
+}
+
+ul > li, ol > li {
+ margin-bottom: .5em;
+}
+
+ul {
+ list-style: square;
+}
+
+#errorPageContainer {
+ position: relative;
+ min-width: 13em;
+ max-width: 52em;
+ margin: 4em auto;
+ border: 1px solid ThreeDShadow;
+ border-radius: 10px;
+ padding: 3em;
+ padding-inline-start: 30px;
+ background: url("moz-icon://stock/gtk-dialog-warning?size=dialog") left 0 no-repeat -moz-Field;
+ background-origin: content-box;
+}
+
+#errorPageContainer.certerror {
+ background-image: url("chrome://global/skin/icons/sslWarning.png");
+}
+
+#errorPageContainer:dir(rtl) {
+ background-position: right 0;
+}
+
+#errorTitle {
+ margin-inline-start: 80px;
+}
+
+#errorLongContent {
+ margin-inline-start: 80px;
+}
+
+#errorShortDesc > p {
+ overflow: auto;
+ border-bottom: 1px solid ThreeDLightShadow;
+ padding-bottom: 1em;
+ font-size: 130%;
+ white-space: pre-wrap;
+}
+
+#errorLongDesc {
+ padding-inline-end: 3em;
+ font-size: 110%;
+}
+
+#errorLongDesc > p {
+}
+
+#errorTryAgain {
+ margin-top: 2em;
+ margin-inline-start: 80px;
+}
+
+#brand {
+ position: absolute;
+ right: 0;
+ bottom: -1.5em;
+ margin-inline-end: 10px;
+ opacity: .4;
+}
+
+#brand:dir(rtl) {
+ right: auto;
+ left: 0;
+}
+
+#brand > p {
+ margin: 0;
+}
+
+#errorContainer {
+ display: none;
+}
+
+#securityOverrideDiv {
+ padding-top: 10px;
+}
+
+#securityOverrideContent {
+ background-color: InfoBackground;
+ color: InfoText;
+ padding: 10px;
+ border-radius: 10px;
+}
+
+/* Custom styling for 'blacklist' error class */
+:root.blacklist #errorTitle, :root.blacklist #errorLongContent,
+:root.blacklist #errorShortDesc, :root.blacklist #errorLongDesc,
+:root.blacklist a {
+ background-color: #722; /* Dark red */
+ color: white;
+}
+
+:root.blacklist #errorPageContainer {
+ background-image: url("chrome://global/skin/icons/blacklist_large.png");
+ background-color: #722;
+}
+
+:root.blacklist {
+ background: #333;
+}
+
+:root.blacklist #errorTryAgain {
+ display: none;
+}
diff --git a/toolkit/themes/linux/global/notification.css b/toolkit/themes/linux/global/notification.css
new file mode 100644
index 000000000..f1282797b
--- /dev/null
+++ b/toolkit/themes/linux/global/notification.css
@@ -0,0 +1,109 @@
+/* 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");
+
+notification {
+ color: -moz-gtk-info-bar-text;
+ -moz-appearance: -moz-gtk-info-bar;
+%if MOZ_WIDGET_GTK == 2
+ background-color: InfoBackground;
+%endif
+ text-shadow: none;
+}
+
+notification[type="info"] {
+ color: -moz-DialogText;
+ background-color: -moz-Dialog;
+ -moz-appearance: none;
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDShadow;
+}
+
+notificationbox[notificationside="top"] > notification[type="info"] {
+ border-top-style: none;
+}
+
+notificationbox[notificationside="bottom"] > notification[type="info"] {
+ border-bottom-style: none;
+}
+
+notification[type="critical"] {
+ color: white;
+ background-image: linear-gradient(rgb(212,0,0), rgb(152,0,0));
+ -moz-appearance: none;
+}
+
+.notification-inner {
+ padding-top: 1px;
+ padding-bottom: 1px;
+}
+
+.messageText {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+
+.messageText > .text-link {
+ color: inherit !important;
+ text-decoration: underline;
+}
+
+.messageImage {
+ width: 16px;
+ height: 16px;
+ margin-inline-start: 6px;
+ margin-inline-end: 1px;
+}
+
+/* Default icons for notifications */
+
+.messageImage[type="info"] {
+ list-style-image: url("moz-icon://stock/gtk-dialog-info?size=menu");
+}
+
+.messageImage[type="warning"] {
+ list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=menu");
+}
+
+.messageImage[type="critical"] {
+ list-style-image: url("moz-icon://stock/gtk-dialog-error?size=menu");
+}
+
+.messageCloseButton {
+ padding-left: 11px;
+ padding-right: 11px;
+}
+
+/* Popup notification */
+
+.popup-notification-body {
+ max-width: 25em;
+}
+
+.popup-notification-origin:not([value]),
+.popup-notification-learnmore-link:not([href]) {
+ display: none;
+}
+
+.popup-notification-origin {
+ margin-bottom: .3em !important;
+}
+
+.popup-notification-learnmore-link {
+ margin-top: .5em !important;
+}
+
+.popup-notification-button-container {
+ margin-top: 17px;
+}
+
+.popup-notification-closebutton {
+ margin-inline-end: -10px;
+ margin-top: -6px;
+}
+
+.popup-notification-menubutton > .button-menubutton-button[disabled] {
+ opacity: 0.5;
+}
diff --git a/toolkit/themes/linux/global/numberbox.css b/toolkit/themes/linux/global/numberbox.css
new file mode 100644
index 000000000..867e0a6e8
--- /dev/null
+++ b/toolkit/themes/linux/global/numberbox.css
@@ -0,0 +1,38 @@
+/* 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/. */
+
+/* ===== numberbox.css ==================================================
+ == Styles used by the XUL textbox type="number" element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+textbox[type="number"] {
+ -moz-appearance: none;
+ padding: 0 !important;
+ border: none;
+ cursor: default;
+ background-color: transparent;
+}
+
+html|*.numberbox-input {
+ text-align: right;
+}
+
+.numberbox-input-box {
+ -moz-box-align: center;
+ -moz-appearance: spinner-textfield;
+ margin-right: -1px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ padding: 3px;
+}
+
+textbox[hidespinbuttons="true"] > .numberbox-input-box {
+ -moz-appearance: textfield;
+}
diff --git a/toolkit/themes/linux/global/popup.css b/toolkit/themes/linux/global/popup.css
new file mode 100644
index 000000000..d435fca6f
--- /dev/null
+++ b/toolkit/themes/linux/global/popup.css
@@ -0,0 +1,101 @@
+/* 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");
+
+/* ::::: menupopup ::::: */
+
+menupopup,
+panel {
+ -moz-appearance: menupopup;
+ min-width: 1px;
+ color: MenuText;
+}
+
+/* ::::: arrow panel ::::: */
+
+panel[type="arrow"] {
+ -moz-appearance: none;
+}
+
+panel[type="arrow"][side="top"],
+panel[type="arrow"][side="bottom"] {
+ margin-left: -20px;
+ margin-right: -20px;
+}
+
+panel[type="arrow"][side="left"],
+panel[type="arrow"][side="right"] {
+ margin-top: -20px;
+ margin-bottom: -20px;
+}
+
+.panel-arrowcontent {
+ padding: var(--arrowpanel-padding);
+ color: var(--arrowpanel-color);
+ background: var(--arrowpanel-background);
+ border: 1px solid var(--arrowpanel-border-color);
+ box-shadow: 0 0 4px hsla(0,0%,0%,.2);
+ margin: 4px;
+}
+
+.panel-arrow[side="top"],
+.panel-arrow[side="bottom"] {
+ list-style-image: var(--panel-arrow-image-vertical,
+ url("chrome://global/skin/arrow/panelarrow-vertical-themed.svg"));
+ position: relative;
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+.panel-arrow[side="top"] {
+ margin-bottom: -5px;
+}
+
+.panel-arrow[side="bottom"] {
+ transform: scaleY(-1);
+ margin-top: -5px;
+}
+
+.panel-arrow[side="left"],
+.panel-arrow[side="right"] {
+ list-style-image: url("chrome://global/skin/arrow/panelarrow-horizontal-themed.svg");
+ position: relative;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.panel-arrow[side="left"] {
+ margin-right: -5px;
+}
+
+.panel-arrow[side="right"] {
+ transform: scaleX(-1);
+ margin-left: -5px;
+}
+
+/* ::::: tooltip ::::: */
+
+tooltip {
+ -moz-appearance: tooltip;
+ margin-top: 21px;
+ max-width: 40em;
+ color: InfoText;
+ font: message-box;
+}
+
+tooltip[titletip="true"] {
+ /* See bug 32157 comment 128
+ * margin: -2px 0px 0px -3px;
+ */
+ max-width: none;
+}
+
+/* rules for popups associated with menulists */
+
+menulist > menupopup {
+ padding: 0px;
+ min-width: 0px;
+}
+
diff --git a/toolkit/themes/linux/global/preferences.css b/toolkit/themes/linux/global/preferences.css
new file mode 100644
index 000000000..ef6a622e4
--- /dev/null
+++ b/toolkit/themes/linux/global/preferences.css
@@ -0,0 +1,62 @@
+/* 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/. */
+
+/* ===== preferences.css =====================================================
+ == Styles used by the XUL prefwindow element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: dialog ::::: */
+
+prefwindow {
+ padding: 0px;
+}
+
+prefpane {
+ padding: 8px;
+}
+
+prefwindow[type="child"] {
+ padding: 8px;
+}
+
+prefwindow[type="child"] > prefpane {
+ padding: 0px;
+}
+
+.prefWindow-dlgbuttons {
+ padding-bottom: 8px;
+ padding-inline-start: 8px;
+ padding-inline-end: 8px;
+}
+
+prefwindow[type="child"] .prefWindow-dlgbuttons {
+ padding: 0px;
+}
+
+radio[pane] {
+ -moz-appearance: none;
+ min-width: 4.5em;
+ margin: 0;
+ padding: 3px;
+ color: -moz-FieldText;
+}
+
+.paneSelector {
+ -moz-appearance: listbox;
+ margin: 8px 8px 0 8px;
+ padding: 0;
+}
+
+.paneButtonIcon {
+ width: 32px;
+ height: 32px;
+}
+
+radio[pane][selected="true"] {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
diff --git a/toolkit/themes/linux/global/printPageSetup.css b/toolkit/themes/linux/global/printPageSetup.css
new file mode 100644
index 000000000..d9b17c1e5
--- /dev/null
+++ b/toolkit/themes/linux/global/printPageSetup.css
@@ -0,0 +1,11 @@
+/* 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/. */
+
+.portrait-page {
+ list-style-image: url("moz-icon://stock/gtk-orientation-portrait?size=button");
+}
+
+.landscape-page {
+ list-style-image: url("moz-icon://stock/gtk-orientation-landscape?size=button");
+}
diff --git a/toolkit/themes/linux/global/printPreview.css b/toolkit/themes/linux/global/printPreview.css
new file mode 100644
index 000000000..5d20e35b9
--- /dev/null
+++ b/toolkit/themes/linux/global/printPreview.css
@@ -0,0 +1,19 @@
+/* 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/. */
+
+.navigate-button {
+ min-width: 1.9em;
+}
+
+.navigate-button > .toolbarbutton-icon {
+ display: none;
+}
+
+.toolbar-portrait-page {
+ list-style-image: url("moz-icon://stock/gtk-orientation-portrait?size=button");
+}
+
+.toolbar-landscape-page {
+ list-style-image: url("moz-icon://stock/gtk-orientation-landscape?size=button");
+}
diff --git a/toolkit/themes/linux/global/radio.css b/toolkit/themes/linux/global/radio.css
new file mode 100644
index 000000000..5083e82f8
--- /dev/null
+++ b/toolkit/themes/linux/global/radio.css
@@ -0,0 +1,110 @@
+/* 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/. */
+
+/* ===== radio.css ===================================================
+ == Styles used by the XUL radio element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: radio ::::: */
+
+radio {
+ -moz-appearance: radio-container;
+ margin: 2px 4px;
+ border-left: 2px transparent;
+ border-right: 2px transparent;
+}
+
+/* With native theming on, the spacer-box paints the radio mark and includes
+ the spacing to the right, so that oversized radio images can slop over
+ into the space.
+
+ If we need to disable radio button theming, the spacer box no longer paints
+ the radio mark, but its fallback CSS border supplies the padding between
+ the mark and the label. The xul:image then takes over painting the radio
+ mark. */
+
+.radio-spacer-box {
+ -moz-appearance: radio;
+ -moz-box-align: center;
+ margin: 2px;
+ border-right: 2px solid transparent;
+}
+
+.radio-label-center-box {
+ -moz-box-align: center;
+}
+
+.radio-label-box {
+ -moz-appearance: radio-label;
+}
+
+.radio-icon[src] {
+ margin-inline-end: 2px;
+}
+
+.radio-label {
+ margin: 0 !important;
+}
+
+/* ..... focused state ..... */
+
+radio[focused="true"] > .radio-label-center-box > .radio-label-box {
+ border: 1px dotted ThreeDDarkShadow;
+}
+
+/* ..... disabled state ..... */
+
+radio[disabled="true"] > .radio-spacer-box > .radio-check-box1 {
+ background-color: -moz-Dialog;
+}
+
+radio[disabled="true"] {
+ color: GrayText;
+}
+
+/* ::::: checkmark image ::::: */
+
+.radio-check-box1 {
+ border-top: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ border-bottom: 1px solid ThreeDHighlight;
+ border-left: 1px solid ThreeDShadow;
+ border-radius: 50%;
+ min-width: 12px;
+ min-height: 12px;
+ background-color: -moz-Field;
+}
+
+.radio-check-box2 {
+ border-top: 1px solid ThreeDDarkShadow;
+ border-right: 1px solid ThreeDLightShadow;
+ border-bottom: 1px solid ThreeDLightShadow;
+ border-left: 1px solid ThreeDDarkShadow;
+ border-radius: 50%;
+ padding: 2px;
+ width: 4px;
+ height: 4px;
+ list-style-image: none;
+}
+
+radio:not([disabled="true"]):hover {
+ color: -moz-buttonhovertext;
+ text-shadow: none;
+}
+
+radio:hover:active > .radio-spacer-box > .radio-check-box1 {
+ background-color: -moz-Dialog;
+}
+
+/* ..... selected state ..... */
+
+radio[selected="true"] > .radio-spacer-box > .radio-check-box1 > .radio-check-box2 {
+ list-style-image: url("chrome://global/skin/radio/radio-check.gif");
+}
+
+radio[selected="true"][disabled="true"] > .radio-spacer-box > .radio-check-box1 > .radio-check-box2 {
+ list-style-image: url("chrome://global/skin/radio/radio-check-dis.gif") !important
+}
diff --git a/toolkit/themes/linux/global/scrollbox.css b/toolkit/themes/linux/global/scrollbox.css
new file mode 100644
index 000000000..90cbc8652
--- /dev/null
+++ b/toolkit/themes/linux/global/scrollbox.css
@@ -0,0 +1,33 @@
+/* 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");
+
+.autorepeatbutton-up > .autorepeatbutton-icon,
+.scrollbutton-up > .toolbarbutton-icon {
+ -moz-appearance: button-arrow-up;
+}
+
+.autorepeatbutton-down > .autorepeatbutton-icon,
+.scrollbutton-down > .toolbarbutton-icon {
+ -moz-appearance: button-arrow-down;
+}
+
+.autorepeatbutton-up[orient="horizontal"] > .autorepeatbutton-icon,
+.scrollbutton-up[orient="horizontal"] > .toolbarbutton-icon {
+ -moz-appearance: button-arrow-previous;
+}
+
+.autorepeatbutton-down[orient="horizontal"] > .autorepeatbutton-icon,
+.scrollbutton-down[orient="horizontal"] > .toolbarbutton-icon {
+ -moz-appearance: button-arrow-next;
+}
+
+:-moz-any(.scrollbutton-up, .scrollbutton-down) > .toolbarbutton-text {
+ display: none;
+}
+
+autorepeatbutton {
+ border: 1px solid ThreeDShadow;
+}
diff --git a/toolkit/themes/linux/global/splitter.css b/toolkit/themes/linux/global/splitter.css
new file mode 100644
index 000000000..193539d10
--- /dev/null
+++ b/toolkit/themes/linux/global/splitter.css
@@ -0,0 +1,65 @@
+/* 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/. */
+
+/* ===== splitter.css ===================================================
+ == Styles used by the XUL splitter element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: splitter (vertical) ::::: */
+
+splitter {
+ -moz-appearance: splitter;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ cursor: ew-resize;
+}
+
+splitter[state="collapsed"][collapse="before"],
+splitter[state="collapsed"][substate="before"],
+splitter[state="collapsed"][collapse="after"]:-moz-locale-dir(rtl),
+splitter[state="collapsed"][substate="after"]:-moz-locale-dir(rtl) {
+ cursor: e-resize;
+}
+
+splitter[state="collapsed"][collapse="after"],
+splitter[state="collapsed"][substate="after"],
+splitter[state="collapsed"][collapse="before"]:-moz-locale-dir(rtl),
+splitter[state="collapsed"][substate="before"]:-moz-locale-dir(rtl) {
+ cursor: w-resize;
+}
+
+/* ::::: splitter (horizontal) ::::: */
+
+splitter[orient="vertical"] {
+ cursor: ns-resize;
+}
+
+splitter[orient="vertical"][state="collapsed"][collapse="before"],
+splitter[orient="vertical"][state="collapsed"][substate="before"] {
+ cursor: s-resize;
+}
+
+splitter[orient="vertical"][state="collapsed"][collapse="after"],
+splitter[orient="vertical"][state="collapsed"][substate="after"] {
+ cursor: n-resize;
+}
+
+splitter[disabled="true"] {
+ cursor: default !important;
+}
+
+/* ::::: splitter grippy ::::: */
+
+grippy {
+ cursor: pointer;
+ min-width: 4px;
+ min-height: 115px;
+}
+
+splitter[orient="vertical"] > grippy {
+ min-width: 115px;
+ min-height: 4px;
+}
diff --git a/toolkit/themes/linux/global/tabbox.css b/toolkit/themes/linux/global/tabbox.css
new file mode 100644
index 000000000..e8c3741a8
--- /dev/null
+++ b/toolkit/themes/linux/global/tabbox.css
@@ -0,0 +1,91 @@
+/* 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/. */
+
+/* ===== tabbox.css =================================================
+ == Styles used by XUL tab-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+
+/* ::::: tabs ::::: */
+
+tabs {
+ position: relative;
+ z-index: 0;
+}
+
+/* ::::: tabpanels ::::: */
+
+tabpanels {
+ -moz-appearance: tabpanels;
+ border: 2px solid;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ padding: 8px;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+/* ::::: tab ::::: */
+
+tab {
+ position: relative;
+ -moz-appearance: tab;
+ margin-top: 2px;
+ border: 2px solid;
+ border-bottom: none;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px;
+ padding: 3px 4px;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+tab[visuallyselected="true"] {
+ z-index: 1;
+ margin-top: 0;
+ margin-bottom: -2px;
+ border-bottom-left-radius: 3px;
+ border-bottom-right-radius: 3px;
+ padding-top: 4px;
+ padding-bottom: 6px;
+}
+
+tab + tab {
+ margin-inline-start: -2px;
+}
+
+.tab-text {
+ margin: 0 !important;
+}
+
+/* ::::: tab-bottom ::::::::::
+ :: Tabs that are attached to the bottom of a panel, but not necessarily
+ :: a tabpanels.
+ ::::: */
+
+.tab-bottom {
+ margin-top: 0;
+ margin-bottom: 2px;
+ border-top: none;
+ border-bottom: 2px solid;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+}
+
+.tab-bottom[visuallyselected="true"] {
+ margin-bottom: 0;
+ margin-top: -2px;
+ padding-top: 6px;
+ padding-bottom: 4px;
+}
diff --git a/toolkit/themes/linux/global/textbox.css b/toolkit/themes/linux/global/textbox.css
new file mode 100644
index 000000000..9e75e0cd2
--- /dev/null
+++ b/toolkit/themes/linux/global/textbox.css
@@ -0,0 +1,92 @@
+/* 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/. */
+
+/* ===== textbox.css ==================================================
+ == Styles used by the XUL textbox element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* ::::: textbox ::::: */
+
+textbox {
+ -moz-appearance: textfield;
+ cursor: text;
+ margin: 2px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ padding: 2px 2px 3px;
+ padding-inline-start: 4px;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+html|*.textbox-input,
+html|*.textbox-textarea {
+ margin: 0px !important;
+ border: none !important;
+ padding: 0px 1px !important;
+ background-color: inherit;
+ color: inherit;
+ font: inherit;
+}
+
+.textbox-contextmenu {
+ cursor: default;
+}
+
+/* ..... readonly state ..... */
+
+textbox[readonly="true"] {
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+/* ..... disabled state ..... */
+
+textbox[disabled="true"] {
+ cursor: default;
+ background-color: -moz-Dialog;
+ color: GrayText;
+}
+
+/* ::::: plain textbox ::::: */
+
+textbox.plain {
+ -moz-appearance: none !important;
+ background-color: transparent;
+ padding: 0px !important;
+ margin: 0px !important;
+ border: none !important;
+}
+
+textbox.plain html|*.textbox-input,
+textbox.plain html|*.textbox-textarea {
+ padding: 0px !important;
+}
+
+/* ::::: search textbox ::::: */
+
+.textbox-search-icon {
+ list-style-image: url(moz-icon://stock/gtk-find?size=menu);
+}
+
+.textbox-search-clear {
+ list-style-image: url(moz-icon://stock/gtk-clear?size=menu);
+}
+
+.textbox-search-icon[searchbutton]:not([disabled]) ,
+.textbox-search-clear:not([disabled]) {
+ cursor: pointer;
+}
+
+/* ::::: textboxes inside toolbarpaletteitems ::::: */
+
+toolbarpaletteitem > toolbaritem > textbox > .textbox-input-box > html|*.textbox-input {
+ visibility: hidden;
+}
diff --git a/toolkit/themes/linux/global/toolbar.css b/toolkit/themes/linux/global/toolbar.css
new file mode 100644
index 000000000..f17fea12f
--- /dev/null
+++ b/toolkit/themes/linux/global/toolbar.css
@@ -0,0 +1,113 @@
+/* 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/. */
+
+/* ===== toolbar.css ====================================================
+ == Styles used by XUL toolbar-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: toolbox ::::: */
+
+toolbox {
+ -moz-appearance: toolbox;
+}
+
+/* ::::: menubar & toolbar ::::: */
+
+toolbar {
+ -moz-appearance: toolbar;
+ min-width: 1px;
+ min-height: 20px;
+ padding: 2px 0px;
+}
+
+menubar, toolbar[type="menubar"] {
+ -moz-appearance: menubar;
+ color: -moz-menubartext;
+ min-width: 1px;
+ min-height: 20px;
+ padding: 1px 0px;
+}
+
+menubar:-moz-lwtheme,
+toolbar:-moz-lwtheme {
+ -moz-appearance: none;
+ color: inherit;
+}
+
+/* in browser.xul, the menubar is inside a toolbar... */
+toolbaritem > menubar {
+ -moz-appearance: none;
+}
+
+/* ::::: toolbar decorations ::::: */
+
+toolbarseparator {
+ -moz-appearance: separator;
+ margin : 0;
+ border: 0;
+ min-width: 2px;
+}
+
+toolbarspacer {
+ width: 15px;
+}
+
+/* ::::: toolbarpaletteitem ::::: */
+
+toolbarpaletteitem {
+ cursor: grab;
+}
+
+.toolbarpaletteitem-box[type="spacer"],
+.toolbarpaletteitem-box[type="spring"] {
+ border: 1px solid #808080;
+ background-color: #FFF !important;
+}
+
+toolbarpaletteitem[place="toolbar"] > toolbarspacer {
+ width: 11px;
+}
+
+.toolbarpaletteitem-box[type="spacer"][place="toolbar"],
+.toolbarpaletteitem-box[type="spring"][place="toolbar"] {
+ margin-top: 2px;
+ margin-bottom: 2px;
+ margin-inline-start: 0px;
+ margin-inline-end: 2px;
+}
+
+.toolbarpaletteitem-box[type="separator"][place="palette"] {
+ width: 2px;
+ height: 50px;
+}
+
+.toolbarpaletteitem-box[type="spacer"][place="palette"],
+.toolbarpaletteitem-box[type="spring"][place="palette"] {
+ margin-bottom: 2px;
+ width: 50px;
+ height: 50px;
+}
+
+.toolbarpaletteitem-box[type="spring"][place="palette"] {
+ background: url("chrome://global/skin/toolbar/spring.png") no-repeat center;
+}
+
+/* ..... drag and drop feedback ..... */
+
+toolbarpaletteitem[place="toolbar"] {
+ margin-left: -2px;
+ margin-right: -2px;
+ border-left: 2px solid transparent;
+ border-right: 2px solid transparent;
+}
+
+toolbarpaletteitem[dragover="left"] {
+ border-left-color: #000000;
+}
+
+toolbarpaletteitem[dragover="right"] {
+ border-right-color: #000000;
+}
diff --git a/toolkit/themes/linux/global/toolbar/spring.png b/toolkit/themes/linux/global/toolbar/spring.png
new file mode 100644
index 000000000..3340f4719
--- /dev/null
+++ b/toolkit/themes/linux/global/toolbar/spring.png
Binary files differ
diff --git a/toolkit/themes/linux/global/toolbarbutton.css b/toolkit/themes/linux/global/toolbarbutton.css
new file mode 100644
index 000000000..c28d64d13
--- /dev/null
+++ b/toolkit/themes/linux/global/toolbarbutton.css
@@ -0,0 +1,138 @@
+/* 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/. */
+
+/* ===== toolbarbutton.css =====================================================
+ == Styles used by the XUL button element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: toolbarbutton ::::: */
+
+toolbarbutton {
+ -moz-appearance: toolbarbutton;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ margin: 0;
+ padding: 3px;
+ color: -moz-DialogText;
+}
+
+toolbarbutton:-moz-lwtheme {
+ text-shadow: none;
+}
+
+.toolbarbutton-icon[label]:not([label=""]),
+.toolbarbutton-icon[type="menu"] {
+ margin-inline-end: 2px;
+}
+
+.toolbarbutton-text {
+ margin: 0 !important; /* !important for overriding global.css */
+ text-align: center;
+}
+
+toolbarbutton.tabbable {
+ -moz-user-focus: normal !important;
+}
+
+toolbarbutton:hover {
+ color: -moz-buttonhovertext;
+}
+
+toolbarbutton:hover:active,
+toolbarbutton[open="true"] {
+ padding-top: 4px;
+ padding-bottom: 2px;
+ padding-inline-start: 4px;
+ padding-inline-end: 2px;
+ color: ButtonText;
+}
+
+toolbarbutton[disabled="true"],
+toolbarbutton[disabled="true"]:hover,
+toolbarbutton[disabled="true"]:hover:active,
+toolbarbutton[disabled="true"][open="true"] {
+ padding: 3px;
+ color: GrayText;
+}
+
+toolbarbutton[checked="true"]:not(:hover) {
+ color: ButtonText;
+}
+
+toolbarbutton:-moz-lwtheme:not(:hover):not([checked="true"]):not([open="true"]):not([disabled="true"]) {
+ color: inherit;
+ text-shadow: inherit;
+}
+
+/* ::::: toolbarbutton menu ::::: */
+
+.toolbarbutton-menu-dropmarker {
+ -moz-appearance: toolbarbutton-dropdown !important;
+ list-style-image: none;
+ -moz-image-region: auto;
+ padding: 0;
+ margin: 0;
+}
+
+.toolbarbutton-menu-dropmarker[disabled="true"] {
+ padding: 0 !important;
+}
+
+/* ::::: toolbarbutton menu-button ::::: */
+
+toolbarbutton[type="menu-button"] {
+ -moz-box-align: stretch;
+ -moz-appearance: dualbutton;
+ -moz-box-orient: horizontal !important;
+}
+
+toolbarbutton[type="menu-button"],
+toolbarbutton[type="menu-button"]:hover,
+toolbarbutton[type="menu-button"]:hover:active,
+toolbarbutton[type="menu-button"][open="true"],
+toolbarbutton[type="menu-button"][disabled="true"],
+toolbarbutton[type="menu-button"][disabled="true"]:hover,
+toolbarbutton[type="menu-button"][disabled="true"]:hover:active {
+ padding: 0 !important;
+}
+
+.toolbarbutton-menubutton-button {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ -moz-box-orient: vertical;
+}
+
+/* ::::: toolbarbutton badged ::::: */
+.toolbarbutton-badge-stack > .toolbarbutton-icon[label]:not([label=""]) {
+ margin-inline-end: 0;
+}
+
+.toolbarbutton-badge {
+ background-color: #d90000;
+ font-size: 10px;
+ padding: 0 2px 1px;
+ color: #fff;
+ border-radius: 2px;
+ box-shadow: 0 1px 0 hsla(0, 100%, 100%, .2) inset,
+ 0 -1px 0 hsla(0, 0%, 0%, .1) inset,
+ 0 1px 0 hsla(206, 50%, 10%, .2);
+ margin: -6px 0 0 !important;
+ margin-inline-end: -8px !important;
+ min-width: 14px;
+ max-width: 28px;
+ line-height: 10px;
+ text-align: center;
+ -moz-stack-sizing: ignore;
+}
+
+/* .......... dropmarker .......... */
+
+.toolbarbutton-menubutton-dropmarker {
+ margin: 0 3px;
+ -moz-appearance: toolbarbutton-dropdown !important;
+ list-style-image: none;
+ -moz-image-region: auto;
+}
diff --git a/toolkit/themes/linux/global/tree.css b/toolkit/themes/linux/global/tree.css
new file mode 100644
index 000000000..2fb50da71
--- /dev/null
+++ b/toolkit/themes/linux/global/tree.css
@@ -0,0 +1,365 @@
+/* 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/. */
+
+/* ===== tree.css ===================================================
+ == Styles used by the XUL outline element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: tree ::::: */
+
+tree {
+ margin: 0px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+ -moz-appearance: listbox;
+}
+
+/* ::::: tree focusring ::::: */
+
+.focusring > .tree-stack > .tree-rows > .tree-bodybox {
+ border: 1px solid transparent;
+}
+
+.focusring:focus > .tree-stack > .tree-rows > .tree-bodybox {
+ border: 1px solid #000000;
+}
+
+
+/* ::::: tree rows ::::: */
+
+treechildren::-moz-tree-row {
+ border: 1px solid transparent;
+ min-height: 18px;
+ height: 1.3em;
+}
+
+treechildren:not(.autocomplete-treebody)::-moz-tree-row(multicol, odd) {
+ background-color: -moz-oddtreerow;
+}
+
+treechildren:not(.autocomplete-treebody)::-moz-tree-row(selected) {
+ background-color: -moz-cellhighlight;
+}
+
+treechildren:not(.autocomplete-treebody)::-moz-tree-row(selected, focus) {
+ background-color: Highlight;
+}
+
+treechildren::-moz-tree-row(current, focus) {
+ border: 1px dotted Highlight;
+}
+
+treechildren::-moz-tree-row(selected, current, focus) {
+ border: 1px dotted #F3D982;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-row,
+tree[seltype="text"] > treechildren::-moz-tree-row {
+ border: none;
+ background-color: transparent;
+}
+
+/* ::::: tree cells ::::: */
+
+treechildren::-moz-tree-cell {
+ padding: 0px 2px 0px 2px;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text,
+tree[seltype="text"] > treechildren::-moz-tree-cell-text,
+treechildren::-moz-tree-cell-text {
+ color: inherit;
+}
+
+treechildren::-moz-tree-cell-text(selected) {
+ color: -moz-cellhighlighttext;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell {
+ border: 1px solid transparent;
+ padding: 0px 1px 0px 1px;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text {
+ border: 1px solid transparent;
+ padding: 0px 1px 1px 1px;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected) {
+ background-color: -moz-cellhighlight;
+}
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(active, selected) {
+ color: -moz-cellhighlighttext;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected) {
+ background-color: -moz-cellhighlight;
+ color: -moz-cellhighlighttext;
+}
+
+treechildren::-moz-tree-cell-text(selected, focus) {
+ color: HighlightText;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected, focus) {
+ background-color: Highlight;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected, focus) {
+ background-color: Highlight;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(active, selected, focus) {
+ color: HighlightText;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected, focus) {
+ color: HighlightText;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, current, focus) {
+ border: 1px dotted #000000;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, current, focus) {
+ border: 1px dotted #000000;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected, current, focus) {
+ border: 1px dotted #C0C0C0;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected, current, focus) {
+ border: 1px dotted #C0C0C0;
+}
+
+/* ::::: lines connecting cells ::::: */
+
+tree[seltype="cell"] > treechildren::-moz-tree-line,
+tree[seltype="text"] > treechildren::-moz-tree-line,
+treechildren::-moz-tree-line {
+ border: 1px dotted ThreeDShadow;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-line(active, selected, focus),
+treechildren::-moz-tree-line(selected, focus) {
+ border: 1px dotted HighlightText;
+}
+
+
+/* ::::: tree separator ::::: */
+
+treechildren::-moz-tree-separator {
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDHighlight;
+}
+
+
+/* ::::: drop feedback ::::: */
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(primary, dropOn),
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(primary, dropOn),
+treechildren::-moz-tree-cell-text(primary, dropOn) {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+treechildren::-moz-tree-drop-feedback {
+ background-color: Highlight;
+ width: 50px;
+ height: 2px;
+ margin-inline-start: 5px;
+}
+
+/* ::::: tree progress meter ::::: */
+
+treechildren::-moz-tree-progressmeter {
+ margin: 2px 4px;
+ padding: 1px;
+ border: 1px solid;
+ border-top-color: ThreeDShadow;
+ border-right-color: ThreeDHighlight;
+ border-bottom-color: ThreeDHighlight;
+ border-left-color: ThreeDShadow;
+ background-color: -moz-Dialog;
+ color: ThreeDShadow;
+}
+
+treechildren::-moz-tree-cell-text(progressmeter) {
+ margin: 2px 4px;
+}
+
+/* ::::: tree columns ::::: */
+
+treecol,
+treecolpicker {
+ -moz-appearance: treeheadercell;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ padding: 0px 2px;
+}
+
+treecol:hover,
+treecolpicker:hover {
+ color: -moz-buttonhovertext;
+}
+
+.treecol-image {
+ padding: 0px 1px;
+}
+
+.treecol-text {
+ margin: 0px !important;
+}
+
+treecol[hideheader="true"] {
+ -moz-appearance: none;
+ border: none;
+ padding: 0;
+}
+
+/* ..... internal box ..... */
+
+treecol:hover:active,
+treecolpicker:hover:active {
+ color: ButtonText;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: ThreeDShadow transparent;
+ -moz-border-bottom-colors: ThreeDShadow transparent;
+ -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ padding-inline-start: 3px;
+ padding-inline-end: 1px;
+}
+
+.treecol-image:hover:active {
+ padding: 0px;
+ padding-inline-start: 2px;
+}
+
+treecol:hover:active .treecol-text {
+ margin: 1px 0px -1px 0px !important;
+}
+
+/* ::::: column drag and drop styles ::::: */
+
+treecol[dragging="true"] {
+ -moz-border-top-colors: ThreeDDarkShadow transparent !important;
+ -moz-border-right-colors: ThreeDDarkShadow transparent!important;
+ -moz-border-bottom-colors: ThreeDDarkShadow transparent !important;
+ -moz-border-left-colors: ThreeDDarkShadow transparent !important;
+ background-color: ThreeDShadow !important;
+ color: ThreeDHighlight !important;
+}
+
+treecol[insertafter="true"]:-moz-locale-dir(ltr),
+treecol[insertbefore="true"]:-moz-locale-dir(rtl) {
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+}
+
+treecol[insertafter="true"]:-moz-locale-dir(rtl),
+treecol[insertbefore="true"]:-moz-locale-dir(ltr) {
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDShadow;
+}
+
+treechildren::-moz-tree-column(insertbefore) {
+ border-inline-start: 1px solid ThreeDShadow;
+}
+
+treechildren::-moz-tree-column(insertafter) {
+ border-inline-end: 1px solid ThreeDShadow;
+}
+
+/* ::::: sort direction indicator ::::: */
+
+.treecol-sortdirection {
+ -moz-appearance: treeheadersortarrow;
+}
+
+/* ::::: column picker ::::: */
+
+.tree-columnpicker-icon {
+ list-style-image: url("chrome://global/skin/tree/columnpicker.gif");
+}
+
+/* ::::: twisty ::::: */
+
+treechildren::-moz-tree-twisty {
+ -moz-appearance: treetwisty;
+ padding-inline-end: 4px;
+ padding-top: 1px;
+ width: 9px; /* The image's width is 9 pixels */
+ list-style-image: url("chrome://global/skin/tree/twisty-clsd.png");
+}
+
+treechildren::-moz-tree-twisty(open) {
+ -moz-appearance: treetwistyopen;
+ width: 9px; /* The image's width is 9 pixels */
+ list-style-image: url("chrome://global/skin/tree/twisty-open.png");
+}
+
+treechildren::-moz-tree-indentation {
+ width: 18px;
+}
+
+/* ::::: gridline style ::::: */
+
+treechildren.gridlines::-moz-tree-cell {
+ border-right: 1px solid transparent !important;
+ border-bottom: 1px solid transparent !important;
+}
+
+treechildren.gridlines::-moz-tree-row {
+ border: none;
+}
+
+/* ::::: editable tree ::::: */
+
+treechildren::-moz-tree-row(selected, editing) {
+ background-color: transparent;
+ border: none;
+}
+
+treechildren::-moz-tree-cell-text(selected, editing) {
+ color: inherit;
+}
+
+treechildren::-moz-tree-cell(active, selected, focus, editing),
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected, focus, editing),
+tree[seltype="text"] > treechildren::-moz-tree-cell(active, selected, focus, editing) {
+ background-color: transparent;
+ border: none;
+}
+
+treechildren::-moz-tree-cell-text(active, selected, editing) {
+ opacity: 0;
+}
+
+.tree-input {
+ -moz-appearance: none;
+ border: 1px solid Highlight;
+ -moz-border-top-colors: Highlight;
+ -moz-border-bottom-colors: Highlight;
+ -moz-border-left-colors: Highlight;
+ -moz-border-right-colors: Highlight;
+ margin: 0;
+ margin-inline-start: -4px;
+ padding: 1px;
+}
diff --git a/toolkit/themes/linux/global/tree/twisty-clsd.png b/toolkit/themes/linux/global/tree/twisty-clsd.png
new file mode 100644
index 000000000..f67f60cd0
--- /dev/null
+++ b/toolkit/themes/linux/global/tree/twisty-clsd.png
Binary files differ
diff --git a/toolkit/themes/linux/global/tree/twisty-open.png b/toolkit/themes/linux/global/tree/twisty-open.png
new file mode 100644
index 000000000..b8b7583bf
--- /dev/null
+++ b/toolkit/themes/linux/global/tree/twisty-open.png
Binary files differ