diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /browser/themes/windows/browser-aero.css | |
parent | Initial commit. (diff) | |
download | firefox-esr-upstream.tar.xz firefox-esr-upstream.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | browser/themes/windows/browser-aero.css | 341 |
1 files changed, 341 insertions, 0 deletions
diff --git a/browser/themes/windows/browser-aero.css b/browser/themes/windows/browser-aero.css new file mode 100644 index 0000000000..e5ace71f65 --- /dev/null +++ b/browser/themes/windows/browser-aero.css @@ -0,0 +1,341 @@ +/* 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/. */ + +:root { + --glass-active-border-color: rgb(37, 44, 51); + --glass-inactive-border-color: rgb(102, 102, 102); + --glass-shadow-color: hsla(240,5%,5%,0.3); +} + +@media (-moz-platform: windows-win7), + (-moz-platform: windows-win8) { + @media (-moz-windows-classic: 0) { + :root[sizemode="normal"] #toolbar-menubar:not([autohide="true"]) > #menubar-items, + :root[sizemode="normal"] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar > .toolbar-items { + margin-top: 1px; + } + /** + * Except for Windows 8, Windows 7 Aero and Windows 7 Aero Basic, the + * -moz-window-button-box appearance on the .titlebar-buttonbox adds an + * unwanted margin at the top of the button box. + * + * For Windows 8 and Windows Aero (which both use the compositor): + * We want the -moz-window-button-box applied in the restored case, + * and -moz-window-button-box-maximized in the maximized case. + * + * For Windows Aero Basic: + * The margin is also unwanted in the maximized case, but we want + * it in the restored window case. + */ + :root[sizemode="normal"] .titlebar-buttonbox { + appearance: auto; + -moz-default-appearance: -moz-window-button-box; + } + + @media (-moz-windows-compositor) { + :root[sizemode="maximized"] .titlebar-buttonbox { + appearance: auto; + -moz-default-appearance: -moz-window-button-box-maximized; + } + } + } +} + +@media (-moz-windows-compositor) { + @media not (-moz-platform: windows-win7) { + @media not (-moz-platform: windows-win8) { + @media (-moz-windows-default-theme) { + @media (-moz-windows-accent-color-in-titlebar) { + :root[sizemode=normal][tabsintitlebar] #navigator-toolbox { + border-top: .5px solid AccentColor; + } + } + + :root[sizemode=normal][tabsintitlebar]:-moz-window-inactive #navigator-toolbox { + border-top-color: rgb(57,57,57); + } + + :root[tabsintitlebar] .tab-label:-moz-window-inactive { + /* Calculated to match the opacity change of Windows Explorer + titlebar text change for inactive windows. */ + opacity: .6; + } + + :root[tabsintitlebar] .tab-secondary-label:-moz-window-inactive { + opacity: .6; + } + } + + /* See bug 1715990 about why we do this ourselves on HCM */ + @media (prefers-contrast) { + :root[tabsintitlebar]:not(:-moz-lwtheme) { + background-color: ActiveCaption; + color: CaptionText; + } + + :root[tabsintitlebar]:not(:-moz-lwtheme):-moz-window-inactive { + background-color: InactiveCaption; + color: InactiveCaptionText; + } + } + + .titlebar-buttonbox, + .titlebar-button { + appearance: none !important; + } + + .titlebar-button { + border: none; + margin: 0 !important; + padding: 8px 17px; + -moz-context-properties: stroke; + stroke: currentColor; + } + + .titlebar-button > .toolbarbutton-icon { + width: 12px; + height: 12px; + } + + .titlebar-min { + list-style-image: url(chrome://browser/skin/window-controls/minimize.svg); + } + + .titlebar-max { + list-style-image: url(chrome://browser/skin/window-controls/maximize.svg); + } + + .titlebar-restore { + list-style-image: url(chrome://browser/skin/window-controls/restore.svg); + } + + .titlebar-restore > .toolbarbutton-icon:-moz-locale-dir(rtl) { + transform: scaleX(-1); + } + + .titlebar-close { + list-style-image: url(chrome://browser/skin/window-controls/close.svg); + } + + :root[lwtheme-image] .titlebar-button { + -moz-context-properties: unset; + } + :root[lwtheme-image] .titlebar-min { + list-style-image: url(chrome://browser/skin/window-controls/minimize-themes.svg); + } + :root[lwtheme-image] .titlebar-max { + list-style-image: url(chrome://browser/skin/window-controls/maximize-themes.svg); + } + :root[lwtheme-image] .titlebar-restore { + list-style-image: url(chrome://browser/skin/window-controls/restore-themes.svg); + } + :root[lwtheme-image] .titlebar-close { + list-style-image: url(chrome://browser/skin/window-controls/close-themes.svg); + } + + /* the 12px image renders a 10px icon, and the 10px upscaled gets rounded to 12.5, which + * rounds up to 13px, which makes the icon one pixel too big on 1.25dppx. Fix: */ + @media (min-resolution: 1.20dppx) and (max-resolution: 1.45dppx) { + .titlebar-button > .toolbarbutton-icon { + width: 11.5px; + height: 11.5px; + } + } + + /* 175% dpi should result in the same device pixel sizes as 150% dpi. */ + @media (min-resolution: 1.70dppx) and (max-resolution: 1.95dppx) { + .titlebar-button { + padding-inline: 14.1px; + } + + .titlebar-button > .toolbarbutton-icon { + width: 10.8px; + height: 10.8px; + } + } + + /* 225% dpi should result in the same device pixel sizes as 200% dpi. */ + @media (min-resolution: 2.20dppx) and (max-resolution: 2.45dppx) { + .titlebar-button { + padding-inline: 15.3333px; + } + + .titlebar-button > .toolbarbutton-icon { + width: 10.8px; + height: 10.8px; + } + } + + /* 275% dpi should result in the same device pixel sizes as 250% dpi. */ + @media (min-resolution: 2.70dppx) and (max-resolution: 2.95dppx) { + /* NB: todo: this should also change padding on the buttons + * themselves, but without a device to test this on, it's + * impossible to know by how much. */ + .titlebar-button > .toolbarbutton-icon { + width: 10.8px; + height: 10.8px; + } + } + + @media (-moz-windows-default-theme) { + #main-menubar > menu[_moz-menuactive="true"] { + color: inherit; + } + + #main-menubar > menu[_moz-menuactive="true"], + .titlebar-button:hover { + background-color: hsla(0,0%,0%,.12); + } + .titlebar-button:hover:active { + background-color: hsla(0,0%,0%,.22); + } + + #toolbar-menubar[brighttext] > #menubar-items > #main-menubar > menu[_moz-menuactive="true"], + toolbar[brighttext] .titlebar-button:not(.titlebar-close):hover { + background-color: hsla(0,0%,100%,.22); + } + toolbar[brighttext] .titlebar-button:not(.titlebar-close):hover:active { + background-color: hsla(0,0%,100%,.32); + } + + .titlebar-close:hover { + stroke: white; + background-color: hsl(355,86%,49%); + } + .titlebar-close:hover:active { + background-color: hsl(355,82%,69%); + } + + .titlebar-button:not(:hover) > .toolbarbutton-icon:-moz-window-inactive { + opacity: 0.5; + } + } + + @media (-moz-windows-default-theme: 0) { + .titlebar-button { + background-color: -moz-field; + stroke: ButtonText; + } + .titlebar-button:hover { + background-color: SelectedItem; + stroke: SelectedItemText; + } + + .titlebar-min { + list-style-image: url(chrome://browser/skin/window-controls/minimize-highcontrast.svg); + } + + .titlebar-max { + list-style-image: url(chrome://browser/skin/window-controls/maximize-highcontrast.svg); + } + + .titlebar-restore { + list-style-image: url(chrome://browser/skin/window-controls/restore-highcontrast.svg); + } + + .titlebar-close { + list-style-image: url(chrome://browser/skin/window-controls/close-highcontrast.svg); + } + } + } + } + + @media (-moz-platform: windows-win7), + (-moz-platform: windows-win8) { + :root { + background-color: transparent; + appearance: auto; + -moz-default-appearance: -moz-win-borderless-glass; + } + + :root[sizemode="maximized"] .titlebar-buttonbox { + margin-inline-end: 3px; + } + + /* These should be hidden w/ glass enabled. Windows draws its own buttons. */ + .titlebar-button { + display: none; + } + + /* The borders on the glass frame are ours, and inside #browser, and on + * win7 we want to make sure they are "glassy", so we can't use #browser + * as the exclude-glass container. We use #appcontent instead. */ + #appcontent { + appearance: auto; + -moz-default-appearance: -moz-win-exclude-glass; + } + } + + @media (-moz-platform: windows-win8) { + /* Artificially draw window borders that are covered by lwtheme, see bug 591930. + * Borders for win7 are below, win10 only needs something like this when + * drawing in the titlebar (-moz-windows-accent-color-in-titlebar). */ + #main-window[sizemode="normal"] #navigator-toolbox:-moz-lwtheme { + border-top: 1px solid var(--glass-shadow-color); + } + } + + :root[darkwindowframe="true"]:not(:-moz-window-inactive, :-moz-lwtheme) { + color: white; + } + + #appcontent:not(:-moz-lwtheme) { + background-color: -moz-dialog; + } +} + +@media (-moz-windows-glass) { + #toolbar-menubar:not(:-moz-lwtheme) { + text-shadow: 0 0 .5em white, 0 0 .5em white, 0 1px 0 rgba(255,255,255,.4); + } + + #main-menubar:not(:-moz-lwtheme, :-moz-window-inactive) { + background-color: rgba(255,255,255,.5); + color: black; + border-radius: 4px; + } + + /* Artificially draw window borders that are covered by lwtheme, see bug 591930. + * We use a different border for win8, and this win10+ only needs this if + * drawing in the titlebar (-moz-windows-accent-color-in-titlebar). */ + #main-window[sizemode="normal"] #navigator-toolbox:-moz-lwtheme { + border-top: 1px solid var(--glass-active-border-color); + padding-top: 1px; + box-shadow: 0 1px 0 rgba(255,255,255,.6) inset; + } + + #main-window[sizemode="normal"] #navigator-toolbox:-moz-lwtheme:-moz-window-inactive { + border-top-color: var(--glass-inactive-border-color); + } +} + +/* Aero Basic */ +@media (-moz-windows-compositor: 0) { + @media (-moz-windows-default-theme) { + :root { + background-color: rgb(185,209,234); + } + :root:-moz-window-inactive { + background-color: rgb(215,228,242); + } + + /* Render a window top border for lwthemes: */ + #main-window[tabsintitlebar][sizemode="normal"] #navigator-toolbox:-moz-lwtheme { + background-image: linear-gradient(to bottom, + var(--glass-active-border-color) 0, var(--glass-active-border-color) 1px, + rgba(255,255,255,.6) 1px, rgba(255,255,255,.6) 2px, transparent 2px); + } + + #main-window[tabsintitlebar][sizemode="normal"] #navigator-toolbox:-moz-lwtheme:-moz-window-inactive { + background-image: linear-gradient(to bottom, + var(--glass-inactive-border-color) 0, var(--glass-inactive-border-color) 1px, + rgba(255,255,255,.6) 1px, rgba(255,255,255,.6) 2px, transparent 2px); + } + } + + #print-preview-toolbar:not(:-moz-lwtheme) { + appearance: auto; + -moz-default-appearance: -moz-win-browsertabbar-toolbox; + } +} |