From 7382efa2094c72115e1cd2af85a04d7ee2b9c073 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Mon, 31 Mar 2025 12:01:16 -0400 Subject: [PATCH] script: Fix resize observer depth calculation for Shadow DOM. (#36230) Follow the specification more closely by using the flat tree when calculating depth for the resize observer. Testing: Newly passing WPT test. Fixes: #36092 Signed-off-by: Josh Matthews --- components/script/dom/resizeobserver.rs | 2 +- .../meta/resize-observer/calculate-depth-for-node.html.ini | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 tests/wpt/meta/resize-observer/calculate-depth-for-node.html.ini diff --git a/components/script/dom/resizeobserver.rs b/components/script/dom/resizeobserver.rs index b2bbaa52716..b685151c153 100644 --- a/components/script/dom/resizeobserver.rs +++ b/components/script/dom/resizeobserver.rs @@ -296,7 +296,7 @@ impl ResizeObservation { /// fn calculate_depth_for_node(target: &Element) -> ResizeObservationDepth { let node = target.upcast::(); - let depth = node.ancestors().count(); + let depth = node.inclusive_ancestors_in_flat_tree().count() - 1; ResizeObservationDepth(depth) } diff --git a/tests/wpt/meta/resize-observer/calculate-depth-for-node.html.ini b/tests/wpt/meta/resize-observer/calculate-depth-for-node.html.ini deleted file mode 100644 index 4e3c57f9422..00000000000 --- a/tests/wpt/meta/resize-observer/calculate-depth-for-node.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[calculate-depth-for-node.html] - expected: ERROR - - ["Calculate depth for node" algorithm with Shadow DOM] - expected: FAIL