From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- browser/themes/linux/browser.css | 326 +++++++++++++++++++++ browser/themes/linux/customizableui/panelUI.css | 14 + .../themes/linux/downloads/allDownloadsView.css | 5 + browser/themes/linux/downloads/downloads.css | 14 + browser/themes/linux/jar.mn | 23 ++ browser/themes/linux/monitor-base.png | Bin 0 -> 1087 bytes browser/themes/linux/monitor-border.png | Bin 0 -> 3268 bytes browser/themes/linux/moz.build | 9 + browser/themes/linux/pageInfo.png | Bin 0 -> 8438 bytes browser/themes/linux/places/organizer.css | 129 ++++++++ browser/themes/linux/preferences/alwaysAsk.png | Bin 0 -> 375 bytes browser/themes/linux/preferences/applications.css | 43 +++ browser/themes/linux/sanitizeDialog.css | 16 + browser/themes/linux/window-controls/close.svg | 6 + browser/themes/linux/window-controls/minimize.svg | 6 + browser/themes/linux/window-controls/restore.svg | 7 + 16 files changed, 598 insertions(+) create mode 100644 browser/themes/linux/browser.css create mode 100644 browser/themes/linux/customizableui/panelUI.css create mode 100644 browser/themes/linux/downloads/allDownloadsView.css create mode 100644 browser/themes/linux/downloads/downloads.css create mode 100644 browser/themes/linux/jar.mn create mode 100644 browser/themes/linux/monitor-base.png create mode 100644 browser/themes/linux/monitor-border.png create mode 100644 browser/themes/linux/moz.build create mode 100644 browser/themes/linux/pageInfo.png create mode 100644 browser/themes/linux/places/organizer.css create mode 100644 browser/themes/linux/preferences/alwaysAsk.png create mode 100644 browser/themes/linux/preferences/applications.css create mode 100644 browser/themes/linux/sanitizeDialog.css create mode 100644 browser/themes/linux/window-controls/close.svg create mode 100644 browser/themes/linux/window-controls/minimize.svg create mode 100644 browser/themes/linux/window-controls/restore.svg (limited to 'browser/themes/linux') diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css new file mode 100644 index 0000000000..eb46a22222 --- /dev/null +++ b/browser/themes/linux/browser.css @@ -0,0 +1,326 @@ +/* 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 colors and transparencies in order to accommodate the + * wider variety of GTK system themes. + * + * We still want to do some of the tweaks that browser-custom-colors does, like + * disabling the toolbar field border and backgrounds. + */ +@media not (prefers-contrast) { + :root:not(:-moz-lwtheme) { + --toolbar-field-border-color: transparent; + + /* These colors don't exactly match the default dark color that buttons and + * textfields have in Adwaita[1][2], which would end up computing to + * rgba(0, 0, 0, .8 * .1) and rgba(255, 255, 255, 1 * .1) for light and + * dark, respectively. + * + * Instead, for the light theme we use .05 alpha, to increase the contrast + * of the text. For the dark theme, we use a darker background, which works + * because the toolbar background applies some white unconditionally, and + * matches what our default themes do in other platforms too. + * + * [1]: https://gitlab.gnome.org/GNOME/libadwaita/-/blob/42c04e038f19b2123560da662692d65480a67931/src/stylesheet/widgets/_buttons.scss#L1 + * [2]: https://gitlab.gnome.org/GNOME/libadwaita/-/blob/42c04e038f19b2123560da662692d65480a67931/src/stylesheet/widgets/_entries.scss#L9 + */ + --toolbar-field-background-color: light-dark(rgba(0, 0, 0, .05), rgba(0, 0, 0, .3)); + --toolbar-field-color: inherit; + + @media (-moz-gtk-theme-family) { + --tabs-navbar-shadow-color: transparent; + @media (prefers-color-scheme: light) { + --urlbar-box-bgcolor: #fafafa; + } + } + } +} + +#menubar-items { + flex-direction: column; /* for flex hack */ + justify-content: normal; /* align the menubar to the top also in customize mode */ +} + +/** + * Titlebar drawing: + * + * 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 -moz-window-decorations + * (in X11) or the compositor (in Wayland) does draw the shadow corners + * already. + */ +:root[tabsintitlebar] { + background-color: transparent; + + /* 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. */ + #toolbar-menubar[autohide="true"] { + height: calc(var(--tab-min-height) + 2 * var(--tab-block-margin)); + } + + &[sizemode="normal"]:not([gtktiledwindow="true"]) { + /* This takes care of drawing our window decorations on X11 */ + -moz-default-appearance: -moz-window-decorations; + appearance: auto; + + #navigator-toolbox, + dialog::backdrop { + border-top-left-radius: env(-moz-gtk-csd-titlebar-radius); + border-top-right-radius: env(-moz-gtk-csd-titlebar-radius); + } + + /* stylelint-disable-next-line media-query-no-invalid */ + @media (-moz-bool-pref: "widget.gtk.rounded-bottom-corners.enabled") { + #navigator-toolbox { + /* The body clip below covers this. */ + border-radius: 0; + } + + body, + dialog::backdrop { + /* Use an uniform clip to allow WebRender to optimize it better */ + border-radius: env(-moz-gtk-csd-titlebar-radius); + } + } + } +} + +/* Bookmark menus */ +.bookmark-item { + &:is(menu, menuitem) { + min-width: 0; + max-width: 32em; + } + + &:not(.subviewbutton) > .menu-iconic-left { + margin-block: 0; + } + + /* Bookmark drag and drop styles */ + &[dragover-into="true"] { + background: SelectedItem !important; + color: SelectedItemText !important; + } + + &[cutting] { + > .toolbarbutton-icon, + > .menu-iconic-left > .menu-iconic-icon { + opacity: 0.5; + } + + > .toolbarbutton-text, + > .menu-iconic-left > .menu-iconic-text { + opacity: 0.7; + } + } +} + +/* Address bar */ +#urlbar, +#searchbar { + font-size: 1.05em; +} + +/* stylelint-disable-next-line media-query-no-invalid */ +@media (-moz-bool-pref: "browser.urlbar.experimental.expandTextOnFocus") { + #urlbar[breakout-extend] { + font-size: 1.14em; + } +} + +/* AutoComplete */ + +#PopupAutoComplete > richlistbox > richlistitem[originaltype~="datalist-first"] { + border-top: 1px solid ThreeDShadow; +} + +/* Content area */ + +.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, +#toolbar-menubar, +#main-menubar, +#titlebar { + appearance: none; + background-color: transparent; + color: inherit; +} + +/* All tabs menupopup */ + +.alltabs-item[selected="true"] { + font-weight: bold; +} + +#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; +} + +/* 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; + align-items: center; +} + +/* 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%; + + &:hover { + background-color: color-mix(in srgb, currentColor 12%, transparent); + } + + &:hover:active { + background-color: color-mix(in srgb, currentColor 20%, transparent); + } + + &:focus-visible { + outline: var(--focus-outline); + outline-offset: var(--focus-outline-inset); + } + + > .toolbarbutton-icon { + padding: 6px; + -moz-context-properties: stroke; + stroke: currentColor; + } +} + +/* Render titlebar command buttons according to system config. + * Use full scale icons here as the Gtk+ does. */ +.titlebar-max { + appearance: auto; + -moz-default-appearance: -moz-window-button-maximize; + order: env(-moz-gtk-csd-maximize-button-position); + + &:-moz-lwtheme { + list-style-image: url(chrome://browser/skin/window-controls/maximize.svg); + } +} + +.titlebar-restore { + appearance: auto; + -moz-default-appearance: -moz-window-button-restore; + order: env(-moz-gtk-csd-maximize-button-position); + + &:-moz-lwtheme { + list-style-image: url(chrome://browser/skin/window-controls/restore.svg); + } +} + +@media not (-moz-gtk-csd-minimize-button) { + .titlebar-min { + display: none; + + &:-moz-lwtheme { + list-style-image: url(chrome://browser/skin/window-controls/restore.svg); + } + } +} + +@media not (-moz-gtk-csd-maximize-button) { + .titlebar-restore, + .titlebar-max { + display: none; + } +} + +.titlebar-close { + appearance: auto; + -moz-default-appearance: -moz-window-button-close; + order: env(-moz-gtk-csd-close-button-position); + + &:-moz-lwtheme { + list-style-image: url(chrome://browser/skin/window-controls/close.svg); + + &:hover { + background-color: #d70022; + color: white; + } + + &:hover:active { + background-color: #ff0039; + } + } + + @media not (-moz-gtk-csd-close-button) { + display: none; + } +} + +.titlebar-min { + appearance: auto; + -moz-default-appearance: -moz-window-button-minimize; + order: env(-moz-gtk-csd-minimize-button-position); + + &:-moz-lwtheme { + list-style-image: url(chrome://browser/skin/window-controls/minimize.svg); + } + + @media not (-moz-gtk-csd-minimize-button) { + display: none; + } +} + +@media (-moz-gtk-csd-reversed-placement) { + .titlebar-buttonbox-container { + order: -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..b89da964b7 --- /dev/null +++ b/browser/themes/linux/jar.mn @@ -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/. + +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.png + 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) diff --git a/browser/themes/linux/monitor-base.png b/browser/themes/linux/monitor-base.png new file mode 100644 index 0000000000..45a2410217 Binary files /dev/null and b/browser/themes/linux/monitor-base.png differ diff --git a/browser/themes/linux/monitor-border.png b/browser/themes/linux/monitor-border.png new file mode 100644 index 0000000000..f05dcb7839 Binary files /dev/null and b/browser/themes/linux/monitor-border.png 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.png b/browser/themes/linux/pageInfo.png new file mode 100644 index 0000000000..cdd511cf1f Binary files /dev/null and b/browser/themes/linux/pageInfo.png differ diff --git a/browser/themes/linux/places/organizer.css b/browser/themes/linux/places/organizer.css new file mode 100644 index 0000000000..d8897b4149 --- /dev/null +++ b/browser/themes/linux/places/organizer.css @@ -0,0 +1,129 @@ +/* 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/. */ + +#placesList { + width: 200px; + min-width: 100px; + max-width: 400px; +} + +/* Toolbar */ + +@media (-moz-menubar-drag) { + #placesToolbar { + -moz-window-dragging: drag; + } +} + +#placesToolbar > toolbarbutton > .toolbarbutton-icon { + -moz-context-properties: fill; + fill: currentColor; +} + +/* Back and forward buttons */ + +#back-button { + list-style-image: url("chrome://browser/skin/back.svg"); +} + +#forward-button { + list-style-image: url("chrome://browser/skin/forward.svg"); +} + +#back-button:-moz-locale-dir(rtl) > .toolbarbutton-icon, +#forward-button:-moz-locale-dir(rtl) > .toolbarbutton-icon { + transform: scaleX(-1); +} + +/* 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 { + display: flex; + 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, +.expander-up, +.expander-down { + 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 { + min-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 Binary files /dev/null and b/browser/themes/linux/preferences/alwaysAsk.png differ diff --git a/browser/themes/linux/preferences/applications.css b/browser/themes/linux/preferences/applications.css new file mode 100644 index 0000000000..ac4e863600 --- /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 { + align-items: 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 @@ + + + + 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 @@ + + + + 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 @@ + + + + + -- cgit v1.2.3