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_manager.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_manager.rs')
-rw-r--r-- | components/script/task_manager.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/components/script/task_manager.rs b/components/script/task_manager.rs index 75a9bb8330e..2d4463e0c38 100644 --- a/components/script/task_manager.rs +++ b/components/script/task_manager.rs @@ -146,4 +146,9 @@ impl TaskManager { task_source_functions!(self, timer_task_source, Timer); task_source_functions!(self, user_interaction_task_source, UserInteraction); task_source_functions!(self, websocket_task_source, WebSocket); + task_source_functions!( + self, + intersection_observer_task_source, + IntersectionObserver + ); } |