mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-23 16:48:08 +02:00
Revert "Revert "For mozcentral use Firefox color theme instead of system theme." since -moz-toolbar-prefers-color-scheme was removed"
This reverts commit aae8a21286
.
This commit is contained in:
parent
e788665a26
commit
86c9a8970b
2 changed files with 16 additions and 8 deletions
18
web/app.js
18
web/app.js
|
@ -431,21 +431,23 @@ const PDFViewerApplication = {
|
|||
try {
|
||||
const styleSheet = document.styleSheets[0];
|
||||
const cssRules = styleSheet?.cssRules || [];
|
||||
const mediaMatcher =
|
||||
typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")
|
||||
? "-moz-toolbar-prefers-color-scheme"
|
||||
: "prefers-color-scheme";
|
||||
const mediaRule = `(${mediaMatcher}: dark)`;
|
||||
const mediaRegex = new RegExp(
|
||||
`^@media \\(${mediaMatcher}: dark\\) {\\n\\s*([\\w\\s-.,:;/\\\\{}()]+)\\n}$`
|
||||
);
|
||||
for (let i = 0, ii = cssRules.length; i < ii; i++) {
|
||||
const rule = cssRules[i];
|
||||
if (
|
||||
rule instanceof CSSMediaRule &&
|
||||
rule.media?.[0] === "(prefers-color-scheme: dark)"
|
||||
) {
|
||||
if (rule instanceof CSSMediaRule && rule.media?.[0] === mediaRule) {
|
||||
if (cssTheme === ViewerCssTheme.LIGHT) {
|
||||
styleSheet.deleteRule(i);
|
||||
return;
|
||||
}
|
||||
// cssTheme === ViewerCssTheme.DARK
|
||||
const darkRules =
|
||||
/^@media \(prefers-color-scheme: dark\) {\n\s*([\w\s-.,:;/\\{}()]+)\n}$/.exec(
|
||||
rule.cssText
|
||||
);
|
||||
const darkRules = mediaRegex.exec(rule.cssText);
|
||||
if (darkRules?.[1]) {
|
||||
styleSheet.deleteRule(i);
|
||||
styleSheet.insertRule(darkRules[1], i);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue