diff --git a/__tests__/each.test.scss b/__tests__/each.test.scss index 9838760..da35864 100644 --- a/__tests__/each.test.scss +++ b/__tests__/each.test.scss @@ -11,7 +11,7 @@ } } @include expect { - @-moz-document url(about:home) { + @#{-moz-document} url(about:home) { @include example; } } @@ -27,7 +27,7 @@ } } @include expect { - @-moz-document url(about:home), url(about:newtab) { + @#{-moz-document} url(about:home), url(about:newtab) { @include example; } } diff --git a/__tests__/moz_document.test.scss b/__tests__/moz_document.test.scss new file mode 100644 index 0000000..34f479a --- /dev/null +++ b/__tests__/moz_document.test.scss @@ -0,0 +1,59 @@ +@use "true" as *; +@use "example" as *; +@use "../src/utils/moz_document" as *; + +@include test-module("Moz Documents [mix]") { + @include test("simple") { + @include assert { + @include output { + @include moz-document(url "about:downloads") { + @include example; + } + @include moz-document(url-prefix "about:") { + @include example; + } + @include moz-document(regexp "^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$") { + @include example; + } + } + @include expect { + @-moz-document url("about:downloads") { + @include example; + } + @-moz-document url-prefix("about:") { + @include example; + } + @-moz-document regexp("^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$") { + @include example; + } + } + } + } + @include test("multiple") { + @include assert { + @include output { + @include moz-document( + url "about:downloads", + url-prefix "about:", + regexp "^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$" + ) { + @include example; + } + @include moz-document( + url-prefix "about:cache", + url-prefix "about:checkerboard" + ) { + @include example; + } + } + @include expect { + @-moz-document url("about:downloads"), url-prefix("about:"), regexp("^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$") { + @include example; + } + @-moz-document url-prefix("about:cache"), url-prefix("about:checkerboard") { + @include example; + } + } + } + } +} diff --git a/css/leptonChrome.css b/css/leptonChrome.css index da2c648..af1d133 100644 --- a/css/leptonChrome.css +++ b/css/leptonChrome.css @@ -1626,13 +1626,7 @@ /*= Proton Theme Mode ========================================================*/ @supports -moz-bool-pref("userChrome.theme.proton_chrome") { /*= Proton Commons ===========================================================*/ - @-moz-document url("chrome://global/content/commonDialog.xhtml"), - url("chrome://pippki/content/editcacert.xhtml"), - url("chrome://pippki/content/deletecert.xhtml"), - url("chrome://pippki/content/exceptionDialog.xhtml"), - url("chrome://mozapps/content/downloads/unknownContentType.xhtml"), - url("chrome://global/content/appPicker.xhtml"), - url("chrome://browser/content/pageinfo/pageInfo.xhtml") + @-moz-document url("chrome://global/content/commonDialog.xhtml"), url("chrome://pippki/content/editcacert.xhtml"), url("chrome://pippki/content/deletecert.xhtml"), url("chrome://pippki/content/exceptionDialog.xhtml"), url("chrome://mozapps/content/downloads/unknownContentType.xhtml"), url("chrome://global/content/appPicker.xhtml"), url("chrome://browser/content/pageinfo/pageInfo.xhtml") { /*- Overwrite --------------------------------------------------------------*/ @media (-moz-toolbar-prefers-color-scheme: dark), (prefers-color-scheme: dark) { @@ -2198,8 +2192,7 @@ border: 1px solid var(--in-content-table-border-color) !important; border-radius: 4px !important; } - } - /*= Cert Exception Dialog ====================================================*/ + } /*= Cert Exception Dialog ====================================================*/ @-moz-document url("chrome://pippki/content/exceptionDialog.xhtml") { #locationTextBox { @@ -5819,7 +5812,7 @@ min-height: unset !important; padding-inline-start: 0px !important; } - @-moz-document url(chrome://browser/content/browser.xhtml) + @-moz-document url("chrome://browser/content/browser.xhtml") { #scrollbutton-up ~ spacer, #scrollbutton-up, diff --git a/css/leptonContent.css b/css/leptonContent.css index 906ddea..3c89e7e 100644 --- a/css/leptonContent.css +++ b/css/leptonContent.css @@ -458,9 +458,7 @@ } /** Error Page - Restore illustrations ****************************************/ @supports -moz-bool-pref("userContent.page.illustration") { - @-moz-document url-prefix("about:neterror"), - url("about:restartrequired"), url("chrome://browser/content/aboutRestartRequired.xhtml"), - url("about:sessionrestore"), url("chrome://browser/content/aboutSessionRestore.xhtml") + @-moz-document url-prefix("about:neterror"), url("about:restartrequired"), url("chrome://browser/content/aboutRestartRequired.xhtml"), url("about:sessionrestore"), url("chrome://browser/content/aboutSessionRestore.xhtml") { /* Illustrations Position */ #errorPageContainer, @@ -490,12 +488,7 @@ padding-inline-start: 38%; } } - @-moz-document url-prefix("about:neterror?e=connectionFailure"), - url-prefix("about:neterror?e=netInterrupt"), - url-prefix("about:neterror?e=netReset"), - url-prefix("about:neterror?e=netTimeout"), - url-prefix("about:neterror?e=netOffline"), - url("about:restartrequired"), url("chrome://browser/content/aboutRestartRequired.xhtml") + @-moz-document url-prefix("about:neterror?e=connectionFailure"), url-prefix("about:neterror?e=netInterrupt"), url-prefix("about:neterror?e=netReset"), url-prefix("about:neterror?e=netTimeout"), url-prefix("about:neterror?e=netOffline"), url("about:restartrequired"), url("chrome://browser/content/aboutRestartRequired.xhtml") { :root { --uc-error-llustration: url(../icons/error-connection-failure.svg); @@ -506,15 +499,12 @@ --uc-error-llustration: url(../icons/error-server-not-found.svg); } } - @-moz-document url-prefix("about:neterror?e=blockedByPolicy"), - url-prefix("about:neterror?e=deniedPortAccess"), - url-prefix("about:neterror?e=malformedURI") { + @-moz-document url-prefix("about:neterror?e=blockedByPolicy"), url-prefix("about:neterror?e=deniedPortAccess"), url-prefix("about:neterror?e=malformedURI") { :root { --uc-error-llustration: url(chrome://browser/skin/illustrations/error-malformed-url.svg); } } - @-moz-document url-prefix("about:neterror?e=clockSkewError"), - url-prefix("about:neterror?e=nssFailure") { + @-moz-document url-prefix("about:neterror?e=clockSkewError"), url-prefix("about:neterror?e=nssFailure") { :root { --uc-error-llustration: url(../icons/blue-berror.svg); } @@ -566,13 +556,7 @@ /** Fully Dark Mode ***********************************************************/ /*= Fully Dark Mode - Dark Mode Colors =======================================*/ @supports -moz-bool-pref("userContent.page.proton_color") { - @-moz-document url-prefix("about:"), - url-prefix("chrome://browser/content/places/places.xhtml"), - url-prefix("https://addons.mozilla.org"), - url-prefix("https://support.mozilla.org"), - url-prefix("https://accounts.firefox.com"), - url-prefix("view-source"), - regexp("^(((jar:)?file:///)|(chrome://)).*/$") + @-moz-document url-prefix("about:"), url-prefix("chrome://browser/content/places/places.xhtml"), url-prefix("https://addons.mozilla.org"), url-prefix("https://support.mozilla.org"), url-prefix("https://accounts.firefox.com"), url-prefix("view-source"), regexp("^(((jar:)?file:///)|(chrome://)).*/$") { /*= Default Colors - Hard Coded ==============================================*/ /* Based on chrome://global/skin/in-content/common.css */ @@ -1660,12 +1644,7 @@ /** Fully Proton Mode *********************************************************/ @supports -moz-bool-pref("userContent.page.proton") { /*= Common contents ==========================================================*/ /*= abouts' common ===========================================================*/ - @-moz-document url-prefix("about:plugins"), - url-prefix("about:cache"), - url-prefix("about:checkerboard"), - url-prefix("about:sync-log"), - url-prefix("about:memory"), - regexp("^(((jar:)?file:///)|(chrome://)).*/$") + @-moz-document url-prefix("about:plugins"), url-prefix("about:cache"), url-prefix("about:checkerboard"), url-prefix("about:sync-log"), url-prefix("about:memory"), regexp("^(((jar:)?file:///)|(chrome://)).*/$") { /* Base */ html, @@ -1866,16 +1845,13 @@ width: 100% !important; } } - @-moz-document url-prefix("about:plugins"), - url-prefix("about:cache"), - url-prefix("about:checkerboard") { + @-moz-document url-prefix("about:plugins"), url-prefix("about:cache"), url-prefix("about:checkerboard") { table { border: 1px solid var(--in-content-table-border-color) !important; border-radius: 0 !important; } } - @-moz-document url-prefix("about:cache"), - url-prefix("about:checkerboard") { + @-moz-document url-prefix("about:cache"), url-prefix("about:checkerboard") { th, td { border: 1px solid var(--in-content-table-border-color) !important; @@ -1957,8 +1933,7 @@ } } /*= Directory View ===========================================================*/ - @-moz-document url-prefix("about:sync-log"), - regexp("^(((jar:)?file:///)|(chrome://)).*/$") + @-moz-document url-prefix("about:sync-log"), regexp("^(((jar:)?file:///)|(chrome://)).*/$") { body { background-color: var(--in-content-box-background) !important; @@ -2738,9 +2713,7 @@ } /** Monospace *****************************************************************/ @supports -moz-bool-pref("userContent.page.monospace") { - @-moz-document url-prefix("about:"), - url-prefix("chrome://browser/content/places/places.xhtml"), - regexp("^(((jar:)?file:///)|(chrome://)).*/$") + @-moz-document url-prefix("about:"), url-prefix("chrome://browser/content/places/places.xhtml"), regexp("^(((jar:)?file:///)|(chrome://)).*/$") { * { font-family: -moz-fixed; @@ -2750,8 +2723,8 @@ /** Menu - Icons Layout *******************************************************/ @supports not -moz-bool-pref("userChrome.icon.disabled") { @supports -moz-bool-pref("userChrome.icon.menu") { - @-moz-document url("chrome://browser/content/places/places.xhtml"), - url("about:downloads") { + @-moz-document url("chrome://browser/content/places/places.xhtml"), url("about:downloads") + { menupopup menuitem:not([type="checkbox"][checked="true"], [type="radio"]), menupopup menu:not([type="checkbox"][checked="true"], [type="radio"]) { -moz-appearance: none !important; /* Linux: menulist */ diff --git a/src/contents/_activity_stream.scss b/src/contents/_activity_stream.scss index 094af08..a45a1cf 100644 --- a/src/contents/_activity_stream.scss +++ b/src/contents/_activity_stream.scss @@ -1,4 +1,4 @@ -@-moz-document url("about:home"), url("about:newtab") { +@include moz-document(url "about:home", url "about:newtab") { /** Activity Stream - Search Focus Border: like URL *************************/ @include Option("userContent.page.field_border") { /* At DarkMode, Color */ diff --git a/src/contents/_context_menu.scss b/src/contents/_context_menu.scss index 89f92ea..e219505 100644 --- a/src/contents/_context_menu.scss +++ b/src/contents/_context_menu.scss @@ -1,5 +1,7 @@ -@-moz-document url("chrome://browser/content/places/places.xhtml"), - url("about:downloads") { +@include moz-document( + url "chrome://browser/content/places/places.xhtml", + url "about:downloads" +) { @import "../icons/layout/menu_contents"; /*= Context Menu ===========================================================*/ diff --git a/src/contents/_downloads.scss b/src/contents/_downloads.scss index 8f12cce..c3dcb1c 100644 --- a/src/contents/_downloads.scss +++ b/src/contents/_downloads.scss @@ -1,4 +1,4 @@ -@-moz-document url-prefix("about:downloads") { +@include moz-document(url-prefix "about:downloads") { @include Animate { @include Option("userChrome.decoration.download_panel") { @import "../decoration/download_panel"; diff --git a/src/contents/_error_page.scss b/src/contents/_error_page.scss index 26283c9..73a1706 100644 --- a/src/contents/_error_page.scss +++ b/src/contents/_error_page.scss @@ -1,7 +1,10 @@ -@-moz-document url-prefix("about:neterror"), - url("about:restartrequired"), url("chrome://browser/content/aboutRestartRequired.xhtml"), - url("about:sessionrestore"), url("chrome://browser/content/aboutSessionRestore.xhtml") -{ +@include moz-document( + url-prefix "about:neterror", + url "about:restartrequired", + url "chrome://browser/content/aboutRestartRequired.xhtml", + url "about:sessionrestore", + url "chrome://browser/content/aboutSessionRestore.xhtml" +) { /* Illustrations Position */ #errorPageContainer, .neterror > .container, @@ -66,50 +69,53 @@ //------------------------------------------------------------------------------ -@-moz-document url-prefix("about:neterror?e=connectionFailure"), - url-prefix("about:neterror?e=netInterrupt"), - url-prefix("about:neterror?e=netReset"), - url-prefix("about:neterror?e=netTimeout"), - url-prefix("about:neterror?e=netOffline"), - url("about:restartrequired"), url("chrome://browser/content/aboutRestartRequired.xhtml") -{ +@include moz-document( + url-prefix "about:neterror?e=connectionFailure", + url-prefix "about:neterror?e=netInterrupt", + url-prefix "about:neterror?e=netReset", + url-prefix "about:neterror?e=netTimeout", + url-prefix "about:neterror?e=netOffline", + url "about:restartrequired", + url "chrome://browser/content/aboutRestartRequired.xhtml" +) { @include _errorContainerImage("../icons/error-connection-failure.svg"); } -@-moz-document url-prefix("about:neterror?e=dnsNotFound") { +@include moz-document(url-prefix "about:neterror?e=dnsNotFound") { @include _errorContainerImage("../icons/error-server-not-found.svg"); } -@-moz-document url-prefix("about:neterror?e=blockedByPolicy"), - url-prefix("about:neterror?e=deniedPortAccess"), - url-prefix("about:neterror?e=malformedURI") { +@include moz-document( + url-prefix "about:neterror?e=blockedByPolicy", + url-prefix "about:neterror?e=deniedPortAccess", + url-prefix "about:neterror?e=malformedURI" +) { @include _errorContainerImage("chrome://browser/skin/illustrations/error-malformed-url.svg"); } -@-moz-document url-prefix("about:neterror?e=clockSkewError"), - url-prefix("about:neterror?e=nssFailure") { +@include moz-document( + url-prefix "about:neterror?e=clockSkewError", + url-prefix "about:neterror?e=nssFailure" +) { @include _errorContainerImage("../icons/blue-berror.svg") { background-size: 18.5em; } } -@-moz-document url("about:sessionrestore"), url("chrome://browser/content/aboutSessionRestore.xhtml") -{ +@include moz-document(url "about:sessionrestore" , url "chrome://browser/content/aboutSessionRestore.xhtml") { @include _errorDescriptionImage("../icons/error-session-restore.svg"); } -@-moz-document url-prefix("about:neterror?e=fileNotFound") { +@include moz-document(url-prefix "about:neterror?e=fileNotFound") { @include _errorTitleImage("chrome://global/skin/icons/info.svg"); #text-container { padding-inline-start: 0; } } -@-moz-document url-prefix("about:tabcrashed") { +@include moz-document(url-prefix "about:tabcrashed") { @include _errorTitleImage("chrome://browser/skin/tab-crashed.svg"); } -@-moz-document url("about:robots"), url("chrome://browser/content/aboutRobots.xhtml") -{ +@include moz-document(url "about:robots", url "chrome://browser/content/aboutRobots.xhtml") { @include _errorTitleImage("chrome://browser/content/aboutRobots-icon.png"); } -@-moz-document url("about:welcomeBack"), url("chrome://browser/content/aboutWelcomeBack.xhtml") -{ +@include moz-document(url "about:welcomeBack", url "chrome://browser/content/aboutWelcomeBack.xhtml") { @include _errorTitleImage("../icons/welcome-back.svg"); } diff --git a/src/contents/_monospace.scss b/src/contents/_monospace.scss index 30a2c55..ddd32d8 100644 --- a/src/contents/_monospace.scss +++ b/src/contents/_monospace.scss @@ -1,5 +1,7 @@ -@-moz-document url-prefix("about:"), - url-prefix("chrome://browser/content/places/places.xhtml"), - regexp("^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$") { +@include moz-document( + url-prefix "about:", + url-prefix "chrome://browser/content/places/places.xhtml", + regexp "^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$" +) { @import "../theme/monospace"; } diff --git a/src/contents/_proton_color.scss b/src/contents/_proton_color.scss index 61a7ab8..97adcaf 100644 --- a/src/contents/_proton_color.scss +++ b/src/contents/_proton_color.scss @@ -1,10 +1,12 @@ -@-moz-document url-prefix("about:"), - url-prefix("chrome://browser/content/places/places.xhtml"), - url-prefix("https://addons.mozilla.org"), - url-prefix("https://support.mozilla.org"), - url-prefix("https://accounts.firefox.com"), - url-prefix("view-source"), - regexp("^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$") { +@include moz-document( + url-prefix "about:", + url-prefix "chrome://browser/content/places/places.xhtml", + url-prefix "https://addons.mozilla.org", + url-prefix "https://support.mozilla.org", + url-prefix "https://accounts.firefox.com", + url-prefix "view-source", + regexp "^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$" +) { @import "../theme/proton_color"; @include Option("userContent.page.proton_color.dark_blue_accent") { diff --git a/src/contents/dark_mode/_accounts_com.scss b/src/contents/dark_mode/_accounts_com.scss index 9796370..9ae0afc 100644 --- a/src/contents/dark_mode/_accounts_com.scss +++ b/src/contents/dark_mode/_accounts_com.scss @@ -1,6 +1,5 @@ /*= Accounts.com ===========================================================*/ -@-moz-document url-prefix("https://accounts.firefox.com") -{ +@include moz-document(url-prefix "https://accounts.firefox.com") { /* Basic */ body { color: var(--in-content-page-color) !important; diff --git a/src/contents/dark_mode/_addons_org.scss b/src/contents/dark_mode/_addons_org.scss index d5de91c..01ff0c9 100644 --- a/src/contents/dark_mode/_addons_org.scss +++ b/src/contents/dark_mode/_addons_org.scss @@ -1,6 +1,5 @@ /*= Addons.org =============================================================*/ -@-moz-document url-prefix("https://addons.mozilla.org") -{ +@include moz-document(url-prefix "https://addons.mozilla.org") { /* Basic */ .Page-content, .SecondaryHero, diff --git a/src/contents/dark_mode/_support_org.scss b/src/contents/dark_mode/_support_org.scss index 41c9cd4..c1bd9b0 100644 --- a/src/contents/dark_mode/_support_org.scss +++ b/src/contents/dark_mode/_support_org.scss @@ -1,6 +1,5 @@ /*= Support.org ============================================================*/ -@-moz-document url-prefix("https://support.mozilla.org") -{ +@include moz-document(url-prefix "https://support.mozilla.org") { /* Basic */ :root { --color-blue-06: var(--in-content-link-color) !important; diff --git a/src/contents/proton_contents/_about_cache.scss b/src/contents/proton_contents/_about_cache.scss index 8e31b35..b9bf04c 100644 --- a/src/contents/proton_contents/_about_cache.scss +++ b/src/contents/proton_contents/_about_cache.scss @@ -1,4 +1,4 @@ -@-moz-document url-prefix("about:cache") { +@include moz-document(url-prefix "about:cache") { table { padding: 0 !important; } diff --git a/src/contents/proton_contents/_about_checkerboard.scss b/src/contents/proton_contents/_about_checkerboard.scss index 8d7fd20..f4eac3c 100644 --- a/src/contents/proton_contents/_about_checkerboard.scss +++ b/src/contents/proton_contents/_about_checkerboard.scss @@ -1,4 +1,4 @@ -@-moz-document url-prefix("about:checkerboard") { +@include moz-document(url-prefix "about:checkerboard") { #canvas { border: 1px solid var(--in-content-border-color) !important; } diff --git a/src/contents/proton_contents/_about_memory.scss b/src/contents/proton_contents/_about_memory.scss index a741846..873dd0a 100644 --- a/src/contents/proton_contents/_about_memory.scss +++ b/src/contents/proton_contents/_about_memory.scss @@ -1,4 +1,4 @@ -@-moz-document url-prefix("about:memory") { +@include moz-document(url-prefix "about:memory") { .opsRow, .section { background-color: var(--in-content-box-background) !important; diff --git a/src/contents/proton_contents/_about_plugins.scss b/src/contents/proton_contents/_about_plugins.scss index a499ab8..1a98d11 100644 --- a/src/contents/proton_contents/_about_plugins.scss +++ b/src/contents/proton_contents/_about_plugins.scss @@ -1,4 +1,4 @@ -@-moz-document url-prefix("about:plugins") { +@include moz-document(url-prefix "about:plugins") { .notice { background: var(--in-content-box-background) !important; border: 1px solid var(--in-content-border-color) !important; diff --git a/src/contents/proton_contents/_directory_view.scss b/src/contents/proton_contents/_directory_view.scss index bbe5ba3..b8feb48 100644 --- a/src/contents/proton_contents/_directory_view.scss +++ b/src/contents/proton_contents/_directory_view.scss @@ -1,5 +1,7 @@ -@-moz-document url-prefix("about:sync-log"), - regexp("^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$") { +@include moz-document( + url-prefix "about:sync-log", + regexp "^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$" +) { body { background-color: var(--in-content-box-background) !important; margin: 4em auto !important; /* Override to default */ diff --git a/src/contents/proton_contents/_field_border.scss b/src/contents/proton_contents/_field_border.scss index 3b60cc4..19044c0 100644 --- a/src/contents/proton_contents/_field_border.scss +++ b/src/contents/proton_contents/_field_border.scss @@ -1,4 +1,4 @@ -@-moz-document url-prefix("about:") { +@include moz-document(url-prefix "about:") { html|input:is([type="email"], [type="tel"], [type="text"], [type="password"], [type="url"], [type="number"]):not(#newtab-search-text):hover, html|textarea:hover, xul|search-textbox:hover { diff --git a/src/contents/proton_contents/_proton_commons.scss b/src/contents/proton_contents/_proton_commons.scss index 757bc58..9be371a 100644 --- a/src/contents/proton_contents/_proton_commons.scss +++ b/src/contents/proton_contents/_proton_commons.scss @@ -1,10 +1,12 @@ /*= abouts' common ===========================================================*/ -@-moz-document url-prefix("about:plugins"), - url-prefix("about:cache"), - url-prefix("about:checkerboard"), - url-prefix("about:sync-log"), - url-prefix("about:memory"), - regexp("^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$") { +@include moz-document( + url-prefix "about:plugins", + url-prefix "about:cache", + url-prefix "about:checkerboard", + url-prefix "about:sync-log", + url-prefix "about:memory", + regexp "^(((jar:)?file:\/\/\/)|(chrome:\/\/)).*\/$" +) { /* Base */ html, body { @@ -211,16 +213,20 @@ } } -@-moz-document url-prefix("about:plugins"), - url-prefix("about:cache"), - url-prefix("about:checkerboard") { +@include moz-document( + url-prefix "about:plugins", + url-prefix "about:cache", + url-prefix "about:checkerboard" +) { table { border: 1px solid var(--in-content-table-border-color) !important; border-radius: 0 !important; } } -@-moz-document url-prefix("about:cache"), - url-prefix("about:checkerboard") { +@include moz-document( + url-prefix "about:cache", + url-prefix "about:checkerboard" +) { th, td { border: 1px solid var(--in-content-table-border-color) !important; diff --git a/src/contents/proton_contents/_view_source.scss b/src/contents/proton_contents/_view_source.scss index 3b6845e..564de5e 100644 --- a/src/contents/proton_contents/_view_source.scss +++ b/src/contents/proton_contents/_view_source.scss @@ -1,4 +1,4 @@ -@-moz-document url-prefix("view-source") { +@include moz-document(url-prefix "view-source") { :root { background-color: var(--in-content-page-background) !important; /* Original: white */ color: var(--in-content-page-color) !important; /* Original: black */ diff --git a/src/decoration/_animate.scss b/src/decoration/_animate.scss index 07deccc..341206c 100644 --- a/src/decoration/_animate.scss +++ b/src/decoration/_animate.scss @@ -155,8 +155,7 @@ xul|search-textbox.tabsFilter, } /*- Expand - Synced Tabs ---------------------------------------------------*/ -@-moz-document url("chrome://browser/content/syncedtabs/sidebar.xhtml") -{ +@include moz-document(url "chrome://browser/content/syncedtabs/sidebar.xhtml") { .item-tabs-list { transition: transform 0.2s ease-out, opacity 0.2s ease-out; transform: translateY(0%); @@ -177,8 +176,7 @@ xul|search-textbox.tabsFilter, } /*- Arrow - Synced Tabs ----------------------------------------------------*/ -@-moz-document url("chrome://browser/content/syncedtabs/sidebar.xhtml") -{ +@include moz-document(url "chrome://browser/content/syncedtabs/sidebar.xhtml") { /* treechildren::-moz-tree-twisty: Can't apply */ #template-container .item.client { .item-twisty-container { diff --git a/src/leptonChrome.scss b/src/leptonChrome.scss index 6aa0c7f..000d72e 100644 --- a/src/leptonChrome.scss +++ b/src/leptonChrome.scss @@ -1,9 +1,10 @@ @use "utils/os" as *; @use "utils/option" as *; @use "utils/color_scheme" as *; -@use "utils/theme" as *; @use "utils/accent_color" as *; @use "utils/native_menu" as *; +@use "utils/moz_document" as *; +@use "utils/theme" as *; @use "utils/one_liner" as *; @use "utils/window_control" as *; @use "utils/has" as *; diff --git a/src/leptonContent.scss b/src/leptonContent.scss index 50af254..2242f48 100644 --- a/src/leptonContent.scss +++ b/src/leptonContent.scss @@ -3,6 +3,7 @@ @use "utils/color_scheme" as *; @use "utils/accent_color" as *; @use "utils/native_menu" as *; +@use "utils/moz_document" as *; @use "utils/proton_elements" as Proton; @use "sass:selector"; diff --git a/src/library/_chrome.scss b/src/library/_chrome.scss index 9679e20..e368152 100644 --- a/src/library/_chrome.scss +++ b/src/library/_chrome.scss @@ -1,7 +1,6 @@ @import "folder_icons"; -@-moz-document url("chrome://browser/content/places/places.xhtml") -{ +@include moz-document(url "chrome://browser/content/places/places.xhtml") { @include OS($linux) { @import "menubar"; } diff --git a/src/library/_contents.scss b/src/library/_contents.scss index 5987c71..22cee05 100644 --- a/src/library/_contents.scss +++ b/src/library/_contents.scss @@ -1,5 +1,4 @@ -@-moz-document url("chrome://browser/content/places/places.xhtml") -{ +@include moz-document(url "chrome://browser/content/places/places.xhtml") { /** Library - Icons Replace *************************************************/ @include Option("userChrome.icon.library") { @import "folder_icons"; diff --git a/src/tabbar/_multi_row.scss b/src/tabbar/_multi_row.scss index c29b7e5..7fe90cf 100644 --- a/src/tabbar/_multi_row.scss +++ b/src/tabbar/_multi_row.scss @@ -17,7 +17,7 @@ See the above repository for updates as well as full license text. */ padding-inline-start: 0px !important; } -@-moz-document url(chrome://browser/content/browser.xhtml) { +@include moz-document(url "chrome://browser/content/browser.xhtml") { #scrollbutton-up ~ spacer, #scrollbutton-up, #scrollbutton-down { diff --git a/src/theme/_fully_dark.scss b/src/theme/_fully_dark.scss index f505451..585cda4 100644 --- a/src/theme/_fully_dark.scss +++ b/src/theme/_fully_dark.scss @@ -7,8 +7,7 @@ browser[type="content"] > html { } /*= Notification =============================================================*/ -@-moz-document url("chrome://global/content/alerts/alert.xhtml") -{ +@include moz-document(url "chrome://global/content/alerts/alert.xhtml") { /* Color */ :root { --menu-color: #15141a; diff --git a/src/theme/proton_chrome/_cert.scss b/src/theme/proton_chrome/_cert.scss index 6e10d2a..5d3dee8 100644 --- a/src/theme/proton_chrome/_cert.scss +++ b/src/theme/proton_chrome/_cert.scss @@ -1,6 +1,5 @@ /*= Delete Cert ==============================================================*/ -@-moz-document url("chrome://pippki/content/deletecert.xhtml") -{ +@include moz-document(url "chrome://pippki/content/deletecert.xhtml") { #certlist { border: 1px solid var(--in-content-table-border-color) !important; border-radius: 4px !important; @@ -8,8 +7,7 @@ } /*= Cert Exception Dialog ====================================================*/ -@-moz-document url("chrome://pippki/content/exceptionDialog.xhtml") -{ +@include moz-document(url "chrome://pippki/content/exceptionDialog.xhtml") { #locationTextBox { appearance: none !important; border: 1px solid var(--in-content-box-border-color) !important; diff --git a/src/theme/proton_chrome/_library_popup.scss b/src/theme/proton_chrome/_library_popup.scss index f7e2aa6..53f079d 100644 --- a/src/theme/proton_chrome/_library_popup.scss +++ b/src/theme/proton_chrome/_library_popup.scss @@ -1,6 +1,5 @@ /*= Library Popup ============================================================*/ -@-moz-document url("chrome://browser/content/places/places.xhtml") -{ +@include moz-document(url "chrome://browser/content/places/places.xhtml") { @include OS($linux) { @import "../../library/proton"; } diff --git a/src/theme/proton_chrome/_page_info.scss b/src/theme/proton_chrome/_page_info.scss index fe10741..26b5bc6 100644 --- a/src/theme/proton_chrome/_page_info.scss +++ b/src/theme/proton_chrome/_page_info.scss @@ -1,6 +1,5 @@ /*= Page Info ================================================================*/ -@-moz-document url("chrome://browser/content/pageinfo/pageInfo.xhtml") -{ +@include moz-document(url "chrome://browser/content/pageinfo/pageInfo.xhtml") { :root { --in-content-border-color: color-mix(in srgb, currentColor 41%, transparent) !important; } diff --git a/src/theme/proton_chrome/_proton_commons.scss b/src/theme/proton_chrome/_proton_commons.scss index d5688bd..e40c4b4 100644 --- a/src/theme/proton_chrome/_proton_commons.scss +++ b/src/theme/proton_chrome/_proton_commons.scss @@ -1,12 +1,13 @@ /*= Proton Commons ===========================================================*/ -@-moz-document url("chrome://global/content/commonDialog.xhtml"), - url("chrome://pippki/content/editcacert.xhtml"), - url("chrome://pippki/content/deletecert.xhtml"), - url("chrome://pippki/content/exceptionDialog.xhtml"), - url("chrome://mozapps/content/downloads/unknownContentType.xhtml"), - url("chrome://global/content/appPicker.xhtml"), - url("chrome://browser/content/pageinfo/pageInfo.xhtml") -{ +@include moz-document( + url "chrome://global/content/commonDialog.xhtml", + url "chrome://pippki/content/editcacert.xhtml", + url "chrome://pippki/content/deletecert.xhtml", + url "chrome://pippki/content/exceptionDialog.xhtml", + url "chrome://mozapps/content/downloads/unknownContentType.xhtml", + url "chrome://global/content/appPicker.xhtml", + url "chrome://browser/content/pageinfo/pageInfo.xhtml" +) { /*- Overwrite --------------------------------------------------------------*/ @include Dark { :root { diff --git a/src/utils/_moz_document.scss b/src/utils/_moz_document.scss new file mode 100644 index 0000000..002b0df --- /dev/null +++ b/src/utils/_moz_document.scss @@ -0,0 +1,10 @@ +@mixin moz-document($urlList...) { + $result: (); + @each $prefix, $urlPattern in $urlList { + $result: append($result, #{$prefix}("#{$urlPattern}"), $separator: comma); + } + + @#{-moz-document} #{$result} { + @content; + } +}