-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Tracking issue: IntersectionObserver #35767
Copy link
Copy link
Open
Labels
A-content/bindingsThe DOM bindingsThe DOM bindingsB-feature-trackingThis issue tracks a particular high-level featureThis issue tracks a particular high-level feature
Milestone
Description
This issue tracks the progress in implementing IntersectionObserver API (https://w3c.github.io/IntersectionObserver/). Each steps in this issue has a corresponding TODO comment in the code.
Initial Support
- dom: Stub out the
IntersectionObserverinterface #33989 - dom: IntersectionObserver initialization #35314
- dom: Implement minimal IntersectionObserver workflow #35551
Steps
- Consider CSS transform and scroll offsets in element get bounding box.
- Query for containing block of a node in a fragment tree and mapping of coordinate space for step 2.2, step 4, and step 6 in compute intersection algo.
- Overflow content-clip clipping for compute intersection algo and root intersection rectangle.
- Recheck scrollbar related clipping for compute intersection algo and root intersection rectangle with Servo's approach to scrollbar.
- Several security cases of cross-origin-domain target.
- Implement Document's pending initial intersectionobserver targets, an additional condition in HTML Event loop.
- The time attribute should be relative to the time origin of the global object. #dom-intersectionobserverentryinit-time
- Handle query whether a node is descendant of other node for step 6 of 3.2.10 run update the observation intersection steps
- Inter-document coordinate mapping and bounding rectangle queries.
Additional Steps
- Clip element according to it's clip-path for compute intersection algo and root intersection rectangle.
- Skip further processing if the element is hidden in update intersection observation algo.
- For a scrollport apply the scroll margin.
- Recheck isIntersecting definition according to the discussion.
- Implement 3.2.8 Calculate visibility algo & 3.2.9 Effective transformation matrix.
- Tidy up IntersectionObserverRootMargin #35907
- Implement lazy load intersection observer.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-content/bindingsThe DOM bindingsThe DOM bindingsB-feature-trackingThis issue tracks a particular high-level featureThis issue tracks a particular high-level feature