diff options
author | Steven Novaryo <65610990+stevennovaryo@users.noreply.github.com> | 2025-03-18 19:09:44 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-18 11:09:44 +0000 |
commit | 67a5f285edeb6f32a5fef0ea52b0943614ff4cc1 (patch) | |
tree | 76df9635f2346a0ef20bb43483c69889b6ab7177 /components/script/task_source.rs | |
parent | 2113e548196d89617820f6b63966ddb7b9fae316 (diff) | |
download | servo-67a5f285edeb6f32a5fef0ea52b0943614ff4cc1.tar.gz servo-67a5f285edeb6f32a5fef0ea52b0943614ff4cc1.zip |
dom: Implement minimal IntersectionObserver workflow (#35551)
* Add very rough implemnentation of observation steps
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix entry reflection and propagate can_gc
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix BorrowError and add fragment find descendant
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Implement is descendant in containing block path correctly
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix unrooted error and tidy issues
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix comments
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Remove is descendant of other node query
I suppose these changes is better separated to other PRs.
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix intersection and refactor registration
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Use AppUnit more and propagate GlobalScope better
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Update WPT expectations
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Revert delay changes
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Align compute intersection algo to other browser actual behavior
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Align processing documents and note several issues
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Update WPT
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Minor lint
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix top level browsing context
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Make Registration rootable
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Avoid reflow inside observation step algo
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Using borrow for iterating registration
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix document disconnect
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Update WPT
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Address comments and minor quality suggestions
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Root the observer before nofifying any of it
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Tidy docs
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Account not found element and refactor observation step
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix documentations
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Ignore position of document viewport
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Refactor root intersection rectangle
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Add can GC note to the callback
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix top-level browsing context term
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
* Fix minor comments
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
---------
Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
Diffstat (limited to 'components/script/task_source.rs')
-rw-r--r-- | components/script/task_source.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/components/script/task_source.rs b/components/script/task_source.rs index 4f18292693e..4bb6a5c110c 100644 --- a/components/script/task_source.rs +++ b/components/script/task_source.rs @@ -40,6 +40,8 @@ pub(crate) enum TaskSourceName { Timer, /// <https://www.w3.org/TR/gamepad/#dfn-gamepad-task-source> Gamepad, + /// <https://w3c.github.io/IntersectionObserver/#intersectionobserver-task-source> + IntersectionObserver, } impl From<TaskSourceName> for ScriptThreadEventCategory { @@ -62,6 +64,7 @@ impl From<TaskSourceName> for ScriptThreadEventCategory { TaskSourceName::WebSocket => ScriptThreadEventCategory::WebSocketEvent, TaskSourceName::Timer => ScriptThreadEventCategory::TimerEvent, TaskSourceName::Gamepad => ScriptThreadEventCategory::InputEvent, + TaskSourceName::IntersectionObserver => ScriptThreadEventCategory::ScriptEvent, } } } |