aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/task_source.rs
diff options
context:
space:
mode:
authorSteven Novaryo <65610990+stevennovaryo@users.noreply.github.com>2025-03-18 19:09:44 +0800
committerGitHub <noreply@github.com>2025-03-18 11:09:44 +0000
commit67a5f285edeb6f32a5fef0ea52b0943614ff4cc1 (patch)
tree76df9635f2346a0ef20bb43483c69889b6ab7177 /components/script/task_source.rs
parent2113e548196d89617820f6b63966ddb7b9fae316 (diff)
downloadservo-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.rs3
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,
}
}
}