Ignore CSS prefer dark

master
M66B 1 month ago
parent fdbf044d77
commit fa03200175

@ -98,6 +98,7 @@ import org.w3c.css.sac.Selector;
import org.w3c.dom.css.CSSRule; import org.w3c.dom.css.CSSRule;
import org.w3c.dom.css.CSSRuleList; import org.w3c.dom.css.CSSRuleList;
import org.w3c.dom.css.CSSStyleSheet; import org.w3c.dom.css.CSSStyleSheet;
import org.w3c.dom.css.CSSValue;
import org.w3c.dom.stylesheets.MediaList; import org.w3c.dom.stylesheets.MediaList;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
@ -1933,6 +1934,7 @@ public class HtmlHelper {
boolean hasMinWidth = false; boolean hasMinWidth = false;
boolean hasMaxWidth = false; boolean hasMaxWidth = false;
boolean preferDark = false;
List<Property> props = _media.mediaQuery(i).getProperties(); List<Property> props = _media.mediaQuery(i).getProperties();
if (props != null) if (props != null)
for (Property prop : props) { for (Property prop : props) {
@ -1946,8 +1948,14 @@ public class HtmlHelper {
hasMaxWidth = true; hasMaxWidth = true;
break; break;
} }
// https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@media/prefers-color-scheme
if ("prefers-color-scheme".equals(prop.getName())) {
CSSValue cvalue = prop.getValue();
if (cvalue != null && cvalue.getCssText() != null)
preferDark = "dark".equalsIgnoreCase(cvalue.getCssText().trim());
}
} }
if (!hasMinWidth && !hasMaxWidth) if (!hasMinWidth && !hasMaxWidth && !preferDark)
if ("all".equals(type) || "screen".equals(type) || _media.mediaQuery(i).isNot()) { if ("all".equals(type) || "screen".equals(type) || _media.mediaQuery(i).isNot()) {
Log.i("Using media=" + media.getMediaText()); Log.i("Using media=" + media.getMediaText());
return true; return true;

Loading…
Cancel
Save