Repository: WebKit/WebKit
Pull request #44131: Remove support for dynamic-range-limit-mix() for now
Author: login: squelart
Labels: name: CSS
description: Cascading Style Sheets implementation
Created: 2025-04-16T01:26:12Z | Merged: 2025-05-22T00:04:23Z

#### 8fb9eb82a72f1c75f95ef3b81674f6cb39c78582
<pre>
Remove support for dynamic-range-limit-mix() for now
<a href="https://bugs.webkit.org/show_bug.cgi?id=293339">https://bugs.webkit.org/show_bug.cgi?id=293339</a>
<a href="https://rdar.apple.com/151749775">rdar://151749775</a>

Reviewed by Tim Nguyen.

While the full implementation of dynamic-range-limit-mix() is still
being worked on, stop parsing it if new default-OFF preference
CSSDynamicRangeLimitMixEnabled if OFF; this effectively removes support.

Also, transitions are completely disabled regardless of the preference.

* LayoutTests/imported/w3c/web-platform-tests/css/css-color-hdr/interpolation-expected.txt:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/parser/CSSParserContext.cpp:
(WebCore::add):
* Source/WebCore/css/parser/CSSParserContext.h:
* Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp:
(WebCore::CSSPropertyParserHelpers::consumeUnresolvedDynamicRangeLimit):

Canonical link: <a href="https://commits.webkit.org/295248@main">https://commits.webkit.org/295248@main</a>
</pre>
<!--EWS-Status-Bubble-Start-->
https://github.com/WebKit/WebKit/commit/4847cec82d5c14b2165550ac09feea0907476ac4

| Misc | iOS, visionOS, tvOS & watchOS  | macOS  | Linux |  Windows |
| ----- | ---------------------- | ------- |  ----- |  --------- |
| [✅ 🧪 style](https://ews-build.webkit.org/#/builders/38/builds/104413 "Passed style check") | [✅ 🛠 ios](https://ews-build.webkit.org/#/builders/131/builds/24117 "Built successfully") | [✅ 🛠 mac](https://ews-build.webkit.org/#/builders/138/builds/14533 "Built successfully") | [✅ 🛠 wpe](https://ews-build.webkit.org/#/builders/5/builds/109616 "Built successfully") | [✅ 🛠 win](https://ews-build.webkit.org/#/builders/59/builds/55081 "Built successfully") 
| [✅ 🧪 bindings](https://ews-build.webkit.org/#/builders/9/builds/106453 "Passed tests") | [✅ 🛠 ios-sim](https://ews-build.webkit.org/#/builders/130/builds/24498 "Built successfully") | [✅ 🛠 mac-AS-debug](https://ews-build.webkit.org/#/builders/123/builds/32664 "Built successfully") | [✅ 🧪 wpe-wk2](https://ews-build.webkit.org/#/builders/34/builds/79280 "Passed tests") | [⏳ 🧪 win-tests](https://ews-build.webkit.org/#/builders/Win-Tests-EWS "Waiting to run tests") 
| [✅ 🧪 webkitperl](https://ews-build.webkit.org/#/builders/11/builds/107419 "Passed tests") | [✅ 🧪 ios-wk2](https://ews-build.webkit.org/#/builders/132/builds/19049 "Passed tests") | [✅ 🧪 api-mac](https://ews-build.webkit.org/#/builders/18/builds/94232 "Passed tests") | [✅ 🧪 api-wpe](https://ews-build.webkit.org/#/builders/41/builds/59610 "Passed tests") | 
| | [✅ 🧪 ios-wk2-wpt](https://ews-build.webkit.org/#/builders/133/builds/18857 "Passed tests") | [✅ 🧪 mac-wk1](https://ews-build.webkit.org/#/builders/135/builds/12307 "Passed tests") | [✅ 🛠 wpe-cairo](https://ews-build.webkit.org/#/builders/65/builds/54443 "Built successfully") | 
| [✅ 🛠 🧪 jsc](https://ews-build.webkit.org/#/builders/20/builds/97088 "Built successfully and passed tests") | [✅ 🧪 api-ios](https://ews-build.webkit.org/#/builders/13/builds/88536 "Passed tests") | [✅ 🧪 mac-wk2](https://ews-build.webkit.org/#/builders/136/builds/12359 "Passed tests") | [✅ 🛠 gtk](https://ews-build.webkit.org/#/builders/2/builds/111999 "Built successfully") | 
| [✅ 🛠 🧪 jsc-arm64](https://ews-build.webkit.org/#/builders/12/builds/103024 "Built successfully and passed tests") | [✅ 🛠 vision](https://ews-build.webkit.org/#/builders/128/builds/31570 "Built successfully") | [✅ 🧪 mac-AS-debug-wk2](https://ews-build.webkit.org/#/builders/122/builds/23263 "Passed tests") | [✅ 🧪 gtk-wk2](https://ews-build.webkit.org/#/builders/1/builds/88323 "Passed tests") | 
| | [❌ 🛠 vision-sim](https://ews-build.webkit.org/#/builders/121/builds/31934 "Failed to checkout and rebase branch from PR 44131") | [✅ 🧪 mac-wk2-stress](https://ews-build.webkit.org/#/builders/8/builds/90476 "Passed tests") | [✅ 🧪 api-gtk](https://ews-build.webkit.org/#/builders/21/builds/87991 "Passed tests") | 
| [✅ 🛠 🧪 merge](https://ews-build.webkit.org/#/builders/19/builds/22430 "Built successfully and passed tests") | [⏳ 🧪 vision-wk2 ](https://ews-build.webkit.org/#/builders/visionOS-2-Simulator-WK2-Tests-EWS "Waiting in queue, processing has not started yet") | [✅ 🧪 mac-intel-wk2](https://ews-build.webkit.org/#/builders/137/builds/10651 "Passed tests") | [✅ 🛠 playstation](https://ews-build.webkit.org/#/builders/134/builds/26040 "Built successfully") | 
| | [✅ 🛠 tv](https://ews-build.webkit.org/#/builders/127/builds/31498 "Built successfully") | [✅ 🛠 mac-safer-cpp](https://ews-build.webkit.org/#/builders/120/builds/36823 "Built successfully") | [  ~~🛠 jsc-armv7~~](https://ews-build.webkit.org/#/builders/35/builds/127227 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [✅ 🛠 tv-sim](https://ews-build.webkit.org/#/builders/125/builds/31292 "Built successfully") | | [  ~~🧪 jsc-armv7-tests~~](https://ews-build.webkit.org/#/builders/35/builds/127227 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [✅ 🛠 watch](https://ews-build.webkit.org/#/builders/129/builds/34628 "Built successfully") | | | 
| | [✅ 🛠 watch-sim](https://ews-build.webkit.org/#/builders/124/builds/32852 "Built successfully") | | | 
<!--EWS-Status-Bubble-End-->


Diff:
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-hdr/interpolation-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-color-hdr/interpolation-expected.txt
index 428a62b2d633..de59d236ca71 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-color-hdr/interpolation-expected.txt
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-color-hdr/interpolation-expected.txt
@@ -1,66 +1,66 @@
 
-PASS CSS Transitions: property <dynamic-range-limit> from [no-limit] to [standard] at (0) should be [no-limit]
-PASS CSS Transitions: property <dynamic-range-limit> from [no-limit] to [standard] at (0.25) should be [dynamic-range-limit-mix(standard 25%, no-limit 75%)]
-PASS CSS Transitions: property <dynamic-range-limit> from [no-limit] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 75%, no-limit 25%)]
+FAIL CSS Transitions: property <dynamic-range-limit> from [no-limit] to [standard] at (0) should be [no-limit] assert_equals: expected "no - limit " but got "standard "
+FAIL CSS Transitions: property <dynamic-range-limit> from [no-limit] to [standard] at (0.25) should be [dynamic-range-limit-mix(standard 25%, no-limit 75%)] assert_equals: expected "dynamic - range - limit - mix ( standard 25 % , no - limit 75 % ) " but got "standard "
+FAIL CSS Transitions: property <dynamic-range-limit> from [no-limit] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 75%, no-limit 25%)] assert_equals: expected "dynamic - range - limit - mix ( standard 75 % , no - limit 25 % ) " but got "standard "
 PASS CSS Transitions: property <dynamic-range-limit> from [no-limit] to [standard] at (1) should be [standard]
-PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [no-limit] to [standard] at (0) should be [no-limit]
-PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [no-limit] to [standard] at (0.25) should be [dynamic-range-limit-mix(standard 25%, no-limit 75%)]
-PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [no-limit] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 75%, no-limit 25%)]
+FAIL CSS Transitions with transition: all: property <dynamic-range-limit> from [no-limit] to [standard] at (0) should be [no-limit] assert_equals: expected "no - limit " but got "standard "
+FAIL CSS Transitions with transition: all: property <dynamic-range-limit> from [no-limit] to [standard] at (0.25) should be [dynamic-range-limit-mix(standard 25%, no-limit 75%)] assert_equals: expected "dynamic - range - limit - mix ( standard 25 % , no - limit 75 % ) " but got "standard "
+FAIL CSS Transitions with transition: all: property <dynamic-range-limit> from [no-limit] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 75%, no-limit 25%)] assert_equals: expected "dynamic - range - limit - mix ( standard 75 % , no - limit 25 % ) " but got "standard "
 PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [no-limit] to [standard] at (1) should be [standard]
-PASS CSS Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0) should be [no-limit]
-PASS CSS Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0.25) should be [dynamic-range-limit-mix(standard 25%, no-limit 75%)]
-PASS CSS Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 75%, no-limit 25%)]
-PASS CSS Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (1) should be [standard]
-PASS Web Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0) should be [no-limit]
-PASS Web Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0.25) should be [dynamic-range-limit-mix(standard 25%, no-limit 75%)]
-PASS Web Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 75%, no-limit 25%)]
-PASS Web Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (1) should be [standard]
-PASS CSS Transitions: property <dynamic-range-limit> from [constrained-high] to [standard] at (0) should be [constrained-high]
-PASS CSS Transitions: property <dynamic-range-limit> from [constrained-high] to [standard] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 50%)]
+FAIL CSS Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0) should be [no-limit] assert_equals: expected "no - limit " but got "constrained - high "
+FAIL CSS Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0.25) should be [dynamic-range-limit-mix(standard 25%, no-limit 75%)] assert_equals: expected "dynamic - range - limit - mix ( standard 25 % , no - limit 75 % ) " but got "constrained - high "
+FAIL CSS Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 75%, no-limit 25%)] assert_equals: expected "dynamic - range - limit - mix ( standard 75 % , no - limit 25 % ) " but got "constrained - high "
+FAIL CSS Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (1) should be [standard] assert_equals: expected "standard " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0) should be [no-limit] assert_equals: expected "no - limit " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0.25) should be [dynamic-range-limit-mix(standard 25%, no-limit 75%)] assert_equals: expected "dynamic - range - limit - mix ( standard 25 % , no - limit 75 % ) " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 75%, no-limit 25%)] assert_equals: expected "dynamic - range - limit - mix ( standard 75 % , no - limit 25 % ) " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [no-limit] to [standard] at (1) should be [standard] assert_equals: expected "standard " but got "constrained - high "
+FAIL CSS Transitions: property <dynamic-range-limit> from [constrained-high] to [standard] at (0) should be [constrained-high] assert_equals: expected "constrained - high " but got "standard "
+FAIL CSS Transitions: property <dynamic-range-limit> from [constrained-high] to [standard] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , constrained - high 50 % ) " but got "standard "
 PASS CSS Transitions: property <dynamic-range-limit> from [constrained-high] to [standard] at (1) should be [standard]
-PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [constrained-high] to [standard] at (0) should be [constrained-high]
-PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [constrained-high] to [standard] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 50%)]
+FAIL CSS Transitions with transition: all: property <dynamic-range-limit> from [constrained-high] to [standard] at (0) should be [constrained-high] assert_equals: expected "constrained - high " but got "standard "
+FAIL CSS Transitions with transition: all: property <dynamic-range-limit> from [constrained-high] to [standard] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , constrained - high 50 % ) " but got "standard "
 PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [constrained-high] to [standard] at (1) should be [standard]
 PASS CSS Animations: property <dynamic-range-limit> from [constrained-high] to [standard] at (0) should be [constrained-high]
-PASS CSS Animations: property <dynamic-range-limit> from [constrained-high] to [standard] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 50%)]
-PASS CSS Animations: property <dynamic-range-limit> from [constrained-high] to [standard] at (1) should be [standard]
+FAIL CSS Animations: property <dynamic-range-limit> from [constrained-high] to [standard] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , constrained - high 50 % ) " but got "constrained - high "
+FAIL CSS Animations: property <dynamic-range-limit> from [constrained-high] to [standard] at (1) should be [standard] assert_equals: expected "standard " but got "constrained - high "
 PASS Web Animations: property <dynamic-range-limit> from [constrained-high] to [standard] at (0) should be [constrained-high]
-PASS Web Animations: property <dynamic-range-limit> from [constrained-high] to [standard] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 50%)]
-PASS Web Animations: property <dynamic-range-limit> from [constrained-high] to [standard] at (1) should be [standard]
-PASS CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)]
-PASS CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 87.5%, no-limit 12.5%)]
+FAIL Web Animations: property <dynamic-range-limit> from [constrained-high] to [standard] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , constrained - high 50 % ) " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [constrained-high] to [standard] at (1) should be [standard] assert_equals: expected "standard " but got "constrained - high "
+FAIL CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , no - limit 50 % ) " but got "standard "
+FAIL CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 87.5%, no-limit 12.5%)] assert_equals: expected "dynamic - range - limit - mix ( standard 87.5 % , no - limit 12.5 % ) " but got "standard "
 PASS CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (1) should be [standard]
-PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)]
-PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 87.5%, no-limit 12.5%)]
+FAIL CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , no - limit 50 % ) " but got "standard "
+FAIL CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 87.5%, no-limit 12.5%)] assert_equals: expected "dynamic - range - limit - mix ( standard 87.5 % , no - limit 12.5 % ) " but got "standard "
 PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (1) should be [standard]
-PASS CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)]
-PASS CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 87.5%, no-limit 12.5%)]
-PASS CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (1) should be [standard]
-PASS Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)]
-PASS Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 87.5%, no-limit 12.5%)]
-PASS Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (1) should be [standard]
-PASS CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)]
-PASS CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)]
+FAIL CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , no - limit 50 % ) " but got "constrained - high "
+FAIL CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 87.5%, no-limit 12.5%)] assert_equals: expected "dynamic - range - limit - mix ( standard 87.5 % , no - limit 12.5 % ) " but got "constrained - high "
+FAIL CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (1) should be [standard] assert_equals: expected "standard " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , no - limit 50 % ) " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (0.75) should be [dynamic-range-limit-mix(standard 87.5%, no-limit 12.5%)] assert_equals: expected "dynamic - range - limit - mix ( standard 87.5 % , no - limit 12.5 % ) " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 50%, no-limit 50%)] to [standard] at (1) should be [standard] assert_equals: expected "standard " but got "constrained - high "
+FAIL CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)] assert_equals: expected "dynamic - range - limit - mix ( standard 90 % , no - limit 10 % ) " but got "dynamic - range - limit - mix ( standard 10 % , no - limit 90 % ) "
+FAIL CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , no - limit 50 % ) " but got "dynamic - range - limit - mix ( standard 10 % , no - limit 90 % ) "
 PASS CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (1) should be [dynamic-range-limit-mix(standard 10%, no-limit 90%)]
-PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)]
-PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)]
+FAIL CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)] assert_equals: expected "dynamic - range - limit - mix ( standard 90 % , no - limit 10 % ) " but got "dynamic - range - limit - mix ( standard 10 % , no - limit 90 % ) "
+FAIL CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , no - limit 50 % ) " but got "dynamic - range - limit - mix ( standard 10 % , no - limit 90 % ) "
 PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (1) should be [dynamic-range-limit-mix(standard 10%, no-limit 90%)]
-PASS CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)]
-PASS CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)]
-PASS CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (1) should be [dynamic-range-limit-mix(standard 10%, no-limit 90%)]
-PASS Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)]
-PASS Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)]
-PASS Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (1) should be [dynamic-range-limit-mix(standard 10%, no-limit 90%)]
-PASS CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0) should be [dynamic-range-limit-mix(standard 10%, constrained-high 90%)]
-PASS CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 45%, no-limit 5%)]
+FAIL CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)] assert_equals: expected "dynamic - range - limit - mix ( standard 90 % , no - limit 10 % ) " but got "constrained - high "
+FAIL CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , no - limit 50 % ) " but got "constrained - high "
+FAIL CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (1) should be [dynamic-range-limit-mix(standard 10%, no-limit 90%)] assert_equals: expected "dynamic - range - limit - mix ( standard 10 % , no - limit 90 % ) " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)] assert_equals: expected "dynamic - range - limit - mix ( standard 90 % , no - limit 10 % ) " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, no-limit 50%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , no - limit 50 % ) " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(standard 90%, no-limit 10%)] to [dynamic-range-limit-mix(standard 10%, no-limit 90%)] at (1) should be [dynamic-range-limit-mix(standard 10%, no-limit 90%)] assert_equals: expected "dynamic - range - limit - mix ( standard 10 % , no - limit 90 % ) " but got "constrained - high "
+FAIL CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0) should be [dynamic-range-limit-mix(standard 10%, constrained-high 90%)] assert_equals: expected "dynamic - range - limit - mix ( standard 10 % , constrained - high 90 % ) " but got "dynamic - range - limit - mix ( standard 90 % , no - limit 10 % ) "
+FAIL CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 45%, no-limit 5%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , constrained - high 45 % , no - limit 5 % ) " but got "dynamic - range - limit - mix ( standard 90 % , no - limit 10 % ) "
 PASS CSS Transitions: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (1) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)]
-PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0) should be [dynamic-range-limit-mix(standard 10%, constrained-high 90%)]
-PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 45%, no-limit 5%)]
+FAIL CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0) should be [dynamic-range-limit-mix(standard 10%, constrained-high 90%)] assert_equals: expected "dynamic - range - limit - mix ( standard 10 % , constrained - high 90 % ) " but got "dynamic - range - limit - mix ( standard 90 % , no - limit 10 % ) "
+FAIL CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 45%, no-limit 5%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , constrained - high 45 % , no - limit 5 % ) " but got "dynamic - range - limit - mix ( standard 90 % , no - limit 10 % ) "
 PASS CSS Transitions with transition: all: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (1) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)]
-PASS CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0) should be [dynamic-range-limit-mix(standard 10%, constrained-high 90%)]
-PASS CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 45%, no-limit 5%)]
-PASS CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (1) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)]
-PASS Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0) should be [dynamic-range-limit-mix(standard 10%, constrained-high 90%)]
-PASS Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 45%, no-limit 5%)]
-PASS Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (1) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)]
+FAIL CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0) should be [dynamic-range-limit-mix(standard 10%, constrained-high 90%)] assert_equals: expected "dynamic - range - limit - mix ( standard 10 % , constrained - high 90 % ) " but got "constrained - high "
+FAIL CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 45%, no-limit 5%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , constrained - high 45 % , no - limit 5 % ) " but got "constrained - high "
+FAIL CSS Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (1) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)] assert_equals: expected "dynamic - range - limit - mix ( standard 90 % , no - limit 10 % ) " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0) should be [dynamic-range-limit-mix(standard 10%, constrained-high 90%)] assert_equals: expected "dynamic - range - limit - mix ( standard 10 % , constrained - high 90 % ) " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (0.5) should be [dynamic-range-limit-mix(standard 50%, constrained-high 45%, no-limit 5%)] assert_equals: expected "dynamic - range - limit - mix ( standard 50 % , constrained - high 45 % , no - limit 5 % ) " but got "constrained - high "
+FAIL Web Animations: property <dynamic-range-limit> from [dynamic-range-limit-mix(constrained-high 90%, standard 10%)] to [dynamic-range-limit-mix(no-limit 10%, standard 90%)] at (1) should be [dynamic-range-limit-mix(standard 90%, no-limit 10%)] assert_equals: expected "dynamic - range - limit - mix ( standard 90 % , no - limit 10 % ) " but got "constrained - high "
 
diff --git a/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml b/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
index e3858626e762..3437d1ccf6e9 100644
--- a/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
+++ b/Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
@@ -1188,6 +1188,20 @@ CSSDPropertyEnabled:
     WebCore:
       default: false
 
+CSSDynamicRangeLimitMixEnabled:
+  type: bool
+  category: css
+  status: testable
+  humanReadableName: "CSS dynamic-range-limit-mix()"
+  humanReadableDescription: "Enable support for CSS dynamic-range-limit-mix(), but animation stays unsupported"
+  defaultValue:
+    WebKitLegacy:
+      default: false
+    WebKit:
+      default: false
+    WebCore:
+      default: false
+
 CSSFieldSizingEnabled:
   type: bool
   status: testable
diff --git a/Source/WebCore/css/CSSProperties.json b/Source/WebCore/css/CSSProperties.json
index 2d3c7666297d..ab83a41ceeab 100644
--- a/Source/WebCore/css/CSSProperties.json
+++ b/Source/WebCore/css/CSSProperties.json
@@ -4310,7 +4310,8 @@
             }
         },
         "dynamic-range-limit": {
-            "animation-type": "see prose",
+            "animation-type": "not animatable",
+            "animation-type-comment": "FIXME: Specs say it's animatable, but dynamic-range-limit-mix() cannot be implemented yet; see webkit.org/b/293339",
             "inherited": true,
             "initial": "constrained-high",
             "values": [
@@ -4319,7 +4320,7 @@
                 "no-limit"
             ],
             "codegen-properties": {
-                "animation-wrapper": "StyleTypeWrapper",
+                "animation-wrapper-comment": "FIXME: Use StyleTypeWrapper when dynamic-range-limit-mix() is implemented; see webkit.org/b/293339",
                 "settings-flag": "supportHDRDisplayEnabled",
                 "style-converter": "DynamicRangeLimit",
                 "parser-function": "consumeDynamicRangeLimit",
diff --git a/Source/WebCore/css/parser/CSSParserContext.cpp b/Source/WebCore/css/parser/CSSParserContext.cpp
index c887b95968cf..4f3dfa8d13d9 100644
--- a/Source/WebCore/css/parser/CSSParserContext.cpp
+++ b/Source/WebCore/css/parser/CSSParserContext.cpp
@@ -112,6 +112,7 @@ CSSParserContext::CSSParserContext(const Document& document, const URL& sheetBas
     , cssTreeCountingFunctionsEnabled { document.settings().cssTreeCountingFunctionsEnabled() }
     , cssURLModifiersEnabled { document.settings().cssURLModifiersEnabled() }
     , cssAxisRelativePositionKeywordsEnabled { document.settings().cssAxisRelativePositionKeywordsEnabled() }
+    , cssDynamicRangeLimitMixEnabled { document.settings().cssDynamicRangeLimitMixEnabled() }
     , webkitMediaTextTrackDisplayQuirkEnabled { document.quirks().needsWebKitMediaTextTrackDisplayQuirk() }
     , propertySettings { CSSPropertySettings { document.settings() } }
 {
@@ -151,7 +152,8 @@ void add(Hasher& hasher, const CSSParserContext& context)
         | context.cssRandomFunctionEnabled                  << 25
         | context.cssTreeCountingFunctionsEnabled           << 26
         | context.cssURLModifiersEnabled                    << 27
-        | context.cssAxisRelativePositionKeywordsEnabled    << 28;
+        | context.cssAxisRelativePositionKeywordsEnabled    << 28
+        | context.cssDynamicRangeLimitMixEnabled            << 29;
     add(hasher, context.baseURL, context.charset, context.propertySettings, context.mode, bits);
 }
 
diff --git a/Source/WebCore/css/parser/CSSParserContext.h b/Source/WebCore/css/parser/CSSParserContext.h
index 8597551fd706..23686a3a7eac 100644
--- a/Source/WebCore/css/parser/CSSParserContext.h
+++ b/Source/WebCore/css/parser/CSSParserContext.h
@@ -85,6 +85,7 @@ struct CSSParserContext {
     bool cssTreeCountingFunctionsEnabled : 1 { false };
     bool cssURLModifiersEnabled : 1 { false };
     bool cssAxisRelativePositionKeywordsEnabled : 1 { false };
+    bool cssDynamicRangeLimitMixEnabled : 1 { false };
     bool webkitMediaTextTrackDisplayQuirkEnabled : 1 { false };
 
     // Settings, those affecting properties.
diff --git a/Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp b/Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp
index 5b1a58a3f832..d99863e210f9 100644
--- a/Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp
+++ b/Source/WebCore/css/parser/CSSPropertyParserConsumer+Color.cpp
@@ -1013,6 +1013,9 @@ std::optional<CSS::DynamicRangeLimit> consumeUnresolvedDynamicRangeLimit(CSSPars
         break;
     }
 
+    if (!propertyParserState.context.cssDynamicRangeLimitMixEnabled)
+        return { };
+
     if (range.peek().functionId() == CSSValueDynamicRangeLimitMix) {
         if (auto mix = consumeUnresolvedDynamicRangeLimitMix(range, propertyParserState))
             return CSS::DynamicRangeLimit { WTFMove(*mix) };


Reviews:
user: login: nt1m
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-16T13:17:35Z
user: login: nt1m
state: APPROVED
author_association: MEMBER
submitted_at: 2025-05-21T11:05:50Z
user: login: nt1m
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-21T11:08:10Z

Review comments:
diff_hunk: @@ -1230,6 +1230,20 @@ CSSDPropertyEnabled:
     WebCore:
       default: false
 
+CSSDynamicRangeLimitMixEnabled:
+  type: bool
+  category: css
+  status: unstable
path: Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
user: login: nt1m
body: You can use `testable` to keep the WPT passing, people can also choose to enable it from the Feature Flags too
created_at: 2025-04-16T13:17:15Z
author_association: MEMBER
diff_hunk: @@ -4310,7 +4310,7 @@
             }
         },
         "dynamic-range-limit": {
-            "animation-type": "see prose",
+            "animation-type": "not animatable",
path: Source/WebCore/css/CSSProperties.json
user: login: nt1m
body: Can you add an "animation-type-comment" explaining why it's currently not animatable?
created_at: 2025-05-21T11:05:35Z
author_association: MEMBER
diff_hunk: @@ -4310,7 +4310,7 @@
             }
         },
         "dynamic-range-limit": {
-            "animation-type": "see prose",
+            "animation-type": "not animatable",
path: Source/WebCore/css/CSSProperties.json
user: login: nt1m
body: The comment should include that the spec defines it as animatable too
created_at: 2025-05-21T11:08:10Z
author_association: MEMBER

PR comments:
user: login: webkit-early-warning-system
created_at: 2025-04-16T01:26:19Z
body: EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/e88e37f1326e2ba8d893b5a60a8d29068607236e)<details>

| Misc | iOS, visionOS, tvOS & watchOS  | macOS  | Linux |  Windows |
| ----- | ---------------------- | ------- |  ----- |  --------- |
| [✅ 🧪 style](https://ews-build.webkit.org/#/builders/38/builds/99812 "Passed style check") | [✅ 🛠 ios](https://ews-build.webkit.org/#/builders/131/builds/19457 "Built successfully") | [✅ 🛠 mac](https://ews-build.webkit.org/#/builders/138/builds/9732 "Built successfully") | [✅ 🛠 wpe](https://ews-build.webkit.org/#/builders/5/builds/104937 "Built successfully") | [✅ 🛠 win](https://ews-build.webkit.org/#/builders/59/builds/50391 "Built successfully") 
| [✅ 🧪 bindings](https://ews-build.webkit.org/#/builders/9/builds/101853 "Passed tests") | [✅ 🛠 ios-sim](https://ews-build.webkit.org/#/builders/130/builds/19762 "Built successfully") | [✅ 🛠 mac-AS-debug](https://ews-build.webkit.org/#/builders/123/builds/27893 "Built successfully") | [✅ 🧪 wpe-wk2](https://ews-build.webkit.org/#/builders/34/builds/75982 "Passed tests") | [✅ 🧪 win-tests](https://ews-build.webkit.org/#/builders/60/builds/33063 "Passed tests") 
| [✅ 🧪 webkitperl](https://ews-build.webkit.org/#/builders/11/builds/102819 "Passed tests") | [✅ 🧪 ios-wk2](https://ews-build.webkit.org/#/builders/132/builds/15057 "Passed tests") | [✅ 🧪 api-mac](https://ews-build.webkit.org/#/builders/18/builds/90123 "Passed tests") | [✅ 🧪 api-wpe](https://ews-build.webkit.org/#/builders/41/builds/56342 "Passed tests") | 
| | [✅ 🧪 ios-wk2-wpt](https://ews-build.webkit.org/#/builders/133/builds/14863 "Passed tests") | [✅ 🧪 mac-wk1](https://ews-build.webkit.org/#/builders/135/builds/8110 "Passed tests") | [✅ 🛠 wpe-cairo](https://ews-build.webkit.org/#/builders/65/builds/49762 "Built successfully") | 
| [✅ 🛠 🧪 jsc](https://ews-build.webkit.org/#/builders/20/builds/92469 "Built successfully and passed tests") | [✅ 🧪 api-ios](https://ews-build.webkit.org/#/builders/13/builds/84783 "Passed tests") | [✅ 🧪 mac-wk2](https://ews-build.webkit.org/#/builders/136/builds/8195 "Passed tests") | [✅ 🛠 gtk](https://ews-build.webkit.org/#/builders/2/builds/107298 "Built successfully") | 
| [✅ 🛠 🧪 jsc-arm64](https://ews-build.webkit.org/#/builders/12/builds/98418 "Built successfully and passed tests") | [✅ 🛠 vision](https://ews-build.webkit.org/#/builders/128/builds/26923 "Built successfully") | [✅ 🧪 mac-AS-debug-wk2](https://ews-build.webkit.org/#/builders/122/builds/19656 "Passed tests") | [✅ 🧪 gtk-wk2](https://ews-build.webkit.org/#/builders/1/builds/84928 "Passed tests") | 
| | [✅ 🛠 vision-sim](https://ews-build.webkit.org/#/builders/121/builds/27284 "Built successfully") | [✅ 🧪 mac-wk2-stress](https://ews-build.webkit.org/#/builders/8/builds/86328 "Passed tests") | [✅ 🧪 api-gtk](https://ews-build.webkit.org/#/builders/21/builds/84455 "Passed tests") | 
| | [✅ 🧪 vision-wk2](https://ews-build.webkit.org/#/builders/126/builds/29129 "Passed tests") | [✅ 🧪 mac-intel-wk2](https://ews-build.webkit.org/#/builders/137/builds/6839 "Passed tests") | [✅ 🛠 playstation](https://ews-build.webkit.org/#/builders/134/builds/20729 "Built successfully") | 
| | [✅ 🛠 tv](https://ews-build.webkit.org/#/builders/127/builds/26859 "Built successfully") | [✅ 🛠 mac-safer-cpp](https://ews-build.webkit.org/#/builders/120/builds/32070 "Built successfully") | [✅ 🛠 jsc-armv7](https://ews-build.webkit.org/#/builders/35/builds/122044 "Built successfully") | 
| | [✅ 🛠 tv-sim](https://ews-build.webkit.org/#/builders/125/builds/26670 "Built successfully") | | [✅ 🧪 jsc-armv7-tests](https://ews-build.webkit.org/#/builders/25/builds/34075 "Passed tests") | 
| | [✅ 🛠 watch](https://ews-build.webkit.org/#/builders/129/builds/29987 "Built successfully") | | | 
| | [✅ 🛠 watch-sim](https://ews-build.webkit.org/#/builders/124/builds/28232 "Built successfully") | | | </details>
author_association: COLLABORATOR
user: login: nt1m
created_at: 2025-04-16T13:17:55Z
body: Would be nice to know why this is getting disabled in the commit message
author_association: MEMBER
user: login: webkit-early-warning-system
created_at: 2025-05-21T05:35:49Z
body: EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/2a25c1d4c9c141e62b581d90569da2f74d97f7f7)<details>

| Misc | iOS, visionOS, tvOS & watchOS  | macOS  | Linux |  Windows |
| ----- | ---------------------- | ------- |  ----- |  --------- |
| [✅ 🧪 style](https://ews-build.webkit.org/#/builders/38/builds/104385 "Passed style check") | [  ~~🛠 ios~~](https://ews-build.webkit.org/#/builders/131/builds/24089 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [✅ 🛠 mac](https://ews-build.webkit.org/#/builders/138/builds/14505 "Built successfully") | [  ~~🛠 wpe~~](https://ews-build.webkit.org/#/builders/5/builds/109587 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🛠 win~~](https://ews-build.webkit.org/#/builders/59/builds/55053 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") 
| [✅ 🧪 bindings](https://ews-build.webkit.org/#/builders/9/builds/106425 "Passed tests") | [  ~~🛠 ios-sim~~](https://ews-build.webkit.org/#/builders/130/builds/24466 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🛠 mac-AS-debug~~](https://ews-build.webkit.org/#/builders/123/builds/32636 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 wpe-wk2~~](https://ews-build.webkit.org/#/builders/5/builds/109587 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 win-tests~~](https://ews-build.webkit.org/#/builders/59/builds/55053 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") 
| [✅ 🧪 webkitperl](https://ews-build.webkit.org/#/builders/11/builds/107391 "Passed tests") | [  ~~🧪 ios-wk2~~](https://ews-build.webkit.org/#/builders/130/builds/24466 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 api-mac~~](https://ews-build.webkit.org/#/builders/18/builds/94203 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 api-wpe~~](https://ews-build.webkit.org/#/builders/5/builds/109587 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [  ~~🧪 ios-wk2-wpt~~](https://ews-build.webkit.org/#/builders/130/builds/24466 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 mac-wk1~~](https://ews-build.webkit.org/#/builders/135/builds/12278 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🛠 wpe-cairo~~](https://ews-build.webkit.org/#/builders/65/builds/54415 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| [✅ 🛠 🧪 jsc](https://ews-build.webkit.org/#/builders/20/builds/97060 "Built successfully and passed tests") | [  ~~🧪 api-ios~~](https://ews-build.webkit.org/#/builders/130/builds/24466 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 mac-wk2~~](https://ews-build.webkit.org/#/builders/136/builds/12330 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🛠 gtk~~](https://ews-build.webkit.org/#/builders/2/builds/111971 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| [✅ 🛠 🧪 jsc-arm64](https://ews-build.webkit.org/#/builders/12/builds/102996 "Built successfully and passed tests") | [  ~~🛠 vision~~](https://ews-build.webkit.org/#/builders/128/builds/31542 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 mac-AS-debug-wk2~~](https://ews-build.webkit.org/#/builders/123/builds/32636 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 gtk-wk2~~](https://ews-build.webkit.org/#/builders/2/builds/111971 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [  ~~🛠 vision-sim~~](https://ews-build.webkit.org/#/builders/121/builds/31906 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 mac-wk2-stress~~](https://ews-build.webkit.org/#/builders/8/builds/90447 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 api-gtk~~](https://ews-build.webkit.org/#/builders/2/builds/111971 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [⏳ 🧪 vision-wk2 ](https://ews-build.webkit.org/#/builders/visionOS-2-Simulator-WK2-Tests-EWS "Waiting in queue, processing has not started yet") | [⏳ 🧪 mac-intel-wk2](https://ews-build.webkit.org/#/builders/macOS-Sonoma-Release-WK2-Intel-Tests-EWS "Waiting to run tests") | [  ~~🛠 playstation~~](https://ews-build.webkit.org/#/builders/134/builds/26010 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [  ~~🛠 tv~~](https://ews-build.webkit.org/#/builders/127/builds/31470 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🛠 mac-safer-cpp~~](https://ews-build.webkit.org/#/builders/120/builds/36795 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🛠 jsc-armv7~~](https://ews-build.webkit.org/#/builders/35/builds/127199 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [  ~~🛠 tv-sim~~](https://ews-build.webkit.org/#/builders/125/builds/31264 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | | [  ~~🧪 jsc-armv7-tests~~](https://ews-build.webkit.org/#/builders/35/builds/127199 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [  ~~🛠 watch~~](https://ews-build.webkit.org/#/builders/129/builds/34600 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | | | 
| | [  ~~🛠 watch-sim~~](https://ews-build.webkit.org/#/builders/124/builds/32824 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | | | </details>
author_association: COLLABORATOR
user: login: webkit-early-warning-system
created_at: 2025-05-21T05:38:23Z
body: EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/e910083a1b7c72bb9264c0277e5f569bafec7c06)<details>

| Misc | iOS, visionOS, tvOS & watchOS  | macOS  | Linux |  Windows |
| ----- | ---------------------- | ------- |  ----- |  --------- |
| [✅ 🧪 style](https://ews-build.webkit.org/#/builders/38/builds/104387 "Passed style check") | [✅ 🛠 ios](https://ews-build.webkit.org/#/builders/131/builds/24091 "Built successfully") | [✅ 🛠 mac](https://ews-build.webkit.org/#/builders/138/builds/14507 "Built successfully") | [✅ 🛠 wpe](https://ews-build.webkit.org/#/builders/5/builds/109589 "Built successfully") | [  ~~🛠 win~~](https://ews-build.webkit.org/#/builders/59/builds/55055 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") 
| [✅ 🧪 bindings](https://ews-build.webkit.org/#/builders/9/builds/106427 "Passed tests") | [✅ 🛠 ios-sim](https://ews-build.webkit.org/#/builders/130/builds/24468 "Built successfully") | [✅ 🛠 mac-AS-debug](https://ews-build.webkit.org/#/builders/123/builds/32638 "Built successfully") | [  ~~🧪 wpe-wk2~~](https://ews-build.webkit.org/#/builders/34/builds/79262 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 win-tests~~](https://ews-build.webkit.org/#/builders/59/builds/55055 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") 
| [✅ 🧪 webkitperl](https://ews-build.webkit.org/#/builders/11/builds/107393 "Passed tests") | [✅ 🧪 ios-wk2](https://ews-build.webkit.org/#/builders/132/builds/19021 "Passed tests") | [✅ 🧪 api-mac](https://ews-build.webkit.org/#/builders/18/builds/94204 "Passed tests") | [  ~~🧪 api-wpe~~](https://ews-build.webkit.org/#/builders/41/builds/59592 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [⏳ 🧪 ios-wk2-wpt](https://ews-build.webkit.org/#/builders/iOS-18-Simulator-WPT-WK2-Tests-EWS "Waiting to run tests") | [✅ 🧪 mac-wk1](https://ews-build.webkit.org/#/builders/135/builds/12279 "Passed tests") | [✅ 🛠 wpe-cairo](https://ews-build.webkit.org/#/builders/65/builds/54417 "Built successfully") | 
| [✅ 🛠 🧪 jsc](https://ews-build.webkit.org/#/builders/20/builds/97062 "Built successfully and passed tests") | [⏳ 🧪 api-ios](https://ews-build.webkit.org/#/builders/API-Tests-iOS-Simulator-EWS "Waiting to run tests") | [✅ 🧪 mac-wk2](https://ews-build.webkit.org/#/builders/136/builds/12331 "Passed tests") | [✅ 🛠 gtk](https://ews-build.webkit.org/#/builders/2/builds/111973 "Built successfully") | 
| [✅ 🛠 🧪 jsc-arm64](https://ews-build.webkit.org/#/builders/12/builds/102998 "Built successfully and passed tests") | [✅ 🛠 vision](https://ews-build.webkit.org/#/builders/128/builds/31544 "Built successfully") | [⏳ 🧪 mac-AS-debug-wk2](https://ews-build.webkit.org/#/builders/macOS-Sequoia-Debug-WK2-Tests-EWS "Waiting to run tests") | [  ~~🧪 gtk-wk2~~](https://ews-build.webkit.org/#/builders/1/builds/88298 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [✅ 🛠 vision-sim](https://ews-build.webkit.org/#/builders/121/builds/31908 "Built successfully") | [✅ 🧪 mac-wk2-stress](https://ews-build.webkit.org/#/builders/8/builds/90448 "Passed tests") | [✅ 🧪 api-gtk](https://ews-build.webkit.org/#/builders/21/builds/87964 "Passed tests") | 
| | [✅ 🧪 vision-wk2](https://ews-build.webkit.org/#/builders/126/builds/32861 "Passed tests") | [✅ 🧪 mac-intel-wk2](https://ews-build.webkit.org/#/builders/137/builds/10624 "Passed tests") | [  ~~🛠 playstation~~](https://ews-build.webkit.org/#/builders/134/builds/26012 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [✅ 🛠 tv](https://ews-build.webkit.org/#/builders/127/builds/31472 "Built successfully") | [✅ 🛠 mac-safer-cpp](https://ews-build.webkit.org/#/builders/120/builds/36797 "Built successfully") | [  ~~🛠 jsc-armv7~~](https://ews-build.webkit.org/#/builders/35/builds/127201 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [✅ 🛠 tv-sim](https://ews-build.webkit.org/#/builders/125/builds/31266 "Built successfully") | | [  ~~🧪 jsc-armv7-tests~~](https://ews-build.webkit.org/#/builders/35/builds/127201 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [✅ 🛠 watch](https://ews-build.webkit.org/#/builders/129/builds/34602 "Built successfully") | | | 
| | [✅ 🛠 watch-sim](https://ews-build.webkit.org/#/builders/124/builds/32826 "Built successfully") | | | </details>
author_association: COLLABORATOR
user: login: webkit-early-warning-system
created_at: 2025-05-21T07:23:34Z
body: EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/7981fe6926011b423e74453a122d86d1525fd90a)<details>

| Misc | iOS, visionOS, tvOS & watchOS  | macOS  | Linux |  Windows |
| ----- | ---------------------- | ------- |  ----- |  --------- |
| [✅ 🧪 style](https://ews-build.webkit.org/#/builders/38/builds/104395 "Passed style check") | [✅ 🛠 ios](https://ews-build.webkit.org/#/builders/131/builds/24099 "Built successfully") | [✅ 🛠 mac](https://ews-build.webkit.org/#/builders/138/builds/14515 "Built successfully") | [✅ 🛠 wpe](https://ews-build.webkit.org/#/builders/5/builds/109597 "Built successfully") | [✅ 🛠 win](https://ews-build.webkit.org/#/builders/59/builds/55063 "Built successfully") 
| [✅ 🧪 bindings](https://ews-build.webkit.org/#/builders/9/builds/106435 "Passed tests") | [✅ 🛠 ios-sim](https://ews-build.webkit.org/#/builders/130/builds/24477 "Built successfully") | [✅ 🛠 mac-AS-debug](https://ews-build.webkit.org/#/builders/123/builds/32646 "Built successfully") | [✅ 🧪 wpe-wk2](https://ews-build.webkit.org/#/builders/34/builds/79263 "Passed tests") | [⏳ 🧪 win-tests](https://ews-build.webkit.org/#/builders/Win-Tests-EWS "Waiting to run tests") 
| [✅ 🧪 webkitperl](https://ews-build.webkit.org/#/builders/11/builds/107401 "Passed tests") | [✅ 🧪 ios-wk2](https://ews-build.webkit.org/#/builders/132/builds/19029 "Passed tests") | [✅ 🧪 api-mac](https://ews-build.webkit.org/#/builders/18/builds/94213 "Passed tests") | [✅ 🧪 api-wpe](https://ews-build.webkit.org/#/builders/41/builds/59593 "Passed tests") | 
| | [⏳ 🧪 ios-wk2-wpt](https://ews-build.webkit.org/#/builders/iOS-18-Simulator-WPT-WK2-Tests-EWS "Waiting to run tests") | [✅ 🧪 mac-wk1](https://ews-build.webkit.org/#/builders/135/builds/12288 "Passed tests") | [✅ 🛠 wpe-cairo](https://ews-build.webkit.org/#/builders/65/builds/54425 "Built successfully") | 
| [✅ 🛠 🧪 jsc](https://ews-build.webkit.org/#/builders/20/builds/97070 "Built successfully and passed tests") | [✅ 🧪 api-ios](https://ews-build.webkit.org/#/builders/13/builds/88520 "Passed tests") | [✅ 🧪 mac-wk2](https://ews-build.webkit.org/#/builders/136/builds/12340 "Passed tests") | [✅ 🛠 gtk](https://ews-build.webkit.org/#/builders/2/builds/111981 "Built successfully") | 
| [✅ 🛠 🧪 jsc-arm64](https://ews-build.webkit.org/#/builders/12/builds/103006 "Built successfully and passed tests") | [✅ 🛠 vision](https://ews-build.webkit.org/#/builders/128/builds/31552 "Built successfully") | [⏳ 🧪 mac-AS-debug-wk2](https://ews-build.webkit.org/#/builders/macOS-Sequoia-Debug-WK2-Tests-EWS "Waiting to run tests") | [✅ 🧪 gtk-wk2](https://ews-build.webkit.org/#/builders/1/builds/88306 "Passed tests") | 
| | [✅ 🛠 vision-sim](https://ews-build.webkit.org/#/builders/121/builds/31916 "Built successfully") | [✅ 🧪 mac-wk2-stress](https://ews-build.webkit.org/#/builders/8/builds/90457 "Passed tests") | [✅ 🧪 api-gtk](https://ews-build.webkit.org/#/builders/21/builds/87973 "Passed tests") | 
| | [✅ 🧪 vision-wk2](https://ews-build.webkit.org/#/builders/126/builds/32867 "Passed tests") | [✅ 🧪 mac-intel-wk2](https://ews-build.webkit.org/#/builders/137/builds/10632 "Passed tests") | [✅ 🛠 playstation](https://ews-build.webkit.org/#/builders/134/builds/26020 "Built successfully") | 
| | [✅ 🛠 tv](https://ews-build.webkit.org/#/builders/127/builds/31480 "Built successfully") | [✅ 🛠 mac-safer-cpp](https://ews-build.webkit.org/#/builders/120/builds/36805 "Built successfully") | [  ~~🛠 jsc-armv7~~](https://ews-build.webkit.org/#/builders/35/builds/127209 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [✅ 🛠 tv-sim](https://ews-build.webkit.org/#/builders/125/builds/31274 "Built successfully") | | [  ~~🧪 jsc-armv7-tests~~](https://ews-build.webkit.org/#/builders/35/builds/127209 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [✅ 🛠 watch](https://ews-build.webkit.org/#/builders/129/builds/34610 "Built successfully") | | | 
| | [✅ 🛠 watch-sim](https://ews-build.webkit.org/#/builders/124/builds/32834 "Built successfully") | | | </details>
author_association: COLLABORATOR
user: login: webkit-early-warning-system
created_at: 2025-05-21T10:57:34Z
body: EWS run on previous version of this PR (hash https://github.com/WebKit/WebKit/commit/bfab8dcd499f17b81175e3777261a20be8c97c3e)<details>

| Misc | iOS, visionOS, tvOS & watchOS  | macOS  | Linux |  Windows |
| ----- | ---------------------- | ------- |  ----- |  --------- |
| [✅ 🧪 style](https://ews-build.webkit.org/#/builders/38/builds/104412 "Passed style check") | [✅ 🛠 ios](https://ews-build.webkit.org/#/builders/131/builds/24116 "Built successfully") | [✅ 🛠 mac](https://ews-build.webkit.org/#/builders/138/builds/14532 "Built successfully") | [✅ 🛠 wpe](https://ews-build.webkit.org/#/builders/5/builds/109615 "Built successfully") | [✅ 🛠 win](https://ews-build.webkit.org/#/builders/59/builds/55080 "Built successfully") 
| [✅ 🧪 bindings](https://ews-build.webkit.org/#/builders/9/builds/106452 "Passed tests") | [✅ 🛠 ios-sim](https://ews-build.webkit.org/#/builders/130/builds/24497 "Built successfully") | [✅ 🛠 mac-AS-debug](https://ews-build.webkit.org/#/builders/123/builds/32663 "Built successfully") | [  ~~🧪 wpe-wk2~~](https://ews-build.webkit.org/#/builders/34/builds/79281 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [⏳ 🧪 win-tests](https://ews-build.webkit.org/#/builders/Win-Tests-EWS "Waiting to run tests") 
| [✅ 🧪 webkitperl](https://ews-build.webkit.org/#/builders/11/builds/107418 "Passed tests") | [✅ 🧪 ios-wk2](https://ews-build.webkit.org/#/builders/132/builds/19048 "Passed tests") | [  ~~🧪 api-mac~~](https://ews-build.webkit.org/#/builders/18/builds/94229 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 api-wpe~~](https://ews-build.webkit.org/#/builders/41/builds/59611 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [⏳ 🧪 ios-wk2-wpt](https://ews-build.webkit.org/#/builders/iOS-18-Simulator-WPT-WK2-Tests-EWS "Waiting to run tests") | [  ~~🧪 mac-wk1~~](https://ews-build.webkit.org/#/builders/135/builds/12304 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [✅ 🛠 wpe-cairo](https://ews-build.webkit.org/#/builders/65/builds/54442 "Built successfully") | 
| [✅ 🛠 🧪 jsc](https://ews-build.webkit.org/#/builders/20/builds/97087 "Built successfully and passed tests") | [⏳ 🧪 api-ios](https://ews-build.webkit.org/#/builders/API-Tests-iOS-Simulator-EWS "Waiting to run tests") | [  ~~🧪 mac-wk2~~](https://ews-build.webkit.org/#/builders/136/builds/12356 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [✅ 🛠 gtk](https://ews-build.webkit.org/#/builders/2/builds/111998 "Built successfully") | 
| [✅ 🛠 🧪 jsc-arm64](https://ews-build.webkit.org/#/builders/12/builds/103023 "Built successfully and passed tests") | [✅ 🛠 vision](https://ews-build.webkit.org/#/builders/128/builds/31569 "Built successfully") | [⏳ 🧪 mac-AS-debug-wk2](https://ews-build.webkit.org/#/builders/macOS-Sequoia-Debug-WK2-Tests-EWS "Waiting to run tests") | [  ~~🧪 gtk-wk2~~](https://ews-build.webkit.org/#/builders/1/builds/88322 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [✅ 🛠 vision-sim](https://ews-build.webkit.org/#/builders/121/builds/31933 "Built successfully") | [  ~~🧪 mac-wk2-stress~~](https://ews-build.webkit.org/#/builders/8/builds/90473 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [  ~~🧪 api-gtk~~](https://ews-build.webkit.org/#/builders/21/builds/87990 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | 
| | [✅ 🧪 vision-wk2](https://ews-build.webkit.org/#/builders/126/builds/32883 "Passed tests") | [  ~~🧪 mac-intel-wk2~~](https://ews-build.webkit.org/#/builders/137/builds/10648 "The change is no longer eligible for processing. Commit was outdated when EWS attempted to process it.") | [✅ 🛠 playstation](https://ews-build.webkit.org/#/builders/134/builds/26038 "Built successfully") | 
| | [✅ 🛠 tv](https://ews-build.webkit.org/#/builders/127/builds/31497 "Built successfully") | [✅ 🛠 mac-safer-cpp](https://ews-build.webkit.org/#/builders/120/builds/36822 "Built successfully") | [  ~~🛠 jsc-armv7~~](https://ews-build.webkit.org/#/builders/35/builds/127226 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [✅ 🛠 tv-sim](https://ews-build.webkit.org/#/builders/125/builds/31291 "Built successfully") | | [  ~~🧪 jsc-armv7-tests~~](https://ews-build.webkit.org/#/builders/35/builds/127226 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [✅ 🛠 watch](https://ews-build.webkit.org/#/builders/129/builds/34627 "Built successfully") | | | 
| | [✅ 🛠 watch-sim](https://ews-build.webkit.org/#/builders/124/builds/32851 "Built successfully") | | | </details>
author_association: COLLABORATOR
user: login: webkit-early-warning-system
created_at: 2025-05-21T11:24:07Z
body: EWS run on current version of this PR (hash https://github.com/WebKit/WebKit/commit/4847cec82d5c14b2165550ac09feea0907476ac4)<details>

| Misc | iOS, visionOS, tvOS & watchOS  | macOS  | Linux |  Windows |
| ----- | ---------------------- | ------- |  ----- |  --------- |
| [✅ 🧪 style](https://ews-build.webkit.org/#/builders/38/builds/104413 "Passed style check") | [✅ 🛠 ios](https://ews-build.webkit.org/#/builders/131/builds/24117 "Built successfully") | [✅ 🛠 mac](https://ews-build.webkit.org/#/builders/138/builds/14533 "Built successfully") | [✅ 🛠 wpe](https://ews-build.webkit.org/#/builders/5/builds/109616 "Built successfully") | [✅ 🛠 win](https://ews-build.webkit.org/#/builders/59/builds/55081 "Built successfully") 
| [✅ 🧪 bindings](https://ews-build.webkit.org/#/builders/9/builds/106453 "Passed tests") | [✅ 🛠 ios-sim](https://ews-build.webkit.org/#/builders/130/builds/24498 "Built successfully") | [✅ 🛠 mac-AS-debug](https://ews-build.webkit.org/#/builders/123/builds/32664 "Built successfully") | [✅ 🧪 wpe-wk2](https://ews-build.webkit.org/#/builders/34/builds/79280 "Passed tests") | [⏳ 🧪 win-tests](https://ews-build.webkit.org/#/builders/Win-Tests-EWS "Waiting to run tests") 
| [✅ 🧪 webkitperl](https://ews-build.webkit.org/#/builders/11/builds/107419 "Passed tests") | [✅ 🧪 ios-wk2](https://ews-build.webkit.org/#/builders/132/builds/19049 "Passed tests") | [✅ 🧪 api-mac](https://ews-build.webkit.org/#/builders/18/builds/94232 "Passed tests") | [✅ 🧪 api-wpe](https://ews-build.webkit.org/#/builders/41/builds/59610 "Passed tests") | 
| | [✅ 🧪 ios-wk2-wpt](https://ews-build.webkit.org/#/builders/133/builds/18857 "Passed tests") | [✅ 🧪 mac-wk1](https://ews-build.webkit.org/#/builders/135/builds/12307 "Passed tests") | [✅ 🛠 wpe-cairo](https://ews-build.webkit.org/#/builders/65/builds/54443 "Built successfully") | 
| [✅ 🛠 🧪 jsc](https://ews-build.webkit.org/#/builders/20/builds/97088 "Built successfully and passed tests") | [✅ 🧪 api-ios](https://ews-build.webkit.org/#/builders/13/builds/88536 "Passed tests") | [✅ 🧪 mac-wk2](https://ews-build.webkit.org/#/builders/136/builds/12359 "Passed tests") | [✅ 🛠 gtk](https://ews-build.webkit.org/#/builders/2/builds/111999 "Built successfully") | 
| [✅ 🛠 🧪 jsc-arm64](https://ews-build.webkit.org/#/builders/12/builds/103024 "Built successfully and passed tests") | [✅ 🛠 vision](https://ews-build.webkit.org/#/builders/128/builds/31570 "Built successfully") | [✅ 🧪 mac-AS-debug-wk2](https://ews-build.webkit.org/#/builders/122/builds/23263 "Passed tests") | [✅ 🧪 gtk-wk2](https://ews-build.webkit.org/#/builders/1/builds/88323 "Passed tests") | 
| | [❌ 🛠 vision-sim](https://ews-build.webkit.org/#/builders/121/builds/31934 "Failed to checkout and rebase branch from PR 44131") | [✅ 🧪 mac-wk2-stress](https://ews-build.webkit.org/#/builders/8/builds/90476 "Passed tests") | [✅ 🧪 api-gtk](https://ews-build.webkit.org/#/builders/21/builds/87991 "Passed tests") | 
| [✅ 🛠 🧪 merge](https://ews-build.webkit.org/#/builders/19/builds/22430 "Built successfully and passed tests") | [⏳ 🧪 vision-wk2 ](https://ews-build.webkit.org/#/builders/visionOS-2-Simulator-WK2-Tests-EWS "Waiting in queue, processing has not started yet") | [✅ 🧪 mac-intel-wk2](https://ews-build.webkit.org/#/builders/137/builds/10651 "Passed tests") | [✅ 🛠 playstation](https://ews-build.webkit.org/#/builders/134/builds/26040 "Built successfully") | 
| | [✅ 🛠 tv](https://ews-build.webkit.org/#/builders/127/builds/31498 "Built successfully") | [✅ 🛠 mac-safer-cpp](https://ews-build.webkit.org/#/builders/120/builds/36823 "Built successfully") | [  ~~🛠 jsc-armv7~~](https://ews-build.webkit.org/#/builders/35/builds/127227 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [✅ 🛠 tv-sim](https://ews-build.webkit.org/#/builders/125/builds/31292 "Built successfully") | | [  ~~🧪 jsc-armv7-tests~~](https://ews-build.webkit.org/#/builders/35/builds/127227 "The change is no longer eligible for processing. Pull Request was already closed when EWS attempted to process it.") | 
| | [✅ 🛠 watch](https://ews-build.webkit.org/#/builders/129/builds/34628 "Built successfully") | | | 
| | [✅ 🛠 watch-sim](https://ews-build.webkit.org/#/builders/124/builds/32852 "Built successfully") | | | </details>
author_association: COLLABORATOR
user: login: webkit-commit-queue
created_at: 2025-05-22T00:04:22Z
body: Committed 295248@main (8fb9eb82a72f): <https://commits.webkit.org/295248@main>

Reviewed commits have been landed. Closing PR #44131 and removing active labels.
author_association: COLLABORATOR