From d441d87e62f53e121fc76b203d9e3ab5d40eec5b Mon Sep 17 00:00:00 2001 From: ldm0 Date: Sun, 30 Aug 2026 10:44:15 +0800 Subject: [PATCH] fix(geometry): expose WebKitCSSMatrix alias --- .../wpt-cross-current/failed-cases.txt | 1 - .../wpt-cross-current/passed-cases.txt | 1 + .../src/script_vm/tests/browser_api/misc.rs | 26 +++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/moli-benchmark/wpt-cross-current/failed-cases.txt b/moli-benchmark/wpt-cross-current/failed-cases.txt index 3028050070..47bc5804bb 100644 --- a/moli-benchmark/wpt-cross-current/failed-cases.txt +++ b/moli-benchmark/wpt-cross-current/failed-cases.txt @@ -2469,7 +2469,6 @@ css/cssom/getComputedStyle-insets-sticky.html css/cssom/getComputedStyle-layout-dependent-replaced-into-ib-split.html css/cssom/idlharness.html css/cssom/style-sheet-interfaces-001.html -css/geometry/DOMMatrix-stringifier.html css/geometry/DOMMatrix2DInit-validate-fixup.html css/geometry/DOMQuad-001.html css/geometry/DOMQuad-002.html diff --git a/moli-benchmark/wpt-cross-current/passed-cases.txt b/moli-benchmark/wpt-cross-current/passed-cases.txt index bb5d0dba8a..ccd2e133d1 100644 --- a/moli-benchmark/wpt-cross-current/passed-cases.txt +++ b/moli-benchmark/wpt-cross-current/passed-cases.txt @@ -3349,6 +3349,7 @@ css/geometry/DOMMatrix-invert-non-invertible.html css/geometry/DOMMatrix-invert-preserves-2d.html css/geometry/DOMMatrix-invertSelf.html css/geometry/DOMMatrix-newobject.html +css/geometry/DOMMatrix-stringifier.html css/geometry/DOMMatrixInit-validate-fixup.html css/geometry/DOMPoint-001.html css/geometry/DOMPoint-002.html diff --git a/moli-renderer-v8/src/script_vm/tests/browser_api/misc.rs b/moli-renderer-v8/src/script_vm/tests/browser_api/misc.rs index fe692b99fa..16d13b010d 100644 --- a/moli-renderer-v8/src/script_vm/tests/browser_api/misc.rs +++ b/moli-renderer-v8/src/script_vm/tests/browser_api/misc.rs @@ -5730,6 +5730,32 @@ fn dom_point_matrix_transform_validates_matrix_init_and_returns_in_the_function_ ); } +#[test] +fn dom_matrix_exposes_webkit_css_matrix_alias() { + let mut vm = new_storage_test_vm("https://dommatrix-webkit-alias.test/"); + + let result = vm + .eval( + r#" +(() => { + const webkitDescriptor = Object.getOwnPropertyDescriptor(globalThis, "WebKitCSSMatrix"); + const matrix = new WebKitCSSMatrix(); + return [ + WebKitCSSMatrix === DOMMatrix, + WebKitCSSMatrix.prototype === DOMMatrix.prototype, + WebKitCSSMatrix.name, + matrix instanceof DOMMatrix, + matrix instanceof DOMMatrixReadOnly, + [webkitDescriptor.writable, webkitDescriptor.enumerable, webkitDescriptor.configurable].join(",") + ].join("|"); +})() +"#, + ) + .expect("DOMMatrix legacy Window aliases should evaluate"); + + assert_eq!(result, "true|true|DOMMatrix|true|true|true,false,true"); +} + #[test] fn dom_matrix_objects_keep_declared_brand_and_own_slots() { let mut vm = new_storage_test_vm("https://dommatrix-declared-slots.test/");