From 43a97878ce14b72f0981164f87f2e35e14151312 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:22:09 +0200 Subject: Adding upstream version 110.0.1. Signed-off-by: Daniel Baumann --- browser/themes/shared/preferences/android-menu.svg | 6 + .../themes/shared/preferences/category-general.svg | 7 + .../preferences/category-privacy-security.svg | 6 + .../themes/shared/preferences/category-search.svg | 6 + .../themes/shared/preferences/category-sync.svg | 7 + .../shared/preferences/containers-dialog.css | 50 + browser/themes/shared/preferences/containers.css | 54 + browser/themes/shared/preferences/dialog.css | 42 + browser/themes/shared/preferences/face-sad.svg | 9 + browser/themes/shared/preferences/face-smile.svg | 14 + .../themes/shared/preferences/fxaPairDevice.css | 122 ++ browser/themes/shared/preferences/ios-menu.svg | 6 + browser/themes/shared/preferences/mozilla-logo.svg | 5 + .../themes/shared/preferences/no-search-bar.svg | 20 + browser/themes/shared/preferences/preferences.css | 1471 ++++++++++++++++++++ browser/themes/shared/preferences/privacy.css | 364 +++++ browser/themes/shared/preferences/relay-logo.svg | 7 + .../shared/preferences/search-arrow-indicator.svg | 13 + browser/themes/shared/preferences/search-bar.svg | 25 + browser/themes/shared/preferences/search.css | 100 ++ .../themes/shared/preferences/siteDataSettings.css | 64 + browser/themes/shared/preferences/vpn-logo.svg | 4 + 22 files changed, 2402 insertions(+) create mode 100644 browser/themes/shared/preferences/android-menu.svg create mode 100644 browser/themes/shared/preferences/category-general.svg create mode 100644 browser/themes/shared/preferences/category-privacy-security.svg create mode 100644 browser/themes/shared/preferences/category-search.svg create mode 100644 browser/themes/shared/preferences/category-sync.svg create mode 100644 browser/themes/shared/preferences/containers-dialog.css create mode 100644 browser/themes/shared/preferences/containers.css create mode 100644 browser/themes/shared/preferences/dialog.css create mode 100644 browser/themes/shared/preferences/face-sad.svg create mode 100644 browser/themes/shared/preferences/face-smile.svg create mode 100644 browser/themes/shared/preferences/fxaPairDevice.css create mode 100644 browser/themes/shared/preferences/ios-menu.svg create mode 100644 browser/themes/shared/preferences/mozilla-logo.svg create mode 100644 browser/themes/shared/preferences/no-search-bar.svg create mode 100644 browser/themes/shared/preferences/preferences.css create mode 100644 browser/themes/shared/preferences/privacy.css create mode 100644 browser/themes/shared/preferences/relay-logo.svg create mode 100644 browser/themes/shared/preferences/search-arrow-indicator.svg create mode 100644 browser/themes/shared/preferences/search-bar.svg create mode 100644 browser/themes/shared/preferences/search.css create mode 100644 browser/themes/shared/preferences/siteDataSettings.css create mode 100644 browser/themes/shared/preferences/vpn-logo.svg (limited to 'browser/themes/shared/preferences') diff --git a/browser/themes/shared/preferences/android-menu.svg b/browser/themes/shared/preferences/android-menu.svg new file mode 100644 index 0000000000..1084f264a8 --- /dev/null +++ b/browser/themes/shared/preferences/android-menu.svg @@ -0,0 +1,6 @@ + + + + diff --git a/browser/themes/shared/preferences/category-general.svg b/browser/themes/shared/preferences/category-general.svg new file mode 100644 index 0000000000..952164e863 --- /dev/null +++ b/browser/themes/shared/preferences/category-general.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/browser/themes/shared/preferences/category-privacy-security.svg b/browser/themes/shared/preferences/category-privacy-security.svg new file mode 100644 index 0000000000..deecf8702f --- /dev/null +++ b/browser/themes/shared/preferences/category-privacy-security.svg @@ -0,0 +1,6 @@ + + + + diff --git a/browser/themes/shared/preferences/category-search.svg b/browser/themes/shared/preferences/category-search.svg new file mode 100644 index 0000000000..942846b673 --- /dev/null +++ b/browser/themes/shared/preferences/category-search.svg @@ -0,0 +1,6 @@ + + + + diff --git a/browser/themes/shared/preferences/category-sync.svg b/browser/themes/shared/preferences/category-sync.svg new file mode 100644 index 0000000000..0af29ec1e1 --- /dev/null +++ b/browser/themes/shared/preferences/category-sync.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/browser/themes/shared/preferences/containers-dialog.css b/browser/themes/shared/preferences/containers-dialog.css new file mode 100644 index 0000000000..870c4141eb --- /dev/null +++ b/browser/themes/shared/preferences/containers-dialog.css @@ -0,0 +1,50 @@ +/* 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/content/usercontext/usercontext.css"); + +#name { + -moz-box-flex: 1; +} + +.radio-buttons { + -moz-box-orient: horizontal; + margin-inline-start: 0.35rem; +} + +.radio-buttons > radio { + user-select: none; + outline: 2px solid transparent; + outline-offset: 4px; + min-block-size: 24px; + min-inline-size: 24px; + border-radius: 50%; + padding: 2px; + margin: 9px; +} + +.icon-buttons > radio > .userContext-icon { + fill: var(--in-content-text-color); +} + +.radio-buttons > radio { + padding-inline-start: 2px; +} + +radio > .userContext-icon { + inline-size: 22px; + block-size: 22px; +} + +.radio-buttons > radio[selected=true] { + outline-color: var(--in-content-text-color); +} + +.radio-buttons > radio[focused=true] { + outline-color: var(--in-content-accent-color); +} + +.radio-buttons > radio:hover:active { + outline-color: var(--in-content-accent-color-active); +} diff --git a/browser/themes/shared/preferences/containers.css b/browser/themes/shared/preferences/containers.css new file mode 100644 index 0000000000..43081ce8a4 --- /dev/null +++ b/browser/themes/shared/preferences/containers.css @@ -0,0 +1,54 @@ +/* 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/content/usercontext/usercontext.css"); + +#category-containers { + display: none; +} + +.container-header-links { + margin-block-end: 15px; +} + +[data-identity-icon] { + margin: 0; + margin-inline-end: 16px; +} + +#containersView { + border: 0; + background: transparent; + margin-block-end: 8px; +} + +#containersView richlistitem { + padding-block: 4px; + border-block-end: 1px solid var(--in-content-border-color); +} + +#containersView richlistitem > .container-buttons { + margin-inline-end: 4px; +} + +/* Crop the label at the end using CSS. This isn't using XUL crop + * and a value attribute because those labels cannot be highlighted + * by the prefs' find-in-page feature. + */ +.userContext-label-inprefs { + display: -moz-box; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.userContext-icon-inprefs { + margin-inline: 4px 10px; + width: 24px; + height: 24px; +} + +#containersView richlistitem:last-of-type { + border-block-end: 0; +} diff --git a/browser/themes/shared/preferences/dialog.css b/browser/themes/shared/preferences/dialog.css new file mode 100644 index 0000000000..dcd7783cca --- /dev/null +++ b/browser/themes/shared/preferences/dialog.css @@ -0,0 +1,42 @@ +/* - 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/. */ + +window, +dialog { + appearance: none; + background-color: var(--in-content-page-background); + color: var(--in-content-page-color); + margin: 0; + padding: 0; +} + +/* Add some padding around the contents of the dialog */ +dialog { + padding: 6px; +} + +.contentPane, +dialog::part(content-box) { + -moz-box-flex: 1; + /* This allows the focus ring to display fully when scrolling is enabled. */ + padding: 4px; +} + +.contentPane.doScroll, +dialog.doScroll::part(content-box) { + overflow-y: auto; + contain: size; +} + +tree:not(#rejectsTree) { + height: 15em; +} + +.actionButtons { + margin: 3px 0 0; +} + +menulist label { + font-weight: unset; +} diff --git a/browser/themes/shared/preferences/face-sad.svg b/browser/themes/shared/preferences/face-sad.svg new file mode 100644 index 0000000000..7e50710648 --- /dev/null +++ b/browser/themes/shared/preferences/face-sad.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/browser/themes/shared/preferences/face-smile.svg b/browser/themes/shared/preferences/face-smile.svg new file mode 100644 index 0000000000..6ab7f26131 --- /dev/null +++ b/browser/themes/shared/preferences/face-smile.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/browser/themes/shared/preferences/fxaPairDevice.css b/browser/themes/shared/preferences/fxaPairDevice.css new file mode 100644 index 0000000000..51183b84c7 --- /dev/null +++ b/browser/themes/shared/preferences/fxaPairDevice.css @@ -0,0 +1,122 @@ +/* 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/. */ + +#fxaPairDeviceDialog { + padding-bottom: 2em; +} + +#pairTitle { + font-size: 2.1rem; + font-weight: bold; + padding-top: 12px; + text-align: center; +} + +.pairHeading { + font-size: 1.08em; +} + +.menu-icon { + width: 20px; + height: 20px; + vertical-align: middle; + -moz-context-properties: fill; + fill: currentColor; +} + +#qrCodeDisplay { + width: 450px; + margin: auto; +} + +#qrWrapper { + position: relative; + width: 200px; + height: 200px; + margin: auto; + margin-top: 28px; +} + +#qrContainer { + height: 200px; + width: 200px; + background-size: contain; + image-rendering: -moz-crisp-edges; + transition: filter 250ms cubic-bezier(.07,.95,0,1); +} + +#qrWrapper:not([pairing-status="ready"]) #qrContainer { + opacity: 0.05; + filter: blur(3px); +} + +#qrWrapper:not([pairing-status="loading"]) #qrSpinner { + opacity: 0; +} + +#qrSpinner { + display: block; + position: absolute; + height: 250px; + width: 250px; +} + +#qrSpinner::before { + background-image: url("chrome://browser/skin/fxa/fxa-spinner.svg"); + animation: 0.9s spin infinite linear; + background-size: 36px; + background-repeat: no-repeat; + background-position: center; + display: block; + position: absolute; + height: 200px; + width: 200px; + content: ""; + transition: opacity 250ms cubic-bezier(.07,.95,0,1); + will-change: transform; + margin-inline: auto; +} + +#qrWrapper:not([pairing-status="error"]) #qrError { + display: none; +} + +#qrError { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + width: 200px; /* Same as #qrContainer */ + position: absolute; + inset: 0; + margin-inline: auto; + transition: opacity 250ms cubic-bezier(.07,.95,0,1); + cursor: pointer; +} + +.qr-error-text { + text-align: center; + user-select: none; + display: block; + color: #2484C6; + cursor: pointer; +} + +#refresh-qr { + width: 36px; + height: 36px; + background-image: url("chrome://global/skin/icons/reload.svg"); + background-size: contain; + -moz-context-properties: fill; + fill: #2484C6; +} + +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} diff --git a/browser/themes/shared/preferences/ios-menu.svg b/browser/themes/shared/preferences/ios-menu.svg new file mode 100644 index 0000000000..15183a814d --- /dev/null +++ b/browser/themes/shared/preferences/ios-menu.svg @@ -0,0 +1,6 @@ + + + + diff --git a/browser/themes/shared/preferences/mozilla-logo.svg b/browser/themes/shared/preferences/mozilla-logo.svg new file mode 100644 index 0000000000..af66da5135 --- /dev/null +++ b/browser/themes/shared/preferences/mozilla-logo.svg @@ -0,0 +1,5 @@ + + diff --git a/browser/themes/shared/preferences/no-search-bar.svg b/browser/themes/shared/preferences/no-search-bar.svg new file mode 100644 index 0000000000..b5c17b5f26 --- /dev/null +++ b/browser/themes/shared/preferences/no-search-bar.svg @@ -0,0 +1,20 @@ + + + + + + + + diff --git a/browser/themes/shared/preferences/preferences.css b/browser/themes/shared/preferences/preferences.css new file mode 100644 index 0000000000..12beaa7e01 --- /dev/null +++ b/browser/themes/shared/preferences/preferences.css @@ -0,0 +1,1471 @@ +/* - 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 html "http://www.w3.org/1999/xhtml"; + +/* Global rules */ +* { + user-select: text; +} + +#preferences-root { + text-rendering: optimizeLegibility; + -moz-box-layout: flex; +} + +@media not print { + #preferences-root, + #preferences-body { + height: 100%; + overflow: hidden; + } +} + +#preferences-root, +#preferences-body { + margin: 0; + padding: 0; + width: 100%; +} + +#preferences-body { + vertical-align: top; /* See bug 1606130 */ + display: -moz-box; + -moz-box-orient: vertical; + + --main-pane-width: 664px; +} + +/* + The stack has some very tall content but it shouldn't be taller than the + viewport (and we know the tall content will still be accessible via scrollbars + regardless if the stack has a shorter height). So we use min-height: 0 to allow + the stack to be smaller than its content height so it can fit the viewport size. +*/ +#preferences-stack { + min-height: 0; +} + +.main-content { + padding-top: 0; + /* the 32px min-height, plus 20+30px margin below, plus some leeway: */ + scroll-padding-top: 90px; + contain: inline-size; +} + +.pane-container { + /* A workaround to keep the container always float on the `top: 0` (Bug 1377009) */ + display: block; + width: min(100%, var(--main-pane-width)); + min-width: min-content; +} + +#mainPrefPane { + width: 100%; + padding: 0; +} + +groupbox[data-category] { + margin: 0 0 32px; +} + +html|h1 { + margin: 0 0 8px; + font-size: 1.46em; + font-weight: 300; + line-height: 1.3em; +} + +html|h2 { + margin: 16px 0 4px; + font-size: 1.14em; + line-height: normal; +} + +description.indent, +.indent:not(#browserPrivateEngineSelection) > description { + color: var(--in-content-deemphasized-text); +} + +button, +treecol, +html|option { + /* override the * rule */ + user-select: none; +} + +/* Buttons get a default min-width in XUL. When they also have flex, they will + * be large enough anyway, and we don't want them to become smaller than their inner + * text which would then overflow the button. Set min-width back to auto for that: + */ +button[flex] { + min-width: auto; +} + +description, +label { + line-height: 1.8em; + margin: 0; +} + +.tip-caption { + font-size: .9em; +} + +menulist::part(label), +menuitem > label, +button > hbox > label { + line-height: unset; +} + +.indent { + /* This should match the checkboxes/radiobuttons' width and inline margin, + such that when we have a toggle with a label followed by another element + with this class, the other element's text aligns with the toggle label. */ + margin-inline-start: 22px !important; +} + +checkbox { + margin-inline: 0; +} + +.tail-with-learn-more { + margin-inline: 0 10px; +} + +/* Add a bit of space to the end of descriptions to + * leave margin with e.g. additional buttons on the side. */ +.description-with-side-element { + margin-inline-end: 10px !important; +} + +.learnMore { + margin-inline-start: 0; + font-weight: normal; + white-space: nowrap; +} + +.accessory-button { + min-width: 150px; + margin: 4px 0; +} + +.spotlight { + background-color: color-mix(in srgb, var(--in-content-accent-color) 15%, transparent); + outline: var(--in-content-accent-color) 1px dotted; + animation: fade-out 0.5s ease-out 2s forwards; + /* Show the border to spotlight the components in high-contrast mode. */ + border: 1px solid transparent; + border-radius: 2px; +} + +@keyframes fade-out { + 100% { + background-color: transparent; + outline-color: transparent; + } +} + +[data-subcategory] { + margin-inline: -4px; + padding-inline: 4px; +} + +.ac-site-icon { + display: -moz-box; +} + +/* Subcategory title */ + +/** + * The first subcategory title for each category should not have margin-top. + */ + +.subcategory:not([hidden]) ~ .subcategory { + margin-top: 16px; + padding-top: 16px; + border-top: 1px solid var(--in-content-border-color); +} + +/* Category List */ + +#categories { + overflow: visible !important; /* Cancel scrollbar and do not clip overflow content when window size goes very small */ + padding: 1px; /* Adding padding around richlistitem in order to make entire keyboard focusing outline visible */ +} + +#category-general > .category-icon { + list-style-image: url("chrome://browser/skin/preferences/category-general.svg"); +} + +#category-home > .category-icon { + list-style-image: url("chrome://browser/skin/home.svg"); +} + +#category-search > .category-icon { + list-style-image: url("chrome://browser/skin/preferences/category-search.svg"); +} + +#category-privacy > .category-icon { + list-style-image: url("chrome://browser/skin/preferences/category-privacy-security.svg"); +} + +#category-sync > .category-icon { + list-style-image: url("chrome://browser/skin/preferences/category-sync.svg"); +} + +#category-experimental > .category-icon { + list-style-image: url("chrome://global/skin/icons/experiments.svg"); +} + +#category-more-from-mozilla > .category-icon { + list-style-image: url("chrome://browser/skin/preferences/mozilla-logo.svg"); +} + +/* All panes */ + +.info-icon, +.androidIcon, +.iOSIcon { + -moz-context-properties: fill; + fill: currentColor; +} + +/* General Pane */ + +.is-default > #isNotDefaultPane, +:not(.is-default) > #isDefaultPane { + visibility: hidden; +} + +#isDefaultLabel, +#isNotDefaultLabel { + font-weight: 600; +} + +#browserContainersExtensionContent { + padding-block: 5px; +} + +.extension-controlled { + margin-block: 18px; +} + +.extension-controlled-icon { + height: 20px; + margin: 2px 0 6px; + vertical-align: middle; + width: 20px; + -moz-context-properties: fill; + fill: currentColor; +} + +.extension-controlled-disabled { + -moz-context-properties: fill; + color: GrayText; + fill: currentColor; +} + +.extension-controlled-disabled > .extension-controlled-button { + display: none; +} + +.extension-controlled-icon.close-icon { + height: 30px; + width: 30px; + margin-inline-start: 5px; +} + +#getStarted { + font-size: 90%; +} + +#colors { + margin-inline-start: 5px; +} + +#FontsDialog menulist:empty { + /* When there's no menupopup, while the font builder is running, + * the height of the menulist would otherwise shrink. This throws + * off the height determination SubDialog.sys.mjs does, which then + * leads to content being cut off. Fix by enforcing a minimum height + * when there's no content: */ + min-height: max(32px, calc(1.4em + 16px)); +} + +#useDocumentColors { + margin: 4px 0; +} + +#translationAttributionImage { + width: 70px; + cursor: pointer; +} + +#activeLanguages > richlistitem { + padding: 0.3em; +} + +#saveWhere { + -moz-box-align: center; +} + +#saveTo { + margin-inline-end: 1em; +} + +#downloadFolder { + -moz-box-flex: 1; + margin-block: 4px; + margin-inline-start: 0; + padding-inline-start: 30px; + background-repeat: no-repeat; + background-size: 16px; + background-position: center left 8px; +} + +#downloadFolder:-moz-locale-dir(rtl) { + background-position-x: right 8px; +} + +#updateBox { + margin-block: 4px 32px; +} + +/* Work around bug 560067 - animated images in visibility: hidden + * still eat CPU. */ +#updateDeck > *:not(.deck-selected) > .update-throbber { + display: none; +} + +#updateDeck > hbox > button { + margin-block: 0; + margin-inline-end: 0; +} + +#updateDeck > hbox > label { + -moz-box-flex: 1; +} + +.manualLink { + margin-inline-start: 6px !important; +} + +#updateRadioGroup > radio { + min-height: 30px; + margin: 2px 0; +} + +#filter { + margin: 4px 0 8px; +} + +#handlersView { + height: 25em; + margin-inline-end: 0; +} + +#handlersView > richlistitem { + min-height: 30px; +} + +#handlersViewHeader > treecol, +#handlersView > richlistitem > hbox { + width: 50%; +} + +#handlersView .actionsMenu { + margin: 0; + min-height: 0; + padding: 0; + border: none; + padding-inline-end: 8px; +} + +#handlersView .actionsMenu::part(label) { + margin: 0; +} + +.typeIcon, +.actionIcon, +.actionsMenu::part(icon) { + height: 16px; + width: 16px; +} + +.typeIcon { + margin-inline: 10px 9px !important; +} + +#handlersView .actionsMenu::part(icon), +.actionIcon { + margin-inline: 11px 8px !important; +} + +.actionsMenu > menupopup > menuitem { + padding-inline-start: 10px !important; +} + +.actionsMenu > menupopup > menuitem > .menu-iconic-left { + margin-inline-end: 8px !important; +} + +/* Increase the specifity to override common.inc.css */ +richlistitem[selected] .actionsMenu:focus-visible { + outline-offset: -3px; +} + +/* Home Pane */ + +#homepageGroup menulist, +#homepageGroup html|input { + margin: 5px 0; +} + +#homepageGroup html|input { + text-align: match-parent; +} + +#homepageGroup:-moz-locale-dir(rtl) html|input { + unicode-bidi: plaintext; +} + +#homepageAndNewWindowsOption { + margin-top: 20px; +} + +#homepageGroup:-moz-locale-dir(rtl) panel[type="autocomplete-richlistbox"] { + direction: rtl; +} + +.homepage-button:first-of-type { + margin-inline-start: 0; +} + +.homepage-button:last-of-type { + margin-inline-end: 0; +} + +#homeContentsGroup .checkbox-icon[src] { + -moz-context-properties: fill; + fill: currentColor; + margin-inline: 2px 8px; + width: 16px; +} + +#homeContentsGroup [data-subcategory] { + margin-top: 14px; +} + +#homeContentsGroup [data-subcategory] .section-checkbox { + font-weight: 600; +} + +#homeContentsGroup [data-subcategory] > vbox menulist { + margin-block: 0; +} + +.addon-with-favicon .menu-iconic-icon { + margin-inline-start: 0; +} + +/* Search Pane */ + +#engineList { + margin: 2px 0 5px; +} + +#engineList > treechildren::-moz-tree-image(engineShown, checked), +#blocklistsTree > treechildren::-moz-tree-image(selectionCol, checked) { + list-style-image: url("chrome://global/skin/icons/check.svg"); + -moz-context-properties: fill, stroke; + fill: var(--in-content-accent-color); +} + +#engineList > treechildren::-moz-tree-image(engineShown, checked, selected), +#blocklistsTree > treechildren::-moz-tree-image(selectionCol, checked, selected) { + fill: var(--in-content-item-selected-text); + stroke: var(--in-content-item-selected); +} + +@media (prefers-contrast) { + #engineList > treechildren::-moz-tree-image(hover), + #blocklistsTree > treechildren::-moz-tree-image(hover) { + fill: var(--in-content-item-hover-text); + stroke: var(--in-content-item-hover); + } +} + +#engineList > treechildren::-moz-tree-row, +#blocklistsTree > treechildren::-moz-tree-row { + min-height: 36px; +} + +#selectionCol { + min-width: 26px; +} + +#addEnginesBox { + margin: 4px 0 0; +} + +/* Privacy Pane */ + +#allowSmartSize { + margin-block: 0 4px; +} + +#doNotTrackLearnMoreBox { + margin-top: 32px; +} + +#historyPane { + margin-top: 4px; +} + +#historyButtons { + display: flex; + flex-direction: column; + justify-content: space-between; +} + +#blockCookies, +#keepRow { + margin-top: 1.5em; +} + +/* Collapse the non-active vboxes in decks to use only the height the + active vbox needs */ +#historyPane:not([selectedIndex="1"]) > #historyDontRememberPane, +#historyPane:not([selectedIndex="2"]) > #historyCustomPane, +#weavePrefsDeck:not([selectedIndex="1"]) > #hasFxaAccount, +#fxaLoginStatus:not([selectedIndex="1"]) > #fxaLoginUnverified, +#fxaLoginStatus:not([selectedIndex="2"]) > #fxaLoginRejected, +#syncStatus:not([selectedIndex="1"]) > #syncConfigured { + visibility: collapse; +} + +#tabsElement { + margin-inline-end: 4px; /* add the 4px end-margin of other elements */ +} + +.text-link { + margin-bottom: 0; +} + +.text-link[disabled="true"] { + pointer-events: none; +} + +#showUpdateHistory { + margin-inline-start: 0; +} + +@media (-moz-platform: windows-win7), + (-moz-platform: windows-win8) { + #windows-sso, + #windows-sso-caption { + display: none; + } +} + +/** + * Dialog + */ + +.dialogOverlay { + visibility: hidden; +} + +.dialogOverlay[topmost="true"] { + background-color: rgba(0,0,0,0.5); +} + +.dialogBox { + background-color: var(--in-content-page-background); + background-clip: content-box; + color: var(--in-content-page-color); + /* `transparent` will use the dialogText color in high-contrast themes and + when page colors are disabled */ + border: 1px solid transparent; + border-radius: 8px; + box-shadow: 0 2px 6px 0 rgba(0,0,0,0.3); + display: -moz-box; + margin: 0; + padding: 0; + overflow-x: auto; +} + +@media (prefers-color-scheme: dark) { + @media not (prefers-contrast) { + .dialogBox { + --in-content-page-background: #42414d; + } + } +} + +.dialogBox[resizable="true"] { + resize: both; + overflow: hidden; + min-height: 20em; + min-width: 66ch; +} + +.dialogTitleBar { + padding: .4em .2em; + border-bottom: 1px solid var(--in-content-border-color); +} + +.dialogTitle { + font-weight: 600; + text-align: center; + user-select: none; +} + +.fxaPairDeviceIcon { + background-image: url("chrome://browser/content/logos/fxa-logo.svg"); + background-position: center center; + background-repeat: no-repeat; + position: relative; + height: 80px; + padding-top: 42px; + margin-top: -40px; +} + +.fxaPairDeviceIcon .close-icon { + margin-top: 10px; +} + +.close-icon { + border: none; + background-color: transparent; /* override common.css, but keep hover/active states */ + min-width: 0; + min-height: auto; + width: 20px; + height: 20px; + padding: 0; + margin-inline: 0 8px; +} + +.dialogFrame { + margin: 10px; + -moz-box-flex: 1; + /* Default dialog dimensions */ + min-width: 66ch; +} + +/** + * End Dialog + */ + +/** + * Font group and font dialog menulist fixes + */ + +#font-chooser-group { + display: grid; + grid-template-columns: max-content 1fr max-content max-content; +} + +#defaultFont { + width: 25ch; +} + +#defaultFontType, +#serif, +#sans-serif, +#monospace { + width: 0; /* Might be able to be removed */ + min-width: 30ch; +} + +/** + * Sync + */ + +.fxaProfileImage { + width: 80px; + height: 80px; + border-radius: 50%; + border: 1px solid transparent; + list-style-image: url(chrome://browser/skin/fxa/avatar-color.svg); + margin-inline-end: 24px; + -moz-user-focus: normal; +} + +.fxaProfileImage.actionable { + cursor: pointer; +} + +.fxaProfileImage.actionable:hover { + border-color: #0095DD; +} + +.fxaProfileImage.actionable:hover:active { + border-color: #ff9500; +} + +#useFirefoxSync { + font-size: 90%; + margin-inline-end: 8px !important; +} + +#fxaNoLoginStatus { + margin-block: 46px 64px; +} + +#fxaSyncComputerName { + -moz-box-flex: 1; + margin-block: 4px; + margin-inline-start: 0; +} + +#fxaChangeDeviceName { + margin-block: 4px; + margin-inline-end: 0; +} + +#noFxaAccount { + line-height: 1.2em; +} + +#noFxaAccount > label:first-child { + margin-bottom: 0.6em; +} + +#noFxaCaption { + line-height: 30px; + margin-block: 0 4px; +} + +#noFxaSignIn { + margin-inline-start: 8px; +} + +.fxaSyncIllustration { + list-style-image: url(chrome://browser/skin/fxa/sync-devices.svg); + width: 312px; + height: 136px; +} + +#noFxaDescription { + padding-inline-end: 52px; +} + +.separator { + border-bottom: 1px solid var(--in-content-box-border-color); +} + +#fxaGroup { + margin-bottom: 32px; +} + +.openLink { + line-height: 30px; + cursor: pointer; +} + +.openLink:visited { + color: var(--in-content-link-color); +} + +#fxaDisplayName { + margin-inline-end: 10px !important; +} + +.fxaLoginRejectedWarning { + list-style-image: url(chrome://global/skin/icons/warning.svg); + -moz-context-properties: fill; + fill: #FFBF00; + margin-inline: 4px 8px; +} + +#syncStatus { + margin-top: 32px; +} + +.sync-group { + margin-block: 16px; + border: 1px solid var(--in-content-border-color); +} + +.sync-configured { + display: block; +} + +.sync-engines-list > div, +.sync-engines-list + hbox { + margin-top: 0; + padding-top: 16px; + max-width: 300px; + height: auto; +} + +dialog > .sync-engines-list > div, +dialog > .sync-engines-list + hbox { + padding-top: 0; +} + +.sync-engines-list checkbox .checkbox-icon, +.sync-engine-image { + margin-inline: 2px 8px; + width: 16px; + height: 16px; + -moz-context-properties: fill; + fill: currentColor; + align-self: center; +} + +.sync-engines-list checkbox { + min-width: max-content; + max-width: calc(50vw - 10px); +} + +.sync-engines-list .checkbox-label-box { + -moz-box-align: center; +} + +.sync-engines-list { + column-count: 2; + column-fill: balance; +} + +.sync-engines-list > div:not([hidden]) { + display: flex; +} + +.sync-engine-bookmarks .checkbox-icon, +.sync-engine-bookmarks.sync-engine-image { + list-style-image: url("chrome://browser/skin/bookmark.svg"); +} + +.sync-engine-history .checkbox-icon, +.sync-engine-history.sync-engine-image { + list-style-image: url("chrome://browser/skin/history.svg"); +} + +.sync-engine-tabs .checkbox-icon, +.sync-engine-tabs.sync-engine-image { + list-style-image: url("chrome://browser/skin/synced-tabs.svg"); +} + +.sync-engine-passwords .checkbox-icon, +.sync-engine-passwords.sync-engine-image { + list-style-image: url("chrome://browser/skin/login.svg"); +} + +.sync-engine-addons .checkbox-icon, +.sync-engine-addons.sync-engine-image { + list-style-image: url("chrome://mozapps/skin/extensions/extension.svg"); +} + +.sync-engine-prefs .checkbox-icon, +.sync-engine-prefs.sync-engine-image { + list-style-image: url("chrome://global/skin/icons/settings.svg"); +} + +.sync-engine-addresses .checkbox-icon, +.sync-engine-addresses.sync-engine-image { + list-style-image: url("chrome://formautofill/content/formfill-anchor.svg"); +} + +.sync-engine-creditcards .checkbox-icon, +.sync-engine-creditcards.sync-engine-image { + list-style-image: url("chrome://formautofill/content/icon-credit-card-generic.svg"); +} + +.fxaMobilePromo { + margin-top: 2px !important; +} + +.androidIcon, +.iOSIcon { + margin-inline: 2px 4px; + width: 20px; + height: 20px; + vertical-align: text-bottom; +} + +#updateDeck > hbox > label { + margin-inline-end: 5px ! important; +} + +.update-throbber { + width: 16px; + min-height: 16px; + margin-block: 7px; + margin-inline-end: 8px; +} + +html|img.update-throbber { + vertical-align: middle; +} + +image.update-throbber { + list-style-image: url("chrome://global/skin/icons/loading.png"); +} + +@media (min-resolution: 1.1dppx) { + .update-throbber { + list-style-image: url("chrome://global/skin/icons/loading@2x.png"); + } +} + +.navigation { + overflow-x: hidden; + overflow-y: auto; + position: relative; +} + +@media (prefers-reduced-motion) { + /* Setting border-inline-end on .navigation makes it a focusable element */ + .navigation::after { + content: ""; + width: 1px; + height: 100%; + background-color: var(--in-content-border-color); + top: 0; + inset-inline-end: 0; + position: absolute; + } +} + +.face-sad { + list-style-image: url("chrome://browser/skin/preferences/face-sad.svg"); + width: 20px; + height: 20px; + margin-block: 5px; + margin-inline-end: 8px; +} + +.face-smile { + list-style-image: url("chrome://browser/skin/preferences/face-smile.svg"); + width: 20px; + height: 20px; + margin-block: 5px; + margin-inline-end: 8px; +} + +#policies-container, +#searchInput { + min-height: 32px; + margin: 20px 0 30px; +} + +#policies-container { + margin-inline-end: 16px; + /* Make sure the container is at least the same height as the searchbox. + This is needed in addition to the min-height above to make the info icon + the same height as the first line in the policies label. + Searchbox's height - line-height - border top and bottom */ + padding-block: max(0px, calc((32px - 1.8em - 2px) / 2)); +} + +.info-box-container { + background-color: var(--in-content-box-info-background); + padding: 9px; + border: 1px solid transparent; + border-radius: 4px; +} + +.info-box-container.smaller-font-size { + font-size: 85%; +} + +.info-icon-container { + display: flex; +} + +.info-icon { + list-style-image: url("chrome://global/skin/icons/info.svg"); + width: 16px; + height: 16px; + margin-inline-end: 6px; + align-self: start; + margin-top: 0.4em; + flex-shrink: 0; +} + +.info-box-container.smaller-font-size .info-icon { + margin-top: 0.3em; +} + +.sticky-container { + position: sticky; + background-color: var(--in-content-page-background); + top: 0; + z-index: 1; + /* The sticky-container should have the capability to cover all spotlight area. */ + width: calc(100% + 8px); + margin-inline: -4px; + padding-inline: 4px; +} + +.sticky-inner-container { + -moz-box-flex: 1; + max-width: var(--main-pane-width); +} + +.search-tooltip { + max-width: 10em; + font-size: 1rem; + position: absolute; + padding: 0 .7em; + background-color: #ffe900; + color: #000; + border: 1px solid #d7b600; + margin-top: -18px; + opacity: .85; +} + +.search-tooltip:hover { + opacity: .1; +} + +.search-tooltip::before { + position: absolute; + content: ""; + border: 7px solid transparent; + border-top-color: #d7b600; + top: 100%; + inset-inline-start: calc(50% - 7px); +} + +.search-tooltip::after { + position: absolute; + content: ""; + border: 6px solid transparent; + border-top-color: #ffe900; + top: 100%; + inset-inline-start: calc(50% - 6px); +} + +.search-tooltip-parent { + position: relative; +} + +.search-tooltip > span { + display: block; + user-select: none; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.visually-hidden { + visibility: collapse; +} + +menulist[indicator=true] > menupopup menuitem:not([image]) > .menu-iconic-left { + display: -moz-box; + min-width: auto; /* Override the min-width defined in menu.css */ + margin-inline-end: 6px; +} + +menulist[indicator=true] > menupopup menuitem:not([image]) > .menu-iconic-left > .menu-iconic-icon { + width: 8px; + height: 10px; + margin: 0; +} + +menulist[indicator=true] > menupopup menuitem[indicator=true]:not([image]) > .menu-iconic-left > .menu-iconic-icon { + list-style-image: url(chrome://browser/skin/preferences/search-arrow-indicator.svg); +} + +menulist[indicator=true] > menupopup menuitem[indicator=true]:not([image]) > .menu-iconic-left > .menu-iconic-icon:-moz-locale-dir(rtl) { + transform: scaleX(-1); +} + +.menu-iconic-highlightable-text { + margin: 0; /* Align with the margin of xul:label.menu-iconic-text */ +} + +#no-results-message > label { + margin: 2px 0; + line-height: 30px; +} + +/* Proxy port input */ + +.proxy-port-input { + width: calc(5ch + 18px); /* 5 chars + (8px padding + 1px border) on both sides */ + margin-inline-start: 4px; +} + +#primaryBrowserLocale { + margin-inline-start: 0; + min-width: 20em; +} + +#availableLanguages, +#availableLocales { + margin-inline-start: 0; +} + +#availableLanguages, +#availableLocales, +#activeLanguages, +#selectedLocales { + margin-inline-end: 4px; +} + +#selectedLocales > richlistitem { + padding-inline-start: 13px; +} + +#warning-message > .message-bar-description { + width: 32em; +} + +#warning-message { + margin-top: 8px; +} + +.action-button { + margin-inline-end: 0; +} + +/* Menulist styles */ +.label-item { + font-size: 0.8em; +} + +.updateSettingCrossUserWarningContainer { + margin-block-end: 17px; +} + +#updateSettingCrossUserWarningDesc { + padding-inline-start: calc(16px + 6px); /* radio-check's width + margin-inline-end */ + margin-block-start: 20px; +} + +richlistitem .text-link { + color: inherit; + text-decoration: underline; +} + +richlistitem .text-link:hover { + color: inherit; +} + +#proxy-grid, +#dnsOverHttps-grid { + display: grid; + grid-template-columns: auto 1fr; + align-items: center; +} + +.proxy-grid-row:not([hidden]), +.dnsOverHttps-grid-row:not([hidden]) { + display: contents; +} + +#proxy-grid > .thin { + grid-column: span 2; + height: 20px; +} + +#pane-experimental-search-results-header, +#pane-experimental-subtitle { + background-image: url("chrome://global/skin/icons/warning.svg"); + background-repeat: no-repeat; + background-position: 0 center; + background-size: contain; + min-height: 30px; + padding-inline-start: 38px; + display: flex; + align-items: center; + -moz-context-properties: fill; + fill: #FFBF00; +} + +#pane-experimental-search-results-header:-moz-locale-dir(rtl), +#pane-experimental-subtitle:-moz-locale-dir(rtl) { + background-position-x: right; +} + +#pane-experimental-featureGates { + margin-top: 16px; +} + +.featureGate { + margin-bottom: 16px; +} + +.featureGateCheckbox { + font-size: 1.14em; + -moz-box-align: center; +} + +.featureGateCheckbox > .checkbox-label-box { + -moz-box-align: center; +} + +.featureGateDescription { + margin-inline-start: 28px; +} + +.checkbox-row { + display: flex; + align-items: baseline; +} + +.checkbox-row input[type=checkbox] { + translate: 0 2px +} + +.checkbox-row a { + margin-inline-start: 6px; +} + +#moreFromMozillaCategory-header .title { + margin-block-end: 4px; +} + +#moreFromMozillaCategory-header .subtitle { + color: var(--in-content-text-color); + margin-block-end: 24px; + line-height: 1.4em; +} + +#moreFromMozillaCategory:not([hidden]) { + display: flex; + flex-direction: column; +} + +#moreFromMozillaCategory .mozilla-product-item { + margin-top: 30px; +} + +#moreFromMozillaCategory .product-title { + margin: 4px 0 3px; + background-repeat: no-repeat; + background-size: contain; + padding-inline-start: 30px; + -moz-context-properties: fill; + fill: currentColor; +} + +#moreFromMozillaCategory .product-title:-moz-locale-dir(rtl) { + background-position-x: right; +} + +#moreFromMozillaCategory .product-description-box { + padding-inline-start: 30px; + margin: 2px 0; + line-height: 1.4em; +} + +#moreFromMozillaCategory .description { + display: inline; +} + +#moreFromMozillaCategory .small-button { + margin-block: 14px 2px; + margin-inline: 30px 0; +} + +#firefox-mobile { + background-image: url("chrome://browser/skin/device-phone.svg"); +} + +#mozilla-vpn { + background-image: url("chrome://browser/skin/preferences/vpn-logo.svg"); +} + +#firefox-relay { + background-image: url("chrome://browser/skin/preferences/relay-logo.svg"); +} + +/* + * The :not clause is required because hiding an element with `display: flex` only + * partially hides it. + */ +.qr-code-box:not([hidden="true"]) { + max-width: 320px; /* a unit better than px for this & next? */ + min-height: 204px; + margin-block: 10px 0; + margin-inline-start: 30px; + background-color: var(--in-content-box-info-background); + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-evenly; + border-radius: 4px; +} + +@media (prefers-contrast) { + .qr-code-box:not([hidden="true"]) { + border: 1px solid currentColor; + } +} + +.qr-code-box-image { + border-radius: 4px; + padding: 2px; + width: 80px; + flex: 0 0 auto; + -moz-context-properties: fill; + fill: currentColor; +} + +.qr-code-title-label { + flex: 1 1 auto; +} + +.qr-code-box-title { + font-size: .87em; + font-weight: normal; + line-height: 1.42em; + + text-align: center; + + margin-block: 20px 0; + margin-inline: 40px; +} + +.simple .qr-code-box-title { + margin-block: 0; + width: 296px; +} + +.simple .qr-code-box { + padding-inline: 24px; + padding-block: 20px +} + +.simple .qr-code-box-image { + padding: 10px; +} + +#moreFromMozillaCategory .qr-code-link { + font-size: .87em; + line-height: 1.42em; +} + +@media (prefers-color-scheme: dark) { + .qr-code-box:not([hidden="true"]) { + background-color: rgba(91,91,102,0.45); + } + + .qr-code-box-title { + color: #fbfbfe; + } +} + +#websiteAppearanceGroup { + display: block; +} + +#web-appearance-chooser { + display: flex; + justify-content: space-between; + gap: 16px; +} + +#web-appearance-chooser, +#web-appearance-override-warning { + margin: 12px 0; +} + +#web-appearance-override-warning:not([hidden]) { + display: flex; +} + +.web-appearance-choice { + width: 100%; + border: 1px solid var(--in-content-box-border-color); + background-color: var(--in-content-box-background-color); + color: var(--in-content-text-color); + border-radius: 4px; + overflow: clip; +} + +.web-appearance-choice-image-container { + background-color: var(--in-content-button-background); + padding: 12px 0; +} + +.web-appearance-choice:hover > .web-appearance-choice-image-container { + background-color: var(--in-content-button-background-hover); +} + +.web-appearance-choice:hover:active > .web-appearance-choice-image-container { + background-color: var(--in-content-button-background-active); +} + +.web-appearance-choice img { + display: block; + margin: 0 auto; + + border: 1px solid var(--in-content-box-border-color); + border-radius: 4px; + box-shadow: 0 0 2px 0 rgba(0,0,0,0.2); + + transform: scaleX(1); + content: url("chrome://browser/content/preferences/web-appearance-light.svg") +} + +.web-appearance-choice.dark img { + content: url("chrome://browser/content/preferences/web-appearance-dark.svg") +} + +.web-appearance-choice img:dir(rtl) { + transform: scaleX(-1); +} + +.web-appearance-choice-footer { + border-top: 1px solid var(--in-content-box-border-color); + padding: 4px 8px; + overflow-wrap: anywhere; + display: flex; +} + +.web-appearance-choice input { + margin-top: 0.4em; +} + +/* Platform-specific tweaks & overrides */ + +@media (-moz-platform: macos) { + tabpanels { + padding: 20px 7px 7px; + } + + #browserUseCurrent, + #browserUseBookmark, + #browserUseBlank { + margin-top: 10px; + } + + #privacyPrefs { + padding: 0 4px; + } + + #privacyPrefs > tabpanels { + padding: 18px 10px 10px; + } + + #OCSPDialogPane { + font: message-box !important; + } + + /** + * Update Preferences + */ + #autoInstallOptions { + margin-inline-start: 20px; + } + + .updateControls { + margin-inline-start: 10px; + } +} + +@media (-moz-platform: linux) { + .treecol-sortdirection { + /* override the Linux only toolkit rule */ + appearance: none; + } +} diff --git a/browser/themes/shared/preferences/privacy.css b/browser/themes/shared/preferences/privacy.css new file mode 100644 index 0000000000..69342135b6 --- /dev/null +++ b/browser/themes/shared/preferences/privacy.css @@ -0,0 +1,364 @@ +/* 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/. */ + +/* Permissions */ + +#trackingGroup { + --section-highlight-background-color: color-mix(in srgb, var(--in-content-accent-color) 20%, transparent); +} + +.permission-icon { + width: 20px; + height: 20px; + vertical-align: middle; + margin-inline-end: 0.2em; +} + +.permission-icon, +.content-blocking-category .checkbox-label-box, +.extra-information-label > image, +.arrowhead, +.reload-tabs-button, +.content-blocking-warning-image { + -moz-context-properties: fill; + fill: currentColor; +} + +.geo-icon { + list-style-image: url(chrome://browser/skin/notification-icons/geo.svg); +} + +.xr-icon { + list-style-image: url(chrome://browser/skin/notification-icons/xr.svg); +} + +.camera-icon { + list-style-image: url(chrome://browser/skin/notification-icons/camera.svg); +} + +.microphone-icon { + list-style-image: url(chrome://browser/skin/notification-icons/microphone.svg); +} + +.desktop-notification-icon { + list-style-image: url(chrome://browser/skin/notification-icons/desktop-notification.svg); +} + +.autoplay-icon { + list-style-image: url(chrome://browser/skin/notification-icons/autoplay-media.svg); +} + +.midi-icon { + list-style-image: url(chrome://browser/skin/notification-icons/midi.svg); +} + +/* Content Blocking */ + +/* Override styling that sets descriptions as grey */ +#trackingGroup description.indent, +#trackingGroup .indent > description { + color: inherit; +} + +[data-subcategory="trackingprotection"] { + margin-top: 10px; +} + +#trackingProtectionShield { + list-style-image: url("chrome://browser/skin/controlcenter/tracking-protection.svg"); + -moz-context-properties: fill, fill-opacity; + fill: currentColor; + fill-opacity: 0.5; + width: 64px; + height: 64px; + margin-inline-end: 10px; +} + +.content-blocking-category, +#fpiIncompatibilityWarning { + margin: 3px 0; +} + +#fpiIncompatibilityWarning { + background-color: var(--section-highlight-background-color); +} + +#fpiIncompatibilityWarning, +#contentBlockingCategories { + margin-top: 16px; +} + +.content-blocking-category { + border-color: var(--in-content-box-border-color); +} + +.content-blocking-category.disabled { + opacity: 0.5; +} + +.content-blocking-category.disabled .radio-check { + opacity: 1; +} + +.content-blocking-category > .indent { + margin-inline-end: 22px; +} + +.arrowhead { + border-radius: 2px; + min-height: 20px; + min-width: 20px; + max-height: 20px; + max-width: 20px; + list-style-image: url("chrome://global/skin/icons/arrow-down-12.svg"); + background-color: transparent; + padding: 3px; +} + +.arrowhead:not([disabled]):hover { + cursor: pointer; +} + +.arrowhead.up { + list-style-image: url("chrome://global/skin/icons/arrow-up-12.svg"); +} + +.content-blocking-category.expanded:not(.selected) .reload-tabs { + display: none; +} + +.content-blocking-warning.reload-tabs:not([hidden]) { + display: flex; + flex-wrap: wrap; +} + +.content-blocking-reload-desc-container { + /* 345px is enough for (almost) twice the size of the default English + * string at default font sizes. If this and the button do not fit + * on one line, the button will get wrapped to the next line and this + * item will stretch to fill all available space. */ + flex: 1 1 345px; + display: flex; + align-self: center; +} + +.content-blocking-reload-description { + line-height: 1.8em; + margin-inline-end: 5px; +} + +.reload-tabs-button { + max-height: 30px; + min-height: 30px; + padding: 0 20px; + list-style-image: url("chrome://global/skin/icons/reload.svg"); + align-self: center; +} + +.reload-tabs-button .button-icon { + margin: 0 6px; + color: inherit; +} + +.reload-tabs-button .button-text { + color: inherit; +} + +.content-blocking-category.selected .content-blocking-warning { + background-color: var(--section-highlight-background-color); +} + +.content-blocking-category.selected .arrowhead { + display: none; +} + +.content-blocking-category.selected { + border-color: var(--in-content-accent-color); +} + +@media (prefers-contrast) { + .content-blocking-category.selected { + outline: 2px solid var(--in-content-accent-color); + } +} + +@media not (prefers-contrast) { + .content-blocking-category { + background-color: rgba(215, 215, 219, 0.1); + } + + .content-blocking-category.selected { + background-color: var(--section-highlight-background-color); + } +} + +.content-blocking-warning-title, +.content-blocking-category .radio-label-box { + font-weight: bold; +} + +.content-blocking-category:not(.expanded, .selected) .content-blocking-extra-information { + visibility: collapse; +} + +.extra-information-label { + margin-top: 18px; +} + +/* Apply display: block to the containers of all the category information, as + * without this the flex-wrapped blocks inside don't stretch vertically to + * enclose their content. */ +.content-blocking-category > .indent { + display: block; +} + +.content-blocking-category.expanded .content-blocking-extra-information, +.content-blocking-category.selected .content-blocking-extra-information { + display: flex; + flex-direction: column; + align-content: stretch; +} + +.content-blocking-extra-information > .indent { + margin-bottom: 18px; +} + +.content-blocking-extra-information > .custom-option { + margin: 10px 0; +} + +.content-blocking-warning { + /* Match .indent's horizontal padding, minus the border added via .info-box-container: */ + padding-inline: calc(22px - 1px); + margin: 10px 0; +} + +.content-blocking-warning:not([hidden]) + .content-blocking-warning { + margin-top: 0; +} + +.content-blocking-extra-blocking-desc { + margin-inline-start: 0.5em; + position: relative; + top: 0.65em; +} + +.content-blocking-label { + display: list-item; + line-height: 1.2em; +} + +.content-blocking-warning-image { + list-style-image: url("chrome://global/skin/icons/warning.svg"); + margin-inline-end: 6px; +} + +#blockCookiesMenu { + width: 450px; +} + +#blockCookiesMenu, +#trackingProtectionMenu { + margin: 0; +} + +#changeBlockListLink { + margin-inline-start: 56px; +} + +#telemetry-container { + margin-block: 4px; + line-height: 1.8em; + width: 100%; +} + +.content-blocking-category-description { + font-size: 90%; + opacity: 0.6; +} + +.warning-description { + background: url(chrome://global/skin/icons/warning.svg) no-repeat 0 5px; + opacity: 0.6; + -moz-context-properties: fill, stroke; + fill: #d7b600; + stroke: white; + padding-inline-start: 20px; +} + +.reject-trackers-warning-icon:-moz-locale-dir(rtl) { + background-position-x: right 0; +} + +#contentBlockingChangeCookieSettings { + padding: 0.25em 0.75em; + margin: 4px 8px; +} + +#deleteOnCloseNote { + margin-top: 8px; + margin-inline-end: 32px; +} + +#submitHealthReportBox { + display: -moz-inline-box; +} + +/* Address bar */ + +.firefoxSuggestOptionBox { + /* With this value we're trying to keep the apparent vertical space between + option boxes the same as the apparent vertical space between the labels of + the checkboxes above the Firefox Suggest subsection. */ + margin-block-start: 11px; +} + +.firefoxSuggestOptionBox:first-of-type { + /* Similar here: Make the apparent vertical space between the last checkbox + and first option box the same as elsewhere. */ + margin-block-start: 5px; +} + +.firefoxSuggestToggle { + /* These variables and comments are copied from and override + toggle-button.css. We include values for all variables, even those that are + the same at the time this comment was written, for sanity and locality of + reference. */ + --button-height: 16px !important; + --button-half-height: 8px !important; + --button-width: 32px !important; + --button-border-width: 1px !important; + /* dot-size = button-height - 2*dot-margin - 2*button-border-width */ + --dot-size: 14px !important; + --dot-margin: 0px !important; + /* --dot-transform-x = button-width - 2*dot-margin - dot-size - 2*button-border-width */ + --dot-transform-x: 16px !important; +} + +.firefoxSuggestOptionDescription { + /* Prevent the description from flowing under the toggle button. + 32px = toggle button width + 1em = a little extra */ + padding-inline-end: calc(32px + 1em); + color: var(--in-content-deemphasized-text); +} + +#firefoxSuggestInfoBox { + margin-block-start: 16px; + padding: 12px; +} + +#firefoxSuggestInfoBox > description { + margin-inline-start: 2px; + margin-block: 2px; +} + +#openSearchEnginePreferences { + margin-block-start: 6px; + line-height: 30px; +} + +#openSearchEnginePreferences.extraMargin { + margin-block-start: 24px; +} diff --git a/browser/themes/shared/preferences/relay-logo.svg b/browser/themes/shared/preferences/relay-logo.svg new file mode 100644 index 0000000000..bf99230a1f --- /dev/null +++ b/browser/themes/shared/preferences/relay-logo.svg @@ -0,0 +1,7 @@ + + + + diff --git a/browser/themes/shared/preferences/search-arrow-indicator.svg b/browser/themes/shared/preferences/search-arrow-indicator.svg new file mode 100644 index 0000000000..8ac83df260 --- /dev/null +++ b/browser/themes/shared/preferences/search-arrow-indicator.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/browser/themes/shared/preferences/search-bar.svg b/browser/themes/shared/preferences/search-bar.svg new file mode 100644 index 0000000000..0f592bf476 --- /dev/null +++ b/browser/themes/shared/preferences/search-bar.svg @@ -0,0 +1,25 @@ + + + + + + + + + + diff --git a/browser/themes/shared/preferences/search.css b/browser/themes/shared/preferences/search.css new file mode 100644 index 0000000000..65651e5583 --- /dev/null +++ b/browser/themes/shared/preferences/search.css @@ -0,0 +1,100 @@ +/* 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/. */ + +.searchBarImage { + height: 36px; + width: 631px; + -moz-context-properties: fill, stroke; + fill: var(--in-content-box-background); + stroke: var(--in-content-box-border-color); +} + +.searchBarImage, +#searchShowSearchTermCheckbox { + margin-inline-start: 33px; +} + +.searchBarImage:-moz-locale-dir(rtl) { + transform: scaleX(-1); +} + +.searchBarHiddenImage { + list-style-image: url("chrome://browser/skin/preferences/no-search-bar.svg"); +} + +#searchBarShownRadio { + /* Allow a little visual space to separate the radio from the image above it. */ + margin-top: 10px; +} + +.searchBarShownImage { + list-style-image: url("chrome://browser/skin/preferences/search-bar.svg"); +} + +#defaultEngine, +#defaultPrivateEngine { + margin-inline-start: 0; +} + +#defaultEngine::part(icon), +#defaultPrivateEngine::part(icon) { + height: 16px; + width: 16px; +} + +/* work around a display: none in Linux's menu.css, see bug 1112310 */ +.searchengine-menuitem > .menu-iconic-left { + display: -moz-box; +} + +#engineList { + margin: .5em 0; +} + +#engineList treechildren::-moz-tree-image(engineName) { + margin-inline: 1px 10px; + width: 16px; + height: 16px; +} + +#engineList treechildren::-moz-tree-drop-feedback { + background-color: SelectedItem; + width: 10000px; /* 100% doesn't work; 10k is hopefully larger than any window + we may have, overflow isn't visible. */ + height: 2px; + margin-inline-start: 0; +} + +#engineList treechildren::-moz-tree-image(bookmarks), +#engineList treechildren::-moz-tree-image(tabs), +#engineList treechildren::-moz-tree-image(history) { + -moz-context-properties: fill; +} + +/* Local search shortcut icon colors. These should match the values in + urlbarView.inc.css. */ +#engineList treechildren::-moz-tree-image(bookmarks) { + fill: #0060df; /* Blue-60 */ +} +#engineList treechildren::-moz-tree-image(tabs) { + fill: #008eaf; /* Teal-70 */ +} +#engineList treechildren::-moz-tree-image(history), +#engineList treechildren::-moz-tree-image(bookmarks, selected), +#engineList treechildren::-moz-tree-image(tabs, selected) { + fill: currentColor; +} + +#engineShown { + min-width: 26px; +} + +#addEnginesBox { + margin-bottom: 1em; +} + +#removeEngineButton, +#restoreDefaultSearchEngines { + margin-inline: 0; +} diff --git a/browser/themes/shared/preferences/siteDataSettings.css b/browser/themes/shared/preferences/siteDataSettings.css new file mode 100644 index 0000000000..c793fb740a --- /dev/null +++ b/browser/themes/shared/preferences/siteDataSettings.css @@ -0,0 +1,64 @@ +/* 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/. */ + +/** + * Site Data - Settings dialog + */ +#sitesList { + height: 20em; +} + +/* Show selected items in high contrast mode. */ +#sitesList > richlistitem[selected] { + outline: 1px solid transparent; +} + +#sitesList > richlistitem > hbox, +.item-box > label { + -moz-box-flex: 1; +} + +.item-box { + padding: 5px 8px; + -moz-box-align: center; + width: 50px; +} + +/** + * Confirmation dialog of removing sites selected + */ +#SiteDataRemoveSelectedDialog { + -moz-box-layout: flex; + padding: 16px; + min-width: 50px; +} + +#SiteDataRemoveSelectedDialog.single-entry { + min-height: 8em; +} + +#SiteDataRemoveSelectedDialog.single-entry .multi-site { + display: none; +} + +#SiteDataRemoveSelectedDialog.multi-entry #removalList { + max-height: 20em; +} + +#SiteDataRemoveSelectedDialog > dialog { + padding: 0; /* override dialog.css */ +} + +#contentContainer { + font-size: 1.2em; + margin-bottom: 10px; +} + +.question-icon { + margin: 6px; +} + +#removing-label { + font-weight: bold; +} diff --git a/browser/themes/shared/preferences/vpn-logo.svg b/browser/themes/shared/preferences/vpn-logo.svg new file mode 100644 index 0000000000..5300d3bf5c --- /dev/null +++ b/browser/themes/shared/preferences/vpn-logo.svg @@ -0,0 +1,4 @@ + + -- cgit v1.2.3