Implement document.scrollingElement (#35994)

<!-- Please describe your changes on the following line: -->
This implements `document.scrollingElement`
(https://drafts.csswg.org/cssom-view/#dom-document-scrollingelement).

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by
`[X]` when the step is complete, and replace `___` with appropriate
data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #35700
- [x] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox
is checked, so that we can help you if you get stuck somewhere along the
way.-->

<!-- Pull requests that do not address these steps are welcome, but they
will require additional verification as part of the review process. -->

---------

Signed-off-by: JimmyDdotEXE <50691404+JimmyDdotEXE@users.noreply.github.com>
This commit is contained in:
Jimmy D. Buckets 2025-05-05 08:50:42 -04:00 committed by GitHub
parent 7ea5951e34
commit 1f6050f931
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
37 changed files with 195 additions and 272 deletions

View file

@ -204,6 +204,16 @@ partial interface Document {
Document includes DocumentOrShadowRoot;
// https://drafts.csswg.org/cssom-view/#extensions-to-the-document-interface
partial interface Document {
// CaretPosition? caretPositionFromPoint(double x, double y, optional CaretPositionFromPointOptions options = {});
readonly attribute Element? scrollingElement;
};
// dictionary CaretPositionFromPointOptions {
// sequence<ShadowRoot> shadowRoots = [];
// };
// https://w3c.github.io/selection-api/#dom-document
partial interface Document {
Selection? getSelection();