Skip to content

Commit 867ad82

Browse files
committed
Chrome/Edge 135, FF137: Setter validation for length style properties adjusted
1 parent f5e15e8 commit 867ad82

File tree

2 files changed

+70
-71
lines changed

2 files changed

+70
-71
lines changed

src/main/java/org/htmlunit/javascript/host/css/CSSStyleDeclaration.java

+10-7
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,7 @@ public class CSSStyleDeclaration extends HtmlUnitScriptable {
8080
Definition.BORDER_TOP_WIDTH.getAttributeName(),
8181
Definition.BORDER_LEFT_WIDTH.getAttributeName(),
8282
Definition.BORDER_BOTTOM_WIDTH.getAttributeName(),
83-
Definition.BORDER_RIGHT_WIDTH.getAttributeName(),
84-
Definition.LETTER_SPACING.getAttributeName()));
83+
Definition.BORDER_RIGHT_WIDTH.getAttributeName()));
8584

8685
private static final Set<String> LENGTH_PROPERTIES_TTFF = new HashSet<>(Arrays.asList(
8786
Definition.HEIGHT.getAttributeName(),
@@ -1844,24 +1843,28 @@ public void setProperty(final String name, final Object value, final String impo
18441843
}
18451844

18461845
if (LENGTH_PROPERTIES_FFFF.contains(name)) {
1847-
setStyleLengthAttribute(name, value, imp, false, false, false, null);
1846+
setStyleLengthAttribute(name, value, imp, false, false, true, null);
18481847
}
18491848
else if (LENGTH_PROPERTIES_TTFF.contains(name)) {
1850-
setStyleLengthAttribute(name, value, imp, true, true, false, null);
1849+
setStyleLengthAttribute(name, value, imp, true, true, true, null);
18511850
}
18521851
else if (LENGTH_PROPERTIES_FTFF.contains(name)) {
1853-
setStyleLengthAttribute(name, value, imp, false, true, false, null);
1852+
setStyleLengthAttribute(name, value, imp, false, true, true, null);
18541853
}
18551854
else if (Definition.OUTLINE_WIDTH.getAttributeName().equals(name)) {
18561855
setStyleLengthAttribute(Definition.OUTLINE_WIDTH.getAttributeName(),
18571856
value, imp, false, false, true, THIN_MED_THICK);
18581857
}
1858+
else if (Definition.LETTER_SPACING.getAttributeName().equals(name)) {
1859+
setStyleLengthAttribute(Definition.LETTER_SPACING.getAttributeName(), value, imp,
1860+
false, getBrowserVersion().hasFeature(JS_STYLE_LETTER_SPACING_ACCEPTS_PERCENT), true, null);
1861+
}
18591862
else if (Definition.WORD_SPACING.getAttributeName().equals(name)) {
18601863
setStyleLengthAttribute(Definition.WORD_SPACING.getAttributeName(), value, imp,
1861-
false, getBrowserVersion().hasFeature(JS_STYLE_WORD_SPACING_ACCEPTS_PERCENT), false, null);
1864+
false, getBrowserVersion().hasFeature(JS_STYLE_WORD_SPACING_ACCEPTS_PERCENT), true, null);
18621865
}
18631866
else if (Definition.VERTICAL_ALIGN.getAttributeName().equals(name)) {
1864-
setStyleLengthAttribute(Definition.VERTICAL_ALIGN.getAttributeName(), value, imp, false, true, false, null);
1867+
setStyleLengthAttribute(Definition.VERTICAL_ALIGN.getAttributeName(), value, imp, false, true, true, null);
18651868
}
18661869
else {
18671870
setStyleAttribute(name, JavaScriptEngine.toString(value), imp);

0 commit comments

Comments
 (0)