summaryrefslogtreecommitdiffstats
path: root/toolkit/themes/windows
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /toolkit/themes/windows
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/themes/windows')
-rw-r--r--toolkit/themes/windows/global/arrow/panelarrow-vertical.svg7
-rw-r--r--toolkit/themes/windows/global/autocomplete.css89
-rw-r--r--toolkit/themes/windows/global/button.css86
-rw-r--r--toolkit/themes/windows/global/dialog.css23
-rw-r--r--toolkit/themes/windows/global/global.css139
-rw-r--r--toolkit/themes/windows/global/icons/Landscape.pngbin0 -> 369 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Portrait.pngbin0 -> 413 bytes
-rw-r--r--toolkit/themes/windows/global/icons/menu-check.svg6
-rw-r--r--toolkit/themes/windows/global/icons/search-textbox.svg7
-rw-r--r--toolkit/themes/windows/global/icons/warning-large.pngbin0 -> 2443 bytes
-rw-r--r--toolkit/themes/windows/global/in-content/common.css23
-rw-r--r--toolkit/themes/windows/global/jar.mn21
-rw-r--r--toolkit/themes/windows/global/menu.css142
-rw-r--r--toolkit/themes/windows/global/menulist.css29
-rw-r--r--toolkit/themes/windows/global/moz.build7
-rw-r--r--toolkit/themes/windows/global/printPageSetup.css26
-rw-r--r--toolkit/themes/windows/global/richlistbox.css121
-rw-r--r--toolkit/themes/windows/global/tabbox.css51
-rw-r--r--toolkit/themes/windows/global/tabprompts.css25
-rw-r--r--toolkit/themes/windows/global/toolbar.css58
-rw-r--r--toolkit/themes/windows/global/tree/sort-asc.svg6
-rw-r--r--toolkit/themes/windows/global/tree/sort-dsc.svg6
-rw-r--r--toolkit/themes/windows/global/wizard.css53
-rw-r--r--toolkit/themes/windows/moz.build7
-rw-r--r--toolkit/themes/windows/mozapps/downloads/unknownContentType.css38
-rw-r--r--toolkit/themes/windows/mozapps/handling/handling.css31
-rw-r--r--toolkit/themes/windows/mozapps/jar.mn7
-rw-r--r--toolkit/themes/windows/mozapps/moz.build7
-rw-r--r--toolkit/themes/windows/mozapps/update/updates.css90
29 files changed, 1105 insertions, 0 deletions
diff --git a/toolkit/themes/windows/global/arrow/panelarrow-vertical.svg b/toolkit/themes/windows/global/arrow/panelarrow-vertical.svg
new file mode 100644
index 0000000000..50fe6b63b4
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/panelarrow-vertical.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 xmlns="http://www.w3.org/2000/svg" width="20" height="10">
+ <path d="M 0,10 L 10,0 20,10 z" fill="context-stroke"/>
+ <path d="M 1,10 L 10,1 19,10 z" fill="context-fill"/>
+</svg>
diff --git a/toolkit/themes/windows/global/autocomplete.css b/toolkit/themes/windows/global/autocomplete.css
new file mode 100644
index 0000000000..de7d9d8886
--- /dev/null
+++ b/toolkit/themes/windows/global/autocomplete.css
@@ -0,0 +1,89 @@
+/* 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 ::::: */
+
+html|input[nomatch="true"][highlightnonmatches="true"] {
+ color: red;
+}
+
+/* ::::: autocomplete popups ::::: */
+
+panel[type="autocomplete-richlistbox"] {
+ appearance: none;
+ --panel-color: FieldText;
+ --panel-background: Field;
+ --panel-padding: 0;
+}
+
+/* ::::: richlistbox autocomplete ::::: */
+
+.autocomplete-richlistbox {
+ appearance: none;
+ margin: 0;
+ border: 0;
+}
+
+.autocomplete-richlistitem[selected] {
+ background-color: SelectedItem;
+ color: SelectedItemText;
+}
+
+.ac-type-icon {
+ display: none;
+ min-width: 16px;
+ min-height: 16px;
+ max-width: 16px;
+ max-height: 16px;
+ margin-inline-start: 6px;
+ margin-inline-end: 6px;
+}
+
+.ac-site-icon {
+ display: none;
+ min-width: 16px;
+ min-height: 16px;
+ max-width: 16px;
+ max-height: 16px;
+ margin-inline-start: 6px;
+ margin-inline-end: 8px;
+ -moz-context-properties: fill;
+ fill: currentColor;
+}
+
+.ac-title {
+ margin-inline-start: 0;
+ margin-inline-end: 6px;
+}
+
+.ac-separator {
+ display: none;
+ margin-inline-start: 0;
+ margin-inline-end: 6px;
+}
+
+.ac-url {
+ display: none;
+}
+
+/* Better align the URL with the title. */
+.ac-separator,
+.ac-url {
+ margin-bottom: -2px;
+}
+
+.ac-title-text,
+.ac-separator-text,
+.ac-url-text,
+.ac-text-overflow-container {
+ padding: 0 !important;
+ margin: 0 !important;
+}
diff --git a/toolkit/themes/windows/global/button.css b/toolkit/themes/windows/global/button.css
new file mode 100644
index 0000000000..54d2a725d4
--- /dev/null
+++ b/toolkit/themes/windows/global/button.css
@@ -0,0 +1,86 @@
+/* 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 {
+ margin: 1px 5px 2px;
+ min-width: 6.3em;
+ color: ButtonText;
+ background-color: ButtonFace;
+ text-shadow: none;
+ border: 1px solid ThreeDLightShadow;
+ padding: 2px 3px;
+ /* TODO: In Windows 11 perhaps we want some border-radius */
+}
+
+button:where(:hover) {
+ background-color: -moz-ButtonHoverFace;
+}
+
+button:where(:hover:active) {
+ background-color: -moz-ButtonActiveFace;
+}
+
+.button-text {
+ margin: 0;
+ text-align: center;
+}
+
+/* .......... focused state .......... */
+
+button:focus-visible {
+ outline: var(--default-focusring);
+ outline-offset: calc(-1 * var(--default-focusring-width) - 2px);
+}
+
+@media (prefers-color-scheme: dark) {
+ button:focus-visible {
+ outline: 1px auto;
+ outline-offset: initial;
+ }
+}
+
+/* .......... default/hover/focused state .......... */
+
+@media (prefers-contrast) {
+ /* This is for high-contrast black and white themes on Windows 8 and later,
+ where the native appearance renders a different background (which
+ appears to be equivalent to the Highlight color) if the button is in the
+ default, hovered or focused state. However, if these states overlap with
+ the active, disabled, open or checked state, the appearance reverts back
+ to the default background. */
+ button:where([default="true"],:hover,:focus):where(:not(:active,[disabled="true"],[open="true"],[checked="true"])) {
+ color: HighlightText;
+ }
+}
+
+/* .......... disabled state .......... */
+
+button:where([disabled="true"]) {
+ color: GrayText;
+ background-color: ButtonFace;
+}
+
+/* ::::: menu buttons ::::: */
+
+.button-menu-dropmarker {
+ appearance: none;
+ content: url("chrome://global/skin/icons/arrow-down-12.svg");
+ -moz-context-properties: fill;
+ fill: currentColor;
+}
+
+/* ::::: plain buttons ::::: */
+
+button.plain {
+ margin: 0 !important;
+ padding: 0 !important;
+}
diff --git a/toolkit/themes/windows/global/dialog.css b/toolkit/themes/windows/global/dialog.css
new file mode 100644
index 0000000000..16e47fa412
--- /dev/null
+++ b/toolkit/themes/windows/global/dialog.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/. */
+
+/* ===== dialog.css =====================================================
+ == Styles used by the XUL dialog element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: dialog ::::: */
+
+:host {
+ padding-block: 8px 10px;
+ padding-inline: 8px 10px;
+}
+
+/* ::::: dialog buttons ::::: */
+
+button {
+ font: menu;
+ margin-top: 6px;
+}
diff --git a/toolkit/themes/windows/global/global.css b/toolkit/themes/windows/global/global.css
new file mode 100644
index 0000000000..aa4cd2b7b3
--- /dev/null
+++ b/toolkit/themes/windows/global/global.css
@@ -0,0 +1,139 @@
+/* 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.
+ ======================================================================= */
+
+@import url("chrome://global/skin/global-shared.css");
+
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+@media (prefers-contrast) {
+ :root {
+ /* In high-contrast mode on Windows, ThreeDLightShadow provides more
+ contrast than ThreeDShadow. See bug 1022564. */
+ --arrowpanel-border-color: ThreeDLightShadow;
+ }
+}
+
+/* ::::: Alert icons :::::*/
+
+.message-icon,
+.alert-dialog #infoIcon,
+.alert-icon,
+.error-icon,
+.question-icon {
+ width: 32px;
+ height: 32px;
+ -moz-context-properties: fill;
+ fill: currentColor;
+}
+
+.message-icon {
+ list-style-image: url("chrome://global/skin/icons/info.svg");
+}
+
+.alert-dialog #infoIcon,
+.alert-icon {
+ list-style-image: url("chrome://global/skin/icons/warning.svg");
+ fill: #ffa436;
+}
+
+.error-icon {
+ list-style-image: url("chrome://global/skin/icons/error.svg");
+ fill: #e22850;
+}
+
+.question-icon {
+ list-style-image: url("chrome://global/skin/icons/help.svg");
+ -moz-context-properties: fill, fill-opacity;
+ fill-opacity: 0.8;
+}
+
+/* XXX(ntim): [mode="text"] is only used by comm-central */
+
+xul|toolbar[mode="text"] .toolbarbutton-text {
+ padding: 0 !important;
+ margin: 3px 5px !important;
+}
+
+/* Separators */
+
+xul|separator:not([orient="vertical"]) {
+ height: 1.5em;
+}
+xul|separator[orient="vertical"] {
+ width: 1.5em;
+}
+
+xul|separator.thin:not([orient="vertical"]) {
+ height: 0.5em;
+}
+xul|separator.thin[orient="vertical"] {
+ width: 0.5em;
+}
+
+xul|separator.groove:not([orient="vertical"]) {
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDHighlight;
+ height: 0;
+ margin-block: 0.4em;
+}
+xul|separator.groove[orient="vertical"] {
+ border-left: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ width: 0;
+ margin-inline: 0.4em;
+}
+
+/* Input margins */
+
+html|input {
+ margin: 2px 4px;
+}
+
+/* Content select */
+
+.contentSelectDropdown-ingroup > .menu-iconic-text {
+ padding-inline-start: 20px;
+}
+
+#ContentSelectDropdown > menupopup > menucaption,
+#ContentSelectDropdown > menupopup > menuitem {
+ padding: 0 6px;
+ border-width: 0;
+}
+
+#ContentSelectDropdown > menupopup {
+ font: -moz-list;
+}
+
+#ContentSelectDropdown > menupopup > menucaption > .menu-iconic-text,
+#ContentSelectDropdown > menupopup > menuitem > .menu-iconic-text {
+ /* Padding should follow the 4/12 ratio, where 12px is the default font-size
+ with 4px being the preferred padding size. */
+ padding-block: .3333em;
+}
+
+#ContentSelectDropdown > menupopup > menucaption > .menu-iconic-text {
+ font-weight: bold;
+}
+
+#ContentSelectDropdown > menupopup > menuitem[_moz-menuactive="true"][disabled="true"] {
+ color: GrayText;
+ background-color: unset;
+}
+
+#ContentSelectDropdown > menupopup > menucaption[disabled="true"] {
+ color: GrayText;
+}
+
+#ContentSelectDropdown > .isOpenedViaTouch > menucaption > .menu-iconic-text,
+#ContentSelectDropdown > .isOpenedViaTouch > menuitem > .menu-iconic-text {
+ /* Touch padding should follow the 11/12 ratio, where 12px is the default
+ font-size with 11px being the preferred padding size. */
+ padding-block: .9167em;
+}
diff --git a/toolkit/themes/windows/global/icons/Landscape.png b/toolkit/themes/windows/global/icons/Landscape.png
new file mode 100644
index 0000000000..fad822281e
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Landscape.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Portrait.png b/toolkit/themes/windows/global/icons/Portrait.png
new file mode 100644
index 0000000000..afe9ee83f0
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Portrait.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/menu-check.svg b/toolkit/themes/windows/global/icons/menu-check.svg
new file mode 100644
index 0000000000..48778afb42
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/menu-check.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="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
+ <path d="M13.8639 3.65609C14.0533 3.85704 14.0439 4.17348 13.8429 4.36288L5.91309 11.8368C5.67573 12.0605 5.30311 12.0536 5.07417 11.8213L2.39384 9.10093C2.20003 8.90422 2.20237 8.58765 2.39907 8.39384C2.59578 8.20003 2.91235 8.20237 3.10616 8.39908L5.51192 10.8407L13.1571 3.63517C13.358 3.44577 13.6745 3.45513 13.8639 3.65609Z" fill="context-fill" fill-opacity="context-fill-opacity"/>
+</svg>
diff --git a/toolkit/themes/windows/global/icons/search-textbox.svg b/toolkit/themes/windows/global/icons/search-textbox.svg
new file mode 100644
index 0000000000..c2d9f3a8eb
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/search-textbox.svg
@@ -0,0 +1,7 @@
+<?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" width="12" height="12" viewBox="0 0 12 12">
+ <path fill="#939393" fill-rule="evenodd" d="M11.354,10.646l-0.707.707L7.295,8A4.483,4.483,0,1,1,9,4.5,4.458,4.458,0,0,1,8,7.295ZM4.5,1A3.5,3.5,0,1,0,8,4.5,3.5,3.5,0,0,0,4.5,1Z" transform="scale(-1, 1) translate(-12, 0)"/>
+</svg> \ No newline at end of file
diff --git a/toolkit/themes/windows/global/icons/warning-large.png b/toolkit/themes/windows/global/icons/warning-large.png
new file mode 100644
index 0000000000..7e30398c8c
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/warning-large.png
Binary files differ
diff --git a/toolkit/themes/windows/global/in-content/common.css b/toolkit/themes/windows/global/in-content/common.css
new file mode 100644
index 0000000000..d9ee9ba31b
--- /dev/null
+++ b/toolkit/themes/windows/global/in-content/common.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/. */
+
+@import url("chrome://global/skin/in-content/common-shared.css");
+
+@namespace html "http://www.w3.org/1999/xhtml";
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+xul|checkbox,
+xul|radio {
+ padding-inline-start: 0;
+}
+
+/* Override menulist.css */
+xul|menulist[disabled="true"] {
+ background-color: var(--in-content-button-background);
+}
+
+html|button {
+ /* XUL button min-width */
+ min-width: 6.3em;
+}
diff --git a/toolkit/themes/windows/global/jar.mn b/toolkit/themes/windows/global/jar.mn
new file mode 100644
index 0000000000..fc4d66835a
--- /dev/null
+++ b/toolkit/themes/windows/global/jar.mn
@@ -0,0 +1,21 @@
+# 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/desktop-non-mac.jar.inc.mn
+
+toolkit.jar:
+ skin/classic/global/autocomplete.css
+ skin/classic/global/button.css
+ skin/classic/global/menu.css
+ skin/classic/global/menulist.css
+ skin/classic/global/tabbox.css
+ skin/classic/global/global.css
+ skin/classic/global/printPageSetup.css
+ skin/classic/global/richlistbox.css
+ skin/classic/global/toolbar.css
+ skin/classic/global/icons/Landscape.png (icons/Landscape.png)
+ skin/classic/global/icons/menu-check.svg (icons/menu-check.svg)
+ skin/classic/global/icons/Portrait.png (icons/Portrait.png)
+ skin/classic/global/icons/warning-large.png (icons/warning-large.png)
+ skin/classic/global/in-content/common.css (in-content/common.css)
diff --git a/toolkit/themes/windows/global/menu.css b/toolkit/themes/windows/global/menu.css
new file mode 100644
index 0000000000..4868f41ed1
--- /dev/null
+++ b/toolkit/themes/windows/global/menu.css
@@ -0,0 +1,142 @@
+/* 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/menu-shared.css");
+
+/* ===== menu.css =======================================================
+ == Styles used by XUL menu-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: menu/menuitem ::::: */
+
+menubar > menu:-moz-window-inactive {
+ color: ThreeDShadow;
+}
+
+/* ..... Internal content .... */
+
+.menu-accel,
+.menu-iconic-accel,
+.menu-text,
+.menu-iconic-text {
+ margin: 0;
+ padding: 1px 0;
+}
+
+.menu-accel,
+.menu-iconic-accel {
+ margin-inline: 0.74em 1.35em;
+}
+
+.menu-iconic-icon {
+ width: 16px;
+ height: 16px;
+}
+
+.menu-iconic > .menu-iconic-left,
+.menuitem-iconic > .menu-iconic-left {
+ padding-top: 2px;
+}
+
+menuitem:is([type="checkbox"], [type="radio"]):not([checked="true"]) > .menu-iconic-left > .menu-iconic-icon {
+ display: none;
+}
+
+/* ::::: menu/menuitems in menubar ::::: */
+
+menubar > menu[_moz-menuactive="true"]:not([disabled="true"]) {
+ color: -moz-menubarhovertext;
+}
+
+menubar > menu:-moz-lwtheme {
+ appearance: none;
+ border-color: transparent;
+}
+
+menubar > menu:-moz-lwtheme:not([disabled="true"]) {
+ color: inherit;
+}
+
+menubar > menu:-moz-lwtheme[_moz-menuactive="true"]:not([disabled="true"]) {
+ background-color: SelectedItem;
+ color: SelectedItemText;
+ text-shadow: none;
+}
+
+/* ..... internal content .... */
+
+.menubar-text {
+ margin: 1px 6px 2px;
+}
+
+/* ::::: menu/menuitems in menulist popups ::::: */
+
+menulist > menupopup > menuitem,
+menulist > menupopup > menucaption,
+menulist > menupopup > menu {
+ max-width: none;
+}
+
+menulist > menupopup > menuitem {
+ padding-inline-end: 1em;
+}
+
+
+menulist > menupopup > menuitem > .menu-iconic-left,
+menulist > menupopup > menucaption > .menu-iconic-left,
+menulist > menupopup > menu > .menu-iconic-left {
+ display: none;
+}
+
+menulist > menupopup > menuitem > label,
+menulist > menupopup > menucaption > label,
+menulist > menupopup > menu > label {
+ padding-block: 0;
+}
+
+menulist > menupopup > menuitem[_moz-menuactive="true"][disabled="true"] {
+ color: GrayText;
+}
+
+menulist > menupopup > :is(menuitem, menucaption):not(.menuitem-iconic) > .menu-iconic-text {
+ margin: 0;
+}
+
+/* ::::: checkbox and radio menuitems ::::: */
+
+menupopup[needsgutter] menu:not([icon], .menu-iconic),
+menupopup[needsgutter] menuitem:not([checked="true"], [icon], .menuitem-iconic) {
+ padding-inline-start: 36px;
+}
+
+.menu-iconic > .menu-iconic-left,
+.menuitem-iconic > .menu-iconic-left {
+ margin-inline-end: 8px;
+}
+
+menuitem[checked="true"] {
+ padding-inline-start: 12px;
+}
+
+/* We need to do something to override the default style for selected
+ checkboxes and radio buttons because the native drawing we use on other
+ Windows versions looks pretty bad with the Win10 styles, so for now we'll
+ insert a generic checkmark icon for both types. */
+menuitem[checked="true"] > .menu-iconic-left {
+ -moz-context-properties: fill, fill-opacity;
+ fill: currentColor;
+ fill-opacity: var(--menu-icon-opacity);
+ list-style-image: url("chrome://global/skin/icons/menu-check.svg");
+ width: 16px;
+ margin-inline-end: 8px;
+}
+
+/* ::::: menuseparator ::::: */
+
+menuseparator {
+ /* The side padding should align with the start of the menu item text. */
+ padding-inline: 1em;
+}
diff --git a/toolkit/themes/windows/global/menulist.css b/toolkit/themes/windows/global/menulist.css
new file mode 100644
index 0000000000..c89fc73616
--- /dev/null
+++ b/toolkit/themes/windows/global/menulist.css
@@ -0,0 +1,29 @@
+/* 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/menulist-shared.css");
+
+:host([native]) {
+ margin: 2px 4px;
+ color: FieldText;
+}
+
+@media (prefers-contrast) {
+ :host([native]:not([open="true"]):focus) > #label-box {
+ background-color: SelectedItem;
+ color: SelectedItemText;
+ }
+}
+
+:host([native]:not([open="true"]):focus-visible) > #label-box {
+ outline: var(--default-focusring);
+}
+
+:host([native]) :is(image, label) {
+ margin-block: -1px;
+}
+
+:host([native]) dropmarker {
+ margin-inline: 3px -3px;
+}
diff --git a/toolkit/themes/windows/global/moz.build b/toolkit/themes/windows/global/moz.build
new file mode 100644
index 0000000000..d988c0ff9b
--- /dev/null
+++ b/toolkit/themes/windows/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"]
diff --git a/toolkit/themes/windows/global/printPageSetup.css b/toolkit/themes/windows/global/printPageSetup.css
new file mode 100644
index 0000000000..eec8315f8b
--- /dev/null
+++ b/toolkit/themes/windows/global/printPageSetup.css
@@ -0,0 +1,26 @@
+/* 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/. */
+
+fieldset {
+ border: 0.5px groove ThreeDLightShadow;
+ margin: 6px 3px;
+}
+
+.groupbox-body {
+ /* We cannot use padding on the groupbox due to its -moz-appearance. */
+ margin: 3px 3px 6px;
+}
+
+.portrait-page .radio-icon {
+ list-style-image: url("chrome://global/skin/icons/Portrait.png");
+}
+
+.landscape-page .radio-icon {
+ list-style-image: url("chrome://global/skin/icons/Landscape.png");
+}
+
+#header-footer-grid {
+ display: grid;
+ grid-template-columns: auto auto auto;
+}
diff --git a/toolkit/themes/windows/global/richlistbox.css b/toolkit/themes/windows/global/richlistbox.css
new file mode 100644
index 0000000000..316f00e9c3
--- /dev/null
+++ b/toolkit/themes/windows/global/richlistbox.css
@@ -0,0 +1,121 @@
+/* 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");
+
+richlistbox {
+ margin: 2px 4px;
+ background-color: Field;
+ color: FieldText;
+ border: 1px solid ThreeDShadow;
+}
+
+richlistbox[disabled="true"] {
+ color: GrayText;
+}
+
+richlistitem[selected="true"] {
+ background-color: -moz-cellhighlight;
+ color: -moz-cellhighlighttext;
+}
+
+richlistbox:where(:focus) > richlistitem[selected="true"] {
+ background-color: SelectedItem;
+ color: SelectedItemText;
+}
+
+richlistbox[seltype="multiple"]:focus > richlistitem[current="true"],
+richlistbox.theme-listbox:focus > richlistitem[current="true"] {
+ outline: var(--default-focusring);
+ outline-color: SelectedItem;
+ outline-offset: calc(-1 * var(--default-focusring-width));
+}
+
+richlistbox[seltype="multiple"]:focus > richlistitem[current="true"][selected="true"],
+richlistbox.theme-listbox:focus > richlistitem[current="true"][selected="true"] {
+ outline-color: #F3D982; /* TODO: find a suitable system color */
+}
+
+richlistbox.theme-listbox > richlistitem {
+ border: 1px solid transparent;
+}
+
+richlistbox.theme-listbox > richlistitem[selected="true"] {
+ background-color: -moz-cellhighlight;
+ color: -moz-cellhighlighttext;
+}
+
+richlistbox.theme-listbox:focus > richlistitem[selected="true"] {
+ background-color: SelectedItem;
+ color: SelectedItemText;
+}
+
+richlistbox.theme-listbox > richlistitem > label {
+ margin: 0;
+ padding-block: 0 1px;
+ padding-inline: 4px 0;
+ white-space: nowrap;
+}
+
+@media not (prefers-contrast) {
+ richlistbox.theme-listbox > richlistitem {
+ --listitem-selectedTextColor: rgb(0,0,0);
+ --listitem-selectedColor: rgb(217,217,217);
+ --listitem-selectedBorder: var(--listitem-selectedColor);
+ --listitem-selectedBottomBorder: rgb(204,204,204);
+ --listitem-selectedBackground: var(--listitem-selectedColor);
+ --listitem-selectedImage: none;
+ --listitem-selectedCurrentBorder: rgb(123,195,255);
+ --listitem-selectedFocusColor: rgb(205,232,255);
+ --listitem-selectedFocusBorder: var(--listitem-selectedFocusColor);
+ --listitem-selectedFocusBottomBorder: rgb(165,214,255);
+ --listitem-selectedFocusBackground: var(--listitem-selectedFocusColor);
+ --listitem-selectedFocusImage: none;
+ --listitem-selectedFocusCurrentBorder: var(--listitem-selectedFocusColor);
+ --listitem-selectedFocusCurrentBottomBorder: var(--listitem-selectedFocusBottomBorder);
+ --listitem-selectedFocusCurrentBackground: var(--listitem-selectedFocusColor);
+
+ color: FieldText;
+ margin-inline: 1px;
+ padding-block: 1px;
+ border-width: 1px;
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+ }
+
+ richlistbox.theme-listbox > richlistitem[selected="true"] {
+ border-top-color: var(--listitem-selectedBorder);
+ border-inline-color: var(--listitem-selectedBorder);
+ border-bottom-color: var(--listitem-selectedBottomBorder);
+ background-image: var(--listitem-selectedImage);
+ background-color: var(--listitem-selectedBackground);
+ color: var(--listitem-selectedTextColor);
+ }
+
+ richlistbox.theme-listbox:focus > richlistitem[selected="true"] {
+ border-top-color: var(--listitem-selectedFocusBorder);
+ border-inline-color: var(--listitem-selectedFocusBorder);
+ border-bottom-color: var(--listitem-selectedFocusBottomBorder);
+ background-image: var(--listitem-selectedFocusImage);
+ background-color: var(--listitem-selectedFocusBackground);
+ color: var(--listitem-selectedTextColor);
+ }
+
+ richlistbox.theme-listbox:focus > richlistitem[current="true"] {
+ border-color: var(--listitem-selectedCurrentBorder);
+ outline: none;
+ }
+
+ richlistbox.theme-listbox:focus > richlistitem[selected="true"][current="true"] {
+ border-top-color: var(--listitem-selectedFocusCurrentBorder);
+ border-inline-color: var(--listitem-selectedFocusCurrentBorder);
+ border-bottom-color: var(--listitem-selectedFocusCurrentBottomBorder);
+ background-color: var(--listitem-selectedFocusCurrentBackground);
+ outline: none;
+ }
+}
+
+listheader {
+ color: -moz-DialogText;
+}
diff --git a/toolkit/themes/windows/global/tabbox.css b/toolkit/themes/windows/global/tabbox.css
new file mode 100644
index 0000000000..32d13a384b
--- /dev/null
+++ b/toolkit/themes/windows/global/tabbox.css
@@ -0,0 +1,51 @@
+/* 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");
+
+/* ::::: tabpanels ::::: */
+
+tabpanels {
+ appearance: auto;
+ -moz-default-appearance: tabpanels;
+ padding: 8px;
+ color: -moz-DialogText;
+ /* These don't have non-native theme support, so force them to light mode to
+ * use the native windows theme. */
+ color-scheme: light;
+}
+
+/* ::::: tab ::::: */
+
+tab {
+ appearance: auto;
+ -moz-default-appearance: tab;
+ margin-top: 2px;
+ padding: 1px 4px 2px;
+ color: -moz-DialogText;
+ /* These don't have non-native theme support, so force them to light mode to
+ * use the native windows theme. */
+ color-scheme: light;
+}
+
+tab:where([visuallyselected]) {
+ margin-top: 0;
+ padding: 1px 6px 4px;
+}
+
+tab:where(:first-of-type[visuallyselected]) {
+ padding-inline: 5px;
+}
+
+.tab-text {
+ margin: 0 !important;
+}
+
+tab:-moz-focusring > .tab-middle {
+ outline: var(--default-focusring);
+}
diff --git a/toolkit/themes/windows/global/tabprompts.css b/toolkit/themes/windows/global/tabprompts.css
new file mode 100644
index 0000000000..2b5fbdf55f
--- /dev/null
+++ b/toolkit/themes/windows/global/tabprompts.css
@@ -0,0 +1,25 @@
+/* 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/. */
+
+/* Tab Modal Prompt boxes */
+.tabModalBackground,
+tabmodalprompt {
+ background-color: hsla(0,0%,10%,.5);
+}
+
+tabmodalprompt {
+ font-family: sans-serif; /* use content font not system UI font */
+}
+
+.tabmodalprompt-mainContainer {
+ color: FieldText;
+ background-color: Field;
+ border-radius: 2px;
+ border: 1px solid threeDDarkShadow;
+}
+
+.tabmodalprompt-buttonContainer {
+ background-color: hsla(0,0%,0%,.05);
+ border-top: 1px solid hsla(0,0%,0%,.05);
+}
diff --git a/toolkit/themes/windows/global/toolbar.css b/toolkit/themes/windows/global/toolbar.css
new file mode 100644
index 0000000000..45b79eafdd
--- /dev/null
+++ b/toolkit/themes/windows/global/toolbar.css
@@ -0,0 +1,58 @@
+/* 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 {
+ appearance: auto;
+ -moz-default-appearance: toolbox;
+}
+
+toolbar {
+ appearance: auto;
+ -moz-default-appearance: toolbar;
+ min-width: 1px;
+ min-height: 19px;
+}
+
+toolbar:first-child {
+ min-width: 1px;
+}
+
+toolbox:-moz-lwtheme,
+toolbar:-moz-lwtheme {
+ appearance: none;
+}
+
+toolbarseparator {
+ appearance: auto;
+ -moz-default-appearance: separator;
+}
+
+toolbarspacer {
+ width: 15px;
+}
+
+toolbarpaletteitem {
+ cursor: grab;
+}
+
+/* Drag and drop feedback */
+
+toolbarpaletteitem[place="toolbar"] {
+ margin-inline: -2px;
+ border-inline: 2px solid transparent;
+}
+
+toolbarpaletteitem[dragover="left"] {
+ border-left-color: #000000;
+}
+
+toolbarpaletteitem[dragover="right"] {
+ border-right-color: #000000;
+}
diff --git a/toolkit/themes/windows/global/tree/sort-asc.svg b/toolkit/themes/windows/global/tree/sort-asc.svg
new file mode 100644
index 0000000000..917fa96cf3
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/sort-asc.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 xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 7" width="9" height="7" fill="context-fill">
+ <path d="M4.5 1.24a.9.9 0 0 0-.7.2l-2.6 2.7c-.8.87.43 2.1 1.3 1.3l2-2 2 2c.84.53 1.8-.5 1.2-1.3l-2.6-2.7a.9.9 0 0 0-.6-.2z"/>
+</svg>
diff --git a/toolkit/themes/windows/global/tree/sort-dsc.svg b/toolkit/themes/windows/global/tree/sort-dsc.svg
new file mode 100644
index 0000000000..97cbfc6917
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/sort-dsc.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 xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 7" width="9" height="7" fill="context-fill">
+ <path d="M4.5 5.67a.9.9 0 0 1-.7-.2l-2.6-2.7c-.8-.87.43-2.1 1.3-1.3l2 2 2-2c.84-.53 1.8.5 1.2 1.3l-2.6 2.7a.9.9 0 0 1-.6.2z"/>
+</svg>
diff --git a/toolkit/themes/windows/global/wizard.css b/toolkit/themes/windows/global/wizard.css
new file mode 100644
index 0000000000..5a097980dc
--- /dev/null
+++ b/toolkit/themes/windows/global/wizard.css
@@ -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/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+.wizard-header {
+ border-bottom: 2px groove ThreeDFace;
+ background-color: Window;
+ color: WindowText;
+}
+
+.wizard-header-box-1 {
+ padding: 5px 0;
+}
+
+.wizard-header-label {
+ margin-inline-start: 23px;
+ font-weight: bold;
+}
+
+.wizard-header-description {
+ margin-inline-start: 44px;
+}
+
+:host([data-branded="true"]) .wizard-header-icon {
+ list-style-image: url("chrome://branding/content/icon128.png");
+ width: 48px;
+ height: 48px;
+ margin-inline-end: 5px;
+}
+
+html|*.wizard-page-box {
+ margin: 10px 44px;
+}
+
+.wizard-buttons-separator {
+ margin-bottom: 0 !important;
+}
+
+.wizard-buttons-box-2 {
+ margin: 10px;
+}
+
+.wizard-button[dlgtype="finish"],
+.wizard-button[dlgtype="next"] {
+ margin-inline-start: 0 !important;
+}
+
+.wizard-button[dlgtype="back"] {
+ margin-inline-end: 0 !important;
+}
diff --git a/toolkit/themes/windows/moz.build b/toolkit/themes/windows/moz.build
new file mode 100644
index 0000000000..096017b685
--- /dev/null
+++ b/toolkit/themes/windows/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/.
+
+DIRS += ["global", "mozapps"]
diff --git a/toolkit/themes/windows/mozapps/downloads/unknownContentType.css b/toolkit/themes/windows/mozapps/downloads/unknownContentType.css
new file mode 100644
index 0000000000..53e2f0ce00
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/downloads/unknownContentType.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/. */
+
+#type {
+ flex: 1;
+ background-color: transparent;
+ color: inherit;
+}
+
+#from {
+ margin-top: 1px;
+}
+
+#location {
+ font-weight: bold;
+}
+
+#contentTypeImage {
+ height: 16px;
+ width: 16px;
+ margin-block: 0;
+ margin-inline-start: 0;
+ margin-inline-end: 5px;
+}
+
+.small-indent {
+ margin-inline: 15px;
+}
+
+.small-indent label {
+ margin-inline-start: 0;
+}
+
+#source,
+#location {
+ contain: inline-size;
+}
diff --git a/toolkit/themes/windows/mozapps/handling/handling.css b/toolkit/themes/windows/mozapps/handling/handling.css
new file mode 100644
index 0000000000..1f18f18ba5
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/handling/handling.css
@@ -0,0 +1,31 @@
+/* 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[type] {
+ min-height: 36px; /* Don't forget to update the richlistbox height! */
+ padding-inline-start: 2px;
+ }
+
+richlistitem {
+ align-items: center;
+}
+
+richlistbox {
+ /* 3 items high, plus 4px for top and bottom margins, less 2px for border */
+ min-height: 110px;
+}
+
+.name {
+ font-weight: bold;
+}
+
+.description {
+ color: GrayText;
+}
+
+@media (prefers-contrast) {
+ richlistitem[selected] .description {
+ color: inherit;
+ }
+}
diff --git a/toolkit/themes/windows/mozapps/jar.mn b/toolkit/themes/windows/mozapps/jar.mn
new file mode 100644
index 0000000000..2f031eb5be
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/jar.mn
@@ -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/.
+
+toolkit.jar:
+#include ../../shared/mozapps.inc.mn
+ skin/classic/mozapps/update/updates.css (update/updates.css)
diff --git a/toolkit/themes/windows/mozapps/moz.build b/toolkit/themes/windows/mozapps/moz.build
new file mode 100644
index 0000000000..d988c0ff9b
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/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"]
diff --git a/toolkit/themes/windows/mozapps/update/updates.css b/toolkit/themes/windows/mozapps/update/updates.css
new file mode 100644
index 0000000000..d971beba90
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/update/updates.css
@@ -0,0 +1,90 @@
+/* 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/. */
+
+/* Elevation Dialog */
+/* Specify the size for the UI so it has a fixed size. 3rd
+ party themes should typically specify the same values. */
+#elevationBox, .update-content {
+ height: 360px;
+ width: 700px;
+}
+
+/* Remove margin and padding so the inner UI will extend to the edge of the
+ window. 3rd party themes should typically specify the same values. */
+#updates {
+ margin: 0;
+ padding: 0;
+}
+
+.update-header {
+ border-bottom: 2px groove ThreeDFace;
+ background-color: Window;
+ color: WindowText;
+ padding: 0 10px;
+}
+
+.update-header-box-1 {
+ padding: 5px 0;
+}
+
+.update-header-label {
+ font-weight: bold;
+}
+
+#update-button-box {
+ margin: 0;
+ padding: 5px 10px 10px;
+}
+
+.update-content {
+ padding: 10px;
+}
+
+.update-buttons-separator {
+ margin-block: 0 !important;
+}
+
+#updateFinishedName {
+ font-weight: bold;
+ font-size: larger;
+}
+
+/* Update History Window */
+update {
+ border-bottom: 1px dotted #C0C0C0;
+}
+
+.update-name {
+ font-weight: bold;
+}
+
+.update-label-column {
+ align-items: flex-end;
+}
+
+.update-type {
+ font-weight: bold;
+ color: #990000;
+}
+
+.update-status-value,
+.update-installedOn-value {
+ margin-inline-start: 1ch;
+}
+
+#historyItems {
+ height: 200px;
+ flex: 1 auto;
+ margin: 1px 5px;
+}
+
+#historyItems .update {
+ padding: 5px;
+ display: flex;
+ flex-direction: column;
+}
+
+.update-name {
+ flex: 1;
+}