Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0b4487a5b104ec51bc23cde26c7fa68d29ac85b4
      
https://github.com/WebKit/WebKit/commit/0b4487a5b104ec51bc23cde26c7fa68d29ac85b4
  Author: Sam Weinig <[email protected]>
  Date:   2026-05-18 (Mon, 18 May 2026)

  Changed paths:
    R LayoutTests/fast/css/css-typed-om-typeerror-coalescing-pair-expected.txt
    R LayoutTests/fast/css/css-typed-om-typeerror-coalescing-pair.html
    R 
LayoutTests/fast/css/css-typed-om/css-builder-converter-initial-letter-crash-expected.txt
    R 
LayoutTests/fast/css/css-typed-om/css-builder-converter-initial-letter-crash.html
    A 
LayoutTests/fast/css/css-typed-om/css-typed-om-typeerror-associated-property-mismatch-expected.txt
    A 
LayoutTests/fast/css/css-typed-om/css-typed-om-typeerror-associated-property-mismatch.html
    R LayoutTests/fast/css/cssom-border-image-width-crash-expected.txt
    R LayoutTests/fast/css/cssom-border-image-width-crash.html
    R LayoutTests/fast/css/cssom-mask-border-width-crash-expected.txt
    R LayoutTests/fast/css/cssom-mask-border-width-crash.html
    R LayoutTests/fast/css/cssom-translate-crash-expected.txt
    R LayoutTests/fast/css/cssom-translate-crash.html
    R 
LayoutTests/fast/css/stylepropertymap-append-not-checking-for-variablereferencevalue-expected.txt
    R 
LayoutTests/fast/css/stylepropertymap-append-not-checking-for-variablereferencevalue.html
    R 
LayoutTests/fast/dom/StyleSheet/css-font-variation-settings-crash-expected.txt
    R LayoutTests/fast/dom/StyleSheet/css-font-variation-settings-crash.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set.tentative-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set.tentative.html
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set.tentative-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set.tentative.html
    M Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
    M Source/WebCore/css/StyleProperties.cpp
    M Source/WebCore/css/StyleProperties.h
    M Source/WebCore/css/typedom/CSSNumericValue.cpp
    M Source/WebCore/css/typedom/CSSNumericValue.h
    M Source/WebCore/css/typedom/CSSOMKeywordValue.cpp
    M Source/WebCore/css/typedom/CSSOMKeywordValue.h
    M Source/WebCore/css/typedom/CSSStyleValue.cpp
    M Source/WebCore/css/typedom/CSSStyleValue.h
    M Source/WebCore/css/typedom/CSSStyleValueFactory.cpp
    M Source/WebCore/css/typedom/CSSStyleValueFactory.h
    M Source/WebCore/css/typedom/CSSUnitValue.cpp
    M Source/WebCore/css/typedom/CSSUnitValue.h
    M Source/WebCore/css/typedom/ComputedStylePropertyMapReadOnly.cpp
    M Source/WebCore/css/typedom/DeclaredStylePropertyMap.cpp
    M Source/WebCore/css/typedom/InlineStylePropertyMap.cpp
    M Source/WebCore/css/typedom/MainThreadStylePropertyMapReadOnly.cpp
    M Source/WebCore/css/typedom/StylePropertyMap.cpp
    M Source/WebCore/css/typedom/StylePropertyMapReadOnly.cpp
    M Source/WebCore/css/typedom/StylePropertyMapReadOnly.h
    M Source/WebCore/css/typedom/transform/CSSMatrixComponent.cpp
    M Source/WebCore/css/typedom/transform/CSSPerspective.cpp
    M Source/WebCore/css/typedom/transform/CSSRotate.cpp
    M Source/WebCore/css/typedom/transform/CSSScale.cpp
    M Source/WebCore/css/typedom/transform/CSSSkew.cpp
    M Source/WebCore/css/typedom/transform/CSSSkewX.cpp
    M Source/WebCore/css/typedom/transform/CSSSkewY.cpp
    M Source/WebCore/css/typedom/transform/CSSTranslate.cpp

  Log Message:
  -----------
  Implement support for the [[associatedProperty]] internal slot for 
CSSStyleValue
https://bugs.webkit.org/show_bug.cgi?id=314995

Reviewed by Darin Adler.

Implements support for the [[associatedProperty]] internal slot on CSSStyleValue
(https://drafts.css-houdini.org/css-typed-om/#dom-cssstylevalue-associatedproperty-slot).

This enforces that CSSStyleValue objects are only considered valid for the 
property
that they were parsed for.

With this, we can remove a few hacks we had in StylePropertyMap::set to disallow
coalescing CSSValuePair and CSSQuadValue. These cases now work when they should,
and throw a TypeError due to mismatch [[associatedProperty]] in the invalid 
case.

A bunch of tests which were added over time to test for cases of mismatch 
property
(usually found via fuzzers) were consolidated now that they all fall under the
the same [[associatedProperty]] exception.

Additionally, two WPT tests which test for [[associatedProperty] state were
updated based on the latest WPT sources.

Test: 
fast/css/css-typed-om/css-typed-om-typeerror-associated-property-mismatch.html
* LayoutTests/fast/css/css-typed-om-typeerror-coalescing-pair-expected.txt: 
Removed.
* LayoutTests/fast/css/css-typed-om-typeerror-coalescing-pair.html: Removed.
* 
LayoutTests/fast/css/css-typed-om/css-builder-converter-initial-letter-crash-expected.txt:
 Removed.
* 
LayoutTests/fast/css/css-typed-om/css-builder-converter-initial-letter-crash.html:
 Removed.
* 
LayoutTests/fast/css/css-typed-om/css-typed-om-typeerror-associated-property-mismatch-expected.txt:
 Added.
* 
LayoutTests/fast/css/css-typed-om/css-typed-om-typeerror-associated-property-mismatch.html:
 Added.
* LayoutTests/fast/css/cssom-border-image-width-crash-expected.txt: Removed.
* LayoutTests/fast/css/cssom-border-image-width-crash.html: Removed.
* LayoutTests/fast/css/cssom-mask-border-width-crash-expected.txt: Removed.
* LayoutTests/fast/css/cssom-mask-border-width-crash.html: Removed.
* LayoutTests/fast/css/cssom-translate-crash-expected.txt: Removed.
* LayoutTests/fast/css/cssom-translate-crash.html: Removed.
* 
LayoutTests/fast/css/stylepropertymap-append-not-checking-for-variablereferencevalue-expected.txt:
 Removed.
* 
LayoutTests/fast/css/stylepropertymap-append-not-checking-for-variablereferencevalue.html:
 Removed.
* 
LayoutTests/fast/dom/StyleSheet/css-font-variation-settings-crash-expected.txt: 
Removed.
* LayoutTests/fast/dom/StyleSheet/css-font-variation-settings-crash.html: 
Removed.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set.tentative-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/declared/set.tentative.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set.tentative-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/set.tentative.html:
* Source/WebCore/css/StyleProperties.cpp:
* Source/WebCore/css/StyleProperties.h:
* Source/WebCore/css/typedom/CSSNumericValue.cpp:
* Source/WebCore/css/typedom/CSSNumericValue.h:
* Source/WebCore/css/typedom/CSSOMKeywordValue.cpp:
* Source/WebCore/css/typedom/CSSOMKeywordValue.h:
* Source/WebCore/css/typedom/CSSStyleValue.cpp:
* Source/WebCore/css/typedom/CSSStyleValue.h:
* Source/WebCore/css/typedom/CSSStyleValueFactory.cpp:
* Source/WebCore/css/typedom/CSSStyleValueFactory.h:
* Source/WebCore/css/typedom/CSSUnitValue.cpp:
* Source/WebCore/css/typedom/CSSUnitValue.h:
* Source/WebCore/css/typedom/ComputedStylePropertyMapReadOnly.cpp:
* Source/WebCore/css/typedom/DeclaredStylePropertyMap.cpp:
* Source/WebCore/css/typedom/InlineStylePropertyMap.cpp:
* Source/WebCore/css/typedom/MainThreadStylePropertyMapReadOnly.cpp:
* Source/WebCore/css/typedom/StylePropertyMap.cpp:
* Source/WebCore/css/typedom/StylePropertyMapReadOnly.cpp:
* Source/WebCore/css/typedom/StylePropertyMapReadOnly.h:
* Source/WebCore/css/typedom/transform/CSSMatrixComponent.cpp:
* Source/WebCore/css/typedom/transform/CSSPerspective.cpp:
* Source/WebCore/css/typedom/transform/CSSRotate.cpp:
* Source/WebCore/css/typedom/transform/CSSScale.cpp:
* Source/WebCore/css/typedom/transform/CSSSkew.cpp:
* Source/WebCore/css/typedom/transform/CSSSkewX.cpp:
* Source/WebCore/css/typedom/transform/CSSSkewY.cpp:
* Source/WebCore/css/typedom/transform/CSSTranslate.cpp:

Canonical link: https://commits.webkit.org/313456@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to