script/layout: Implement HTMLElement.scrollParent (#39110)

This new API allows getting the element which establishes an element's
scroll container. This will be used to properly implement
`scrollIntoView`. There is still work to do for this API and
`offsetParent` to properly handle ancestors which are
closed-shadow-hidden from the original query element.

In addition, fix an issue where inline boxes were establishing scrolling
containers (they shouldn't do that).

Testing: There are tests for this change.
Fixes: #39096.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
Martin Robinson 2025-09-03 11:52:15 -07:00 committed by GitHub
parent 5c7ea4bdee
commit 2c7866eb24
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 173 additions and 49 deletions

View file

@ -232173,6 +232173,19 @@
{}
]
],
"overflow-does-not-apply-to-inline-box.html": [
"f4c8a1816399ed368fb219bd1a4e49f61f18d083",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"overflow-ellipsis-dynamic-001.html": [
"2a9edba9308bf06009d7b9a27f21f1e0f1a231c7",
[
@ -630023,7 +630036,7 @@
]
],
"scrollParent.html": [
"9faa0c9a3e92e38662ac77d25b08731fe00a7db3",
"344ee522ef2664e0b963e79812074f08f343f5bf",
[
null,
{}