From 47e72cc8fa37ac982748d4b45833a6cdec3569b9 Mon Sep 17 00:00:00 2001 From: torusrxxx Date: Tue, 29 Oct 2024 00:10:01 +0800 Subject: [PATCH] Add object-fit --- src/freenet/client/filter/CSSTokenizerFilter.java | 4 ++++ test/freenet/client/filter/CSSParserTest.java | 1 + 2 files changed, 5 insertions(+) diff --git a/src/freenet/client/filter/CSSTokenizerFilter.java b/src/freenet/client/filter/CSSTokenizerFilter.java index d8d8f9afd7..31d142c39f 100644 --- a/src/freenet/client/filter/CSSTokenizerFilter.java +++ b/src/freenet/client/filter/CSSTokenizerFilter.java @@ -251,6 +251,7 @@ public static T[] concat(T[] a, T[] b) { allelementVerifiers.add("nav-left"); allelementVerifiers.add("nav-right"); allelementVerifiers.add("nav-up"); + allelementVerifiers.add("object-fit"); allelementVerifiers.add("opacity"); allelementVerifiers.add("order"); allelementVerifiers.add("orphans"); @@ -1241,6 +1242,9 @@ else if ("nav-down".equalsIgnoreCase(element)) { } else if ("nav-up".equalsIgnoreCase(element)) { elementVerifiers.put(element, new CSSPropertyVerifier(Arrays.asList("auto"), ElementInfo.VISUALINTERACTIVEMEDIA, null, Arrays.asList("143 144?"))); allelementVerifiers.remove(element); + } else if ("object-fit".equalsIgnoreCase(element)) { + elementVerifiers.put(element, new CSSPropertyVerifier(Arrays.asList("contain","cover","fill","none","scale-down"), ElementInfo.VISUALMEDIA)); + allelementVerifiers.remove(element); } else if("opacity".equalsIgnoreCase(element)) { diff --git a/test/freenet/client/filter/CSSParserTest.java b/test/freenet/client/filter/CSSParserTest.java index 9acadd6803..d02ace6243 100644 --- a/test/freenet/client/filter/CSSParserTest.java +++ b/test/freenet/client/filter/CSSParserTest.java @@ -985,6 +985,7 @@ public class CSSParserTest { propertyTests.put("#a { word-break: keep-all; font-kerning: none; }", "#a { word-break: keep-all; font-kerning: none; }"); propertyTests.put("#a { tab-size: 4; }", "#a { tab-size: 4; }"); propertyTests.put("#a { tab-size: 12pt; }", "#a { tab-size: 12pt; }"); + propertyTests.put("img#a { object-fit: scale-down; }", "img#a { object-fit: scale-down; }"); // text-emphasis propertyTests.put("#x { text-emphasis: triangle blue; }", "#x { text-emphasis: triangle blue; }"); // java.lang.NullPointerException propertyTests.put("#x { text-emphasis: filled triangle blue; }", "#x { text-emphasis: filled triangle blue; }");