layout: Parameterize content box query (#38935)

Parameterize and rename both `Layout::content_box_query` and
`Layout::content_boxes_query` to support the query of rendered padding
area and content area that accounts for transform and scroll. Both of
these query have been misleading for a time since they are using border
box, instead of content box of a Node.

This PR adds a new type `layout_api::BoxAreaType` to be passed from
`ScriptThread` to `LayoutThread` to query the respective area. It is
then used for the query within `IntersectionObserver` to pass several
WPTs.

Testing: Existing WPT Coverage.

---------

Signed-off-by: Jo Steven Novaryo <jo.steven.novaryo@huawei.com>
This commit is contained in:
Jo Steven Novaryo 2025-08-27 10:27:53 +08:00 committed by GitHub
parent 32aba08be7
commit 10ca3b6fde
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 125 additions and 125 deletions

View file

@ -2,8 +2,5 @@
[Not in containing block and not intersecting.]
expected: FAIL
[In containing block and intersecting.]
expected: FAIL
[In containing block and not intersecting.]
[Not in containing block and intersecting.]
expected: FAIL

View file

@ -1,6 +1,3 @@
[initial-observation-with-threshold.html]
[First rAF]
expected: FAIL
[root.scrollTop = 20]
expected: FAIL

View file

@ -1,6 +0,0 @@
[isIntersecting-change-events.html]
[Set scrollTop=100 and check for one new notification.]
expected: FAIL
[Add 4th target.]
expected: FAIL

View file

@ -1,10 +1,4 @@
[remove-element.html]
[First rAF]
expected: FAIL
[root.scrollTop = 150]
expected: FAIL
[root.scrollTop = 150 after reinserting target.]
expected: FAIL

View file

@ -1,12 +0,0 @@
[root-margin-root-element.html]
[First rAF]
expected: FAIL
[root.scrollTop = 50, putting target into root margin]
expected: FAIL
[root.scrollTop = 0]
expected: FAIL
[root.scrollTop = 50 with root scrolled out of view.]
expected: FAIL

View file

@ -1,12 +0,0 @@
[same-document-root.html]
[First rAF]
expected: FAIL
[root.scrollTop = 150 with root scrolled into view.]
expected: FAIL
[root.scrollTop = 0]
expected: FAIL
[root.scrollTop = 150 with root scrolled out of view.]
expected: FAIL