mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
dom: IntersectionObserver initialization (#35314)
* Add internal slot definition Signed-off-by: stevennovaryo <steven.novaryo@gmail.com> * Add initialization for new IntersectionObserver Signed-off-by: stevennovaryo <steven.novaryo@gmail.com> * Move observer initialization Signed-off-by: stevennovaryo <steven.novaryo@gmail.com> * Update WPT tests Signed-off-by: stevennovaryo <steven.novaryo@gmail.com> * Make a copy of style IntersectionObserverRootMargin Signed-off-by: stevennovaryo <steven.novaryo@gmail.com> * Move initialization to account for rooted expression Signed-off-by: stevennovaryo <steven.novaryo@gmail.com> * Fix some fields typing Signed-off-by: stevennovaryo <steven.novaryo@gmail.com> * Impl rest of IntersectionObserver interface Signed-off-by: stevennovaryo <steven.novaryo@gmail.com> * Fix tidy issue Signed-off-by: stevennovaryo <steven.novaryo@gmail.com> * Apply types logic and tidy fix from suggestions Signed-off-by: stevennovaryo <steven.novaryo@gmail.com> * Add allow unrooted for add registration to element Signed-off-by: stevennovaryo <steven.novaryo@gmail.com> --------- Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
This commit is contained in:
parent
610a1c2303
commit
becd097585
11 changed files with 439 additions and 64 deletions
|
@ -13,6 +13,7 @@ use crate::dom::customelementregistry::{
|
|||
};
|
||||
use crate::dom::elementinternals::ElementInternals;
|
||||
use crate::dom::htmlslotelement::SlottableData;
|
||||
use crate::dom::intersectionobserver::IntersectionObserverRegistration;
|
||||
use crate::dom::mutationobserver::RegisteredObserver;
|
||||
use crate::dom::node::UniqueId;
|
||||
use crate::dom::shadowroot::ShadowRoot;
|
||||
|
@ -58,4 +59,9 @@ pub(crate) struct ElementRareData {
|
|||
pub(crate) client_rect: Option<LayoutValue<Rect<i32>>>,
|
||||
/// <https://html.spec.whatwg.org/multipage#elementinternals>
|
||||
pub(crate) element_internals: Option<Dom<ElementInternals>>,
|
||||
|
||||
/// <https://w3c.github.io/IntersectionObserver/#element-private-slots>
|
||||
/// > Element objects have an internal [[RegisteredIntersectionObservers]] slot,
|
||||
/// > which is initialized to an empty list. This list holds IntersectionObserverRegistration records, which have:
|
||||
pub(crate) registered_intersection_observers: Vec<IntersectionObserverRegistration>,
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue