summaryrefslogtreecommitdiffstats
path: root/browser/themes/linux
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /browser/themes/linux
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/themes/linux')
-rw-r--r--browser/themes/linux/browser.css447
-rw-r--r--browser/themes/linux/customizableui/panelUI.css14
-rw-r--r--browser/themes/linux/downloads/allDownloadsView.css5
-rw-r--r--browser/themes/linux/downloads/downloads.css14
-rw-r--r--browser/themes/linux/jar.mn27
-rw-r--r--browser/themes/linux/monitor-base.pngbin0 -> 1087 bytes
-rw-r--r--browser/themes/linux/monitor-border.pngbin0 -> 3268 bytes
-rw-r--r--browser/themes/linux/moz.build9
-rw-r--r--browser/themes/linux/pageInfo.css151
-rw-r--r--browser/themes/linux/pageInfo.pngbin0 -> 8438 bytes
-rw-r--r--browser/themes/linux/places/organizer.css152
-rw-r--r--browser/themes/linux/preferences/alwaysAsk.pngbin0 -> 375 bytes
-rw-r--r--browser/themes/linux/preferences/applications.css43
-rw-r--r--browser/themes/linux/sanitizeDialog.css16
-rw-r--r--browser/themes/linux/window-controls/close.svg6
-rw-r--r--browser/themes/linux/window-controls/minimize.svg6
-rw-r--r--browser/themes/linux/window-controls/restore.svg7
17 files changed, 897 insertions, 0 deletions
diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css
new file mode 100644
index 0000000000..31a762b322
--- /dev/null
+++ b/browser/themes/linux/browser.css
@@ -0,0 +1,447 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@import url("chrome://browser/skin/browser-shared.css");
+@import url("chrome://browser/skin/contextmenu.css");
+
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/**
+ * We intentionally do not include browser-custom-colors.css,
+ * instead choosing to fall back to system colours and transparencies
+ * in order to accomodate the wider variety of system themes on that
+ * platform.
+ */
+
+:root {
+ --toolbar-non-lwt-bgcolor: color-mix(in srgb, -moz-dialog 85%, white);
+ --toolbar-non-lwt-textcolor: -moz-dialogtext;
+
+ --panel-separator-color: ThreeDShadow;
+
+ --chrome-content-separator-color: ThreeDShadow;
+}
+
+#TabsToolbar:not(:-moz-lwtheme),
+#TabsToolbar[brighttext]:not(:-moz-lwtheme) {
+ --tab-attention-icon-color: AccentColor;
+}
+
+:root:-moz-lwtheme {
+ --chrome-content-separator-color: rgba(0,0,0,.3);
+
+ --panel-separator-color: hsla(210,4%,10%,.14);
+}
+
+:root[lwt-popup-brighttext] {
+ --panel-separator-color: rgba(249,249,250,.1);
+}
+
+#menubar-items {
+ -moz-box-orient: vertical; /* for flex hack */
+}
+
+#navigator-toolbox {
+ appearance: none;
+ background-color: transparent;
+ border-top: none;
+}
+
+.browser-toolbar {
+ padding: 0;
+}
+
+.browser-toolbar:not(.titlebar-color) {
+ background-color: var(--toolbar-bgcolor);
+ color: var(--toolbar-color);
+ appearance: none;
+ border-style: none;
+}
+
+#nav-bar:not([tabs-hidden="true"]) {
+ box-shadow: 0 calc(-1 * var(--tabs-navbar-shadow-size)) 0 var(--lwt-tabs-border-color, rgba(0,0,0,.3));
+ /* This is needed for some toolbar button animations. Gross :( */
+ position: relative;
+}
+
+/* Bookmark menus */
+menu.bookmark-item,
+menuitem.bookmark-item {
+ min-width: 0;
+ max-width: 32em;
+}
+
+.bookmark-item:not(.subviewbutton) > .menu-iconic-left {
+ margin-block: 0;
+}
+
+/* Bookmark drag and drop styles */
+.bookmark-item[dragover-into="true"] {
+ background: SelectedItem !important;
+ color: SelectedItemText !important;
+}
+
+.bookmark-item[cutting] > .toolbarbutton-icon,
+.bookmark-item[cutting] > .menu-iconic-left > .menu-iconic-icon {
+ opacity: 0.5;
+}
+
+.bookmark-item[cutting] > .toolbarbutton-text,
+.bookmark-item[cutting] > .menu-iconic-left > .menu-iconic-text {
+ opacity: 0.7;
+}
+
+/* Address bar */
+#urlbar,
+#searchbar {
+ font-size: 1.05em;
+}
+
+@supports -moz-bool-pref("browser.urlbar.experimental.expandTextOnFocus") {
+ #urlbar[breakout-extend] {
+ font-size: 1.14em;
+ }
+}
+
+:root {
+ --toolbar-field-border-color: ThreeDShadow;
+}
+
+/* Address bar results view */
+
+:root:not(:-moz-lwtheme) {
+ --urlbar-popup-action-color: -moz-nativehyperlinktext;
+ --autocomplete-popup-highlight-background: SelectedItem;
+ --autocomplete-popup-highlight-color: SelectedItemText;
+}
+
+/* AutoComplete */
+
+#PopupAutoComplete > richlistbox > richlistitem[originaltype~="datalist-first"] {
+ border-top: 1px solid ThreeDShadow;
+}
+
+/* Content area */
+
+
+#browser {
+ --sidebar-border-color: ThreeDShadow;
+}
+
+.sidebar-splitter {
+ appearance: none;
+ width: 6px;
+ background-color: -moz-dialog;
+ border: 1px ThreeDShadow;
+ border-style: none solid;
+}
+
+/* Tabstrip */
+
+#tabbrowser-tabs {
+ /* override the global style to allow the selected tab to be above the nav-bar */
+ z-index: auto;
+}
+
+#TabsToolbar {
+ min-height: 0;
+}
+
+#TabsToolbar:not(:-moz-lwtheme) {
+ appearance: auto;
+ -moz-default-appearance: menubar;
+ color: -moz-menubartext;
+}
+
+#context_reloadTab {
+ list-style-image: url("moz-icon://stock/gtk-refresh?size=menu");
+}
+
+#context_closeOtherTabs {
+ list-style-image: url("moz-icon://stock/gtk-clear?size=menu");
+}
+
+#context_closeOtherTabs[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-clear?size=menu&state=disabled");
+}
+
+#context_undoCloseTab {
+ list-style-image: url("moz-icon://stock/gtk-undelete?size=menu");
+}
+
+#context_closeTab {
+ list-style-image: url("moz-icon://stock/gtk-close?size=menu");
+}
+
+/* All tabs menupopup */
+
+.alltabs-item[selected="true"] {
+ font-weight: bold;
+}
+
+/* Status panel */
+
+#statuspanel-label {
+ margin: 0;
+ padding: 2px 4px;
+ background-color: -moz-dialog;
+ border: 1px none ThreeDShadow;
+ border-top-style: solid;
+ color: -moz-dialogText;
+ text-shadow: none;
+ color-scheme: light;
+}
+
+@media (-moz-content-prefers-color-scheme: dark) {
+ #statuspanel-label {
+ color-scheme: dark;
+ }
+}
+
+#statuspanel:not([mirror]) > #statuspanel-label:-moz-locale-dir(ltr),
+#statuspanel[mirror] > #statuspanel-label:-moz-locale-dir(rtl) {
+ border-right-style: solid;
+ border-top-right-radius: .3em;
+ margin-right: 1em;
+}
+
+#statuspanel:not([mirror]) > #statuspanel-label:-moz-locale-dir(rtl),
+#statuspanel[mirror] > #statuspanel-label:-moz-locale-dir(ltr) {
+ border-left-style: solid;
+ border-top-left-radius: .3em;
+ margin-left: 1em;
+}
+
+
+#UITourHighlight {
+ /* Below are some fixes for people without an X compositor on Linux.
+ This is why we can't have nice things: */
+ /* Animations don't repaint properly without an X compositor. */
+ animation-name: none !important;
+ /* Opacity rounds to 0 or 1 on Linux without an X compositor, making the
+ background color not visible. Anti-aliasing is not available either. Make a
+ thicker outline and cancel border-radius for that case. */
+ outline: 4px solid rgb(0,200,215);
+ border-radius: 0 !important;
+}
+
+#UITourTooltipDescription {
+ font-size: 1.05rem;
+}
+
+#UITourTooltipClose {
+ margin-inline-end: -4px;
+}
+
+/**
+ * Override the --arrowpanel-padding so the background extends
+ * to the sides and bottom of the panel.
+ */
+#UITourTooltipButtons {
+ margin-inline-start: -10px;
+ margin-bottom: -10px;
+}
+
+#context-navigation > .menuitem-iconic > .menu-iconic-left {
+ /* override toolkit/themes/linux/global/menu.css */
+ padding-inline-end: 0 !important;
+ margin-inline-end: 0 !important;
+}
+
+/**
+ * Titlebar drawing:
+ *
+ * We draw to titlebar when Gkt+ CSD is available. This is mostly
+ * straight-forward, but getting the window corners to look perfect is a bit
+ * tricky, as there are different variables to take into account.
+ *
+ * GTK windows have both a window radius (exposed via the
+ * `-moz-gtk-csd-titlebar-radius`) environment variable, and a window shadow
+ * (which we can't read back from GTK). Note that the native drawing does draw
+ * the shadow already.
+ *
+ * So there are multiple configurations to consider:
+ *
+ * * Whether we're using Wayland vs. X11
+ * * Whether we're using a lightweight theme or not.
+ *
+ * Consider the simple case (default system theme). We render the titlebar
+ * using `-moz-default-appearance: -moz-window-titlebar;`, then don't draw
+ * anything else. Success!
+ *
+ * Now consider lightweight themes: We need to render the native titlebar
+ * behind the "theme" titlebar in order to render the native shadow on X11. But
+ * we can't just use the #navigator-toolbox as that's where the lightweight
+ * theme background goes, so we need to use the #navigator-toolbox-background.
+ * We still have to apply the corner radii to #navigator-toolbox of course, so
+ * the lightweight theme background doesn't overflow the titlebar radius.
+ *
+ * In a Wayland-only world, the setup could be much simpler: We could apply the
+ * titlebar appearance to #navigator-toolbox, and just apply the border radius
+ * on the <body> or #navigator-toolbox-background to clip the extra shadow when
+ * using the system theme. For the lightweight theme, we could use
+ * appearance: none and the titlebar radius on the toolbox. In X11 however, we
+ * do need the native titlebar behind at all times.
+ */
+@media (-moz-gtk-csd-available) {
+ :root[tabsintitlebar][sizemode="normal"] {
+ background-color: transparent;
+ }
+
+ :root[tabsintitlebar] #titlebar {
+ color: CaptionText;
+ }
+
+ :root[tabsintitlebar] #titlebar:-moz-window-inactive {
+ color: InactiveCaptionText;
+ }
+
+ :root[tabsintitlebar] #titlebar:-moz-lwtheme {
+ color: inherit;
+ }
+
+ :root[tabsintitlebar] #navigator-toolbox-background {
+ appearance: auto;
+ -moz-default-appearance: -moz-window-titlebar-maximized;
+ }
+
+ :root[tabsintitlebar][sizemode="normal"]:not([gtktiledwindow="true"]) #navigator-toolbox-background {
+ -moz-default-appearance: -moz-window-titlebar;
+ }
+
+ :root[tabsintitlebar][sizemode="normal"]:not([gtktiledwindow="true"]) #navigator-toolbox:-moz-lwtheme,
+ :root[tabsintitlebar][sizemode="normal"]:not([gtktiledwindow="true"]) dialog::backdrop {
+ border-top-left-radius: env(-moz-gtk-csd-titlebar-radius);
+ border-top-right-radius: env(-moz-gtk-csd-titlebar-radius);
+ }
+
+ /* When temporarily showing the menu bar, make it at least as tall as the tab
+ * bar such that the window controls don't appear to move up. */
+ :root[tabsintitlebar] #toolbar-menubar[autohide="true"] {
+ height: calc(var(--tab-min-height) + 2 * var(--tab-block-margin));
+ }
+
+ /* Make #TabsToolbar transparent as we style underlying #titlebar with
+ * -moz-window-titlebar (Gtk+ theme). */
+ :root[tabsintitlebar] #TabsToolbar,
+ :root[tabsintitlebar] #toolbar-menubar {
+ appearance: none;
+ color: inherit;
+ }
+
+ :root[tabsintitlebar] #main-menubar {
+ color: inherit;
+ }
+
+ /* The button box must appear on top of the navigator-toolbox in order for
+ * click and hover mouse events to work properly for the button in the restored
+ * window state. Otherwise, elements in the navigator-toolbox, like the menubar,
+ * can swallow those events. */
+ .titlebar-buttonbox {
+ z-index: 1;
+ -moz-box-align: center;
+ }
+
+ /* Render titlebar command buttons according to system config.
+ * Use full scale icons here as the Gtk+ does. */
+ .titlebar-min {
+ appearance: auto;
+ -moz-default-appearance: -moz-window-button-minimize;
+ -moz-box-ordinal-group: env(-moz-gtk-csd-minimize-button-position);
+ }
+ .titlebar-max {
+ appearance: auto;
+ -moz-default-appearance: -moz-window-button-maximize;
+ -moz-box-ordinal-group: env(-moz-gtk-csd-maximize-button-position);
+ }
+ .titlebar-restore {
+ appearance: auto;
+ -moz-default-appearance: -moz-window-button-restore;
+ -moz-box-ordinal-group: env(-moz-gtk-csd-maximize-button-position);
+ }
+ .titlebar-close {
+ appearance: auto;
+ -moz-default-appearance: -moz-window-button-close;
+ -moz-box-ordinal-group: env(-moz-gtk-csd-close-button-position);
+ }
+
+ /* When using lightweight themes, use our own buttons since native ones might
+ * assume a native background in order to be visible. */
+ .titlebar-button:-moz-lwtheme {
+ appearance: none;
+ border-radius: 100%;
+ }
+ .titlebar-button > .toolbarbutton-icon:-moz-lwtheme {
+ padding: 6px;
+ -moz-context-properties: stroke;
+ stroke: currentColor;
+ }
+ .titlebar-min:-moz-lwtheme {
+ list-style-image: url(chrome://browser/skin/window-controls/minimize.svg);
+ }
+ .titlebar-max:-moz-lwtheme {
+ list-style-image: url(chrome://browser/skin/window-controls/maximize.svg);
+ }
+ .titlebar-restore:-moz-lwtheme {
+ list-style-image: url(chrome://browser/skin/window-controls/restore.svg);
+ }
+ .titlebar-close:-moz-lwtheme {
+ list-style-image: url(chrome://browser/skin/window-controls/close.svg);
+ }
+ .titlebar-button:-moz-lwtheme:hover {
+ background-color: color-mix(in srgb, currentColor 12%, transparent);
+ }
+ .titlebar-button:-moz-lwtheme:hover:active {
+ background-color: color-mix(in srgb, currentColor 20%, transparent);
+ }
+ .titlebar-close:-moz-lwtheme:hover {
+ background-color: #d70022;
+ color: white;
+ }
+ .titlebar-close:-moz-lwtheme:hover:active {
+ background-color: #ff0039;
+ }
+
+ @media not (-moz-gtk-csd-minimize-button) {
+ .titlebar-min {
+ display: none;
+ }
+ }
+ @media not (-moz-gtk-csd-maximize-button) {
+ .titlebar-restore,
+ .titlebar-max {
+ display: none;
+ }
+ }
+ @media not (-moz-gtk-csd-close-button) {
+ .titlebar-close {
+ display: none;
+ }
+ }
+
+ @media (-moz-gtk-csd-reversed-placement) {
+ .titlebar-buttonbox-container {
+ -moz-box-ordinal-group: 0;
+ }
+ }
+}
+
+#historySwipeAnimationPreviousArrow {
+ background: url("chrome://browser/skin/history-swipe-arrow.svg")
+ center left / 192px 192px no-repeat transparent;
+ will-change: transform;
+ -moz-context-properties: fill;
+}
+#historySwipeAnimationPreviousArrow:-moz-locale-dir(rtl) {
+ transform: scaleX(-1);
+}
+#historySwipeAnimationNextArrow {
+ background: url("chrome://browser/skin/history-swipe-arrow.svg")
+ center left / 192px 192px no-repeat transparent;
+ will-change: transform;
+ -moz-context-properties: fill;
+}
+#historySwipeAnimationNextArrow:-moz-locale-dir(ltr) {
+ transform: scaleX(-1);
+}
diff --git a/browser/themes/linux/customizableui/panelUI.css b/browser/themes/linux/customizableui/panelUI.css
new file mode 100644
index 0000000000..63969676ec
--- /dev/null
+++ b/browser/themes/linux/customizableui/panelUI.css
@@ -0,0 +1,14 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@import "chrome://browser/skin/customizableui/panelUI-shared.css";
+
+menupopup::part(drop-indicator) {
+ /* To account for the shadow margin + border of the panel */
+ margin-inline-start: 5px;
+}
+
+.subviewradio > .radio-label-box {
+ appearance: none;
+}
diff --git a/browser/themes/linux/downloads/allDownloadsView.css b/browser/themes/linux/downloads/allDownloadsView.css
new file mode 100644
index 0000000000..cae3f34a22
--- /dev/null
+++ b/browser/themes/linux/downloads/allDownloadsView.css
@@ -0,0 +1,5 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@import "chrome://browser/skin/downloads/allDownloadsView.inc.css";
diff --git a/browser/themes/linux/downloads/downloads.css b/browser/themes/linux/downloads/downloads.css
new file mode 100644
index 0000000000..5c00c1a7fa
--- /dev/null
+++ b/browser/themes/linux/downloads/downloads.css
@@ -0,0 +1,14 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@import "chrome://browser/skin/downloads/downloads.inc.css";
+
+/*** List items and similar elements in the summary ***/
+
+:root {
+ --downloads-item-height: 5.5em;
+ --downloads-item-font-size-factor: 0.9;
+ --downloads-item-details-opacity: 0.6;
+ --downloads-item-disabled-opacity: 0.6;
+}
diff --git a/browser/themes/linux/jar.mn b/browser/themes/linux/jar.mn
new file mode 100644
index 0000000000..b81188c22b
--- /dev/null
+++ b/browser/themes/linux/jar.mn
@@ -0,0 +1,27 @@
+# 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/.
+
+browser.jar:
+% skin browser classic/1.0 %skin/classic/browser/
+#include ../shared/jar.inc.mn
+ skin/classic/browser/sanitizeDialog.css
+ skin/classic/browser/browser.css
+ skin/classic/browser/contextmenu.css (../shared/contextmenu.css)
+ skin/classic/browser/monitor-base.png
+ skin/classic/browser/monitor-border.png
+ skin/classic/browser/pageInfo.css
+ skin/classic/browser/pageInfo.png
+ skin/classic/browser/webRTC-legacy-indicator.css (../shared/webRTC-legacy-indicator.css)
+ skin/classic/browser/customizableui/panelUI.css (customizableui/panelUI.css)
+ skin/classic/browser/downloads/allDownloadsView.css (downloads/allDownloadsView.css)
+ skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
+ skin/classic/browser/places/organizer.css (places/organizer.css)
+ skin/classic/browser/preferences/alwaysAsk.png (preferences/alwaysAsk.png)
+ skin/classic/browser/preferences/applications.css (preferences/applications.css)
+ skin/classic/browser/window-controls/close.svg (../windows/window-controls/close.svg)
+ skin/classic/browser/window-controls/maximize.svg (../windows/window-controls/maximize.svg)
+ skin/classic/browser/window-controls/minimize.svg (../windows/window-controls/minimize.svg)
+ skin/classic/browser/window-controls/restore.svg (../windows/window-controls/restore.svg)
+ skin/classic/browser/e10s-64@2x.png (../shared/e10s-64@2x.png)
+ skin/classic/browser/history-swipe-arrow.svg (../shared/swipe-gesture-icons/history-swipe-arrow.svg)
diff --git a/browser/themes/linux/monitor-base.png b/browser/themes/linux/monitor-base.png
new file mode 100644
index 0000000000..45a2410217
--- /dev/null
+++ b/browser/themes/linux/monitor-base.png
Binary files differ
diff --git a/browser/themes/linux/monitor-border.png b/browser/themes/linux/monitor-border.png
new file mode 100644
index 0000000000..f05dcb7839
--- /dev/null
+++ b/browser/themes/linux/monitor-border.png
Binary files differ
diff --git a/browser/themes/linux/moz.build b/browser/themes/linux/moz.build
new file mode 100644
index 0000000000..20e4e3af75
--- /dev/null
+++ b/browser/themes/linux/moz.build
@@ -0,0 +1,9 @@
+# -*- 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"]
+
+DEFINES["MENUBAR_CAN_AUTOHIDE"] = 1
diff --git a/browser/themes/linux/pageInfo.css b/browser/themes/linux/pageInfo.css
new file mode 100644
index 0000000000..c87a18c02d
--- /dev/null
+++ b/browser/themes/linux/pageInfo.css
@@ -0,0 +1,151 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@import url("chrome://global/skin/global.css");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* View buttons */
+#viewGroup > radio {
+ list-style-image: url("chrome://browser/skin/pageInfo.png");
+ appearance: none;
+ min-width: 4.5em;
+ margin: 0;
+ padding: 3px;
+ color: FieldText;
+}
+
+#viewGroup > radio[selected="true"] {
+ background-color: SelectedItem;
+ color: SelectedItemText;
+}
+
+#viewGroup > radio > .radio-label-box {
+ padding: 0 6px;
+}
+
+#viewGroup:focus-visible > radio[focused="true"] > .radio-label-box {
+ outline: var(--default-focusring);
+}
+
+#topBar {
+ border-bottom: 1px solid ThreeDShadow;
+ padding-inline-start: 10px;
+ background-color: Field;
+ color: FieldText;
+}
+
+#generalTab {
+ -moz-image-region: rect(0px, 32px, 32px, 0px)
+}
+
+#mediaTab {
+ -moz-image-region: rect(0px, 64px, 32px, 32px)
+}
+
+#permTab {
+ -moz-image-region: rect(0px, 128px, 32px, 96px)
+}
+
+#securityTab {
+ -moz-image-region: rect(0px, 160px, 32px, 128px)
+}
+
+/* Misc */
+tree {
+ margin: .5em;
+}
+
+html|input {
+ background: transparent;
+ border: none;
+ padding: 0;
+}
+
+html|input.header {
+ margin-inline-start: 0;
+}
+
+#imagecontainerbox {
+ margin: .5em;
+ background: white;
+ overflow: auto;
+ border: 1px solid ThreeDLightShadow;
+}
+
+html|input:disabled {
+ font-style: italic;
+}
+
+/* General Tab */
+#generalPanel > #titletext {
+ margin-inline-start: 5px;
+}
+
+#securityBox description {
+ margin-inline-start: 10px;
+}
+
+#general-security-identity {
+ white-space: pre-wrap;
+ line-height: 2em;
+}
+
+/* Media Tab */
+#imagetree {
+ min-height: 10em;
+ margin-block: 2px 0;
+}
+
+#mediaSplitter {
+ appearance: none;
+ height: .8em;
+}
+
+#mediaTable {
+ margin-bottom: 2em;
+}
+
+#mediaLabelColumn {
+ min-width: 10em;
+}
+
+#thepreviewimage {
+ margin: 1em;
+}
+
+treechildren::-moz-tree-cell-text(broken) {
+ font-style: italic;
+ color: graytext;
+}
+
+/* Permissions Tab */
+
+#permList {
+ appearance: auto;
+ -moz-default-appearance: listbox;
+ margin: .5em;
+ overflow: auto;
+ color: FieldText;
+}
+
+.permission {
+ padding: 6px 7px;
+ min-height: 25px;
+ border-bottom: 1px dotted ThreeDShadow;
+}
+
+.permissionLabel {
+ font-weight: bold;
+}
+
+.permission:hover {
+ background-color: -moz-dialog;
+ color: -moz-DialogText;
+}
+
+/* Security Tab */
+
+#securityPanel table {
+ margin-bottom: 1em;
+}
diff --git a/browser/themes/linux/pageInfo.png b/browser/themes/linux/pageInfo.png
new file mode 100644
index 0000000000..cdd511cf1f
--- /dev/null
+++ b/browser/themes/linux/pageInfo.png
Binary files differ
diff --git a/browser/themes/linux/places/organizer.css b/browser/themes/linux/places/organizer.css
new file mode 100644
index 0000000000..3866e70dfa
--- /dev/null
+++ b/browser/themes/linux/places/organizer.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/. */
+
+/* Toolbar */
+
+#placesToolbar {
+ appearance: auto;
+ -moz-default-appearance: menubar;
+ color: -moz-menubartext;
+}
+
+@media (-moz-menubar-drag) {
+ #placesToolbar {
+ -moz-window-dragging: drag;
+ }
+}
+
+#placesToolbar > toolbarbutton {
+ color: -moz-menubartext;
+}
+
+#placesToolbar > toolbarbutton:hover {
+ color: ButtonText;
+}
+
+#placesToolbar > toolbarbutton[disabled] {
+ color: GrayText;
+}
+
+/* Back button */
+
+#back-button {
+ list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar");
+}
+#back-button[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar&state=disabled");
+}
+
+#back-button:-moz-locale-dir(rtl) {
+ list-style-image: url("moz-icon://stock/gtk-go-back-rtl?size=toolbar");
+}
+#back-button[disabled]:-moz-locale-dir(rtl) {
+ list-style-image: url("moz-icon://stock/gtk-go-back-rtl?size=toolbar&state=disabled");
+}
+
+/* Forward button */
+
+#forward-button {
+ list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar");
+}
+#forward-button[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar&state=disabled");
+}
+
+#forward-button:-moz-locale-dir(rtl) {
+ list-style-image: url("moz-icon://stock/gtk-go-forward-rtl?size=toolbar");
+}
+#forward-button[disabled]:-moz-locale-dir(rtl) {
+ list-style-image: url("moz-icon://stock/gtk-go-forward-rtl?size=toolbar&state=disabled");
+}
+
+/* Menus */
+#placesMenu > menu {
+ padding-inline-start: 4px;
+ appearance: auto;
+ -moz-default-appearance: toolbarbutton;
+}
+
+#placesMenu > menu:hover {
+ color: ButtonText;
+}
+
+#placesMenu > menu:active,
+#placesMenu > menu[open] {
+ color: -moz-buttonactivetext;
+}
+
+#placesMenu > menu::after {
+ content: "";
+ display: -moz-box;
+ width: 12px;
+ height: 12px;
+ content: url("chrome://global/skin/icons/arrow-down-12.svg");
+ -moz-context-properties: fill;
+ fill: currentColor;
+}
+
+/* Root View */
+#placesView {
+ background-color: Window;
+}
+
+/* Info box */
+#infoBox:not([hidden="true"]) {
+ display: block;
+}
+
+#editBookmarkPanelContent {
+ grid-template-columns: auto 1fr;
+}
+
+#editBookmarkPanelContent .caption-label:not([hidden="true"]) {
+ display: block;
+ grid-column: 2;
+}
+
+#editBookmarkPanelContent input {
+ margin: 4px;
+}
+
+#editBookmarkPanelContent label {
+ align-self: center;
+}
+
+#editBMPanel_itemsCountText {
+ grid-column: auto / span 2;
+ justify-self: center;
+}
+
+#editBMPanel_tagsSelectorRow {
+ grid-column: auto / span 2;
+}
+
+#detailsPane {
+ height: 16em;
+ padding: 5px;
+}
+
+/* Expanders */
+
+.expander-up,
+.expander-down {
+ min-width: 0;
+ padding: 2px 0;
+ padding-inline-start: 2px;
+}
+
+.expander-up > .button-box {
+ appearance: auto;
+ -moz-default-appearance: button-arrow-up;
+}
+
+.expander-down > .button-box {
+ appearance: auto;
+ -moz-default-appearance: button-arrow-down;
+}
+
+/* Downloads pane */
+#clearDownloadsButton > .toolbarbutton-icon {
+ display: none;
+}
diff --git a/browser/themes/linux/preferences/alwaysAsk.png b/browser/themes/linux/preferences/alwaysAsk.png
new file mode 100644
index 0000000000..c6720e19e7
--- /dev/null
+++ b/browser/themes/linux/preferences/alwaysAsk.png
Binary files differ
diff --git a/browser/themes/linux/preferences/applications.css b/browser/themes/linux/preferences/applications.css
new file mode 100644
index 0000000000..2627b06d00
--- /dev/null
+++ b/browser/themes/linux/preferences/applications.css
@@ -0,0 +1,43 @@
+/* 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/. */
+
+richlistitem[appHandlerIcon="handleInternally"],
+menuitem[appHandlerIcon="handleInternally"] {
+ list-style-image: url("chrome://branding/content/icon32.png");
+}
+
+richlistitem[appHandlerIcon="ask"],
+menuitem[appHandlerIcon="ask"] {
+ list-style-image: url("chrome://browser/skin/preferences/alwaysAsk.png");
+}
+
+richlistitem[appHandlerIcon="save"],
+menuitem[appHandlerIcon="save"] {
+ list-style-image: url("moz-icon://stock/gtk-save?size=menu");
+}
+
+richlistitem[appHandlerIcon="plugin"],
+menuitem[appHandlerIcon="plugin"] {
+ list-style-image: url("chrome://global/skin/icons/plugin.svg");
+}
+
+#appList {
+ min-height: 212px;
+}
+
+#appList > richlistitem {
+ -moz-box-align: center;
+}
+
+#appList > richlistitem > image {
+ margin: 5px;
+ width: 32px;
+ height: 32px;
+}
+
+#appList > richlistitem > label {
+ margin: 0px;
+ padding: 5px;
+ white-space: nowrap;
+}
diff --git a/browser/themes/linux/sanitizeDialog.css b/browser/themes/linux/sanitizeDialog.css
new file mode 100644
index 0000000000..4883786a9f
--- /dev/null
+++ b/browser/themes/linux/sanitizeDialog.css
@@ -0,0 +1,16 @@
+/* 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/. */
+
+#sanitizeDurationChoice {
+ margin-inline-end: 0;
+}
+
+/* Align the duration label with the warning box and item list */
+#sanitizeDurationLabel {
+ margin-inline-start: 3px;
+}
+
+#sanitizeEverythingWarningIcon {
+ list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=dialog");
+}
diff --git a/browser/themes/linux/window-controls/close.svg b/browser/themes/linux/window-controls/close.svg
new file mode 100644
index 0000000000..9d0a252357
--- /dev/null
+++ b/browser/themes/linux/window-controls/close.svg
@@ -0,0 +1,6 @@
+<!-- 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 width="12" height="12" xmlns="http://www.w3.org/2000/svg">
+ <path stroke="context-stroke" stroke-width=".9" fill="none" d="M1,1 l 10,10 M1,11 l 10,-10"/>
+</svg>
diff --git a/browser/themes/linux/window-controls/minimize.svg b/browser/themes/linux/window-controls/minimize.svg
new file mode 100644
index 0000000000..7ffa1fecbb
--- /dev/null
+++ b/browser/themes/linux/window-controls/minimize.svg
@@ -0,0 +1,6 @@
+<!-- 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 width="12" height="12" xmlns="http://www.w3.org/2000/svg">
+ <line stroke="context-stroke" stroke-width=".9" fill="none" shape-rendering="crispEdges" x1="1" y1="5.5" x2="11" y2="5.5"/>
+</svg>
diff --git a/browser/themes/linux/window-controls/restore.svg b/browser/themes/linux/window-controls/restore.svg
new file mode 100644
index 0000000000..80b71b178d
--- /dev/null
+++ b/browser/themes/linux/window-controls/restore.svg
@@ -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/. -->
+<svg width="12" height="12" xmlns="http://www.w3.org/2000/svg" stroke="context-stroke" stroke-width=".9" fill="none" shape-rendering="crispEdges">
+ <rect x="1.5" y="3.5" width="7" height="7"/>
+ <polyline points="3.5,3.5 3.5,1.5 10.5,1.5 10.5,8.5 8.5,8.5"/>
+</svg>