Source code

Revision control

Copy as Markdown

Other Tools

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at
* The origin of this IDL file is
[ProbablyShortLivingWrapper, Exposed=Window]
interface IntersectionObserverEntry {
readonly attribute DOMHighResTimeStamp time;
readonly attribute DOMRectReadOnly? rootBounds;
readonly attribute DOMRectReadOnly boundingClientRect;
readonly attribute DOMRectReadOnly intersectionRect;
readonly attribute boolean isIntersecting;
readonly attribute double intersectionRatio;
readonly attribute Element target;
interface IntersectionObserver {
constructor(IntersectionCallback intersectionCallback,
optional IntersectionObserverInit options = {});
readonly attribute Node? root;
readonly attribute UTF8String rootMargin;
readonly attribute sequence<double> thresholds;
undefined observe(Element target);
undefined unobserve(Element target);
undefined disconnect();
sequence<IntersectionObserverEntry> takeRecords();
callback IntersectionCallback =
undefined (sequence<IntersectionObserverEntry> entries, IntersectionObserver observer);
dictionary IntersectionObserverEntryInit {
required DOMHighResTimeStamp time;
required DOMRectInit rootBounds;
required DOMRectInit boundingClientRect;
required DOMRectInit intersectionRect;
required Element target;
dictionary IntersectionObserverInit {
(Element or Document)? root = null;
UTF8String rootMargin = "0px";
(double or sequence<double>) threshold = 0;