ladybird/Libraries/LibWeb/IntersectionObserver/IntersectionObserver.idl

29 lines
1.2 KiB
Text

#import <DOM/Document.idl>
#import <DOM/Element.idl>
#import <DOM/Node.idl>
#import <IntersectionObserver/IntersectionObserverEntry.idl>
// https://w3c.github.io/IntersectionObserver/#intersection-observer-callback
callback IntersectionObserverCallback = undefined (sequence<IntersectionObserverEntry> entries, IntersectionObserver observer);
// https://w3c.github.io/IntersectionObserver/#intersection-observer-interface
[Exposed=(Window)]
interface IntersectionObserver {
constructor(IntersectionObserverCallback callback, optional IntersectionObserverInit options = {});
readonly attribute (Element or Document)? root;
[FIXME] readonly attribute DOMString rootMargin;
// FIXME: `sequence<double>` should be `FrozenArray<double>`
readonly attribute sequence<double> thresholds;
undefined observe(Element target);
undefined unobserve(Element target);
undefined disconnect();
sequence<IntersectionObserverEntry> takeRecords();
};
// https://w3c.github.io/IntersectionObserver/#intersection-observer-init
dictionary IntersectionObserverInit {
(Element or Document)? root = null;
DOMString rootMargin = "0px";
// FIXME: DOMString scrollMargin = "0px";
(double or sequence<double>) threshold = 0;
};