#import #import callback IntersectionObserverCallback = undefined (sequence entries, IntersectionObserver observer); [Exposed=(Window)] interface IntersectionObserver { constructor(IntersectionObserverCallback callback, optional IntersectionObserverInit options = {}); undefined observe(Element target); undefined unobserve(Element target); undefined disconnect(); // FIXME: // sequence takeRecords(); }; dictionary IntersectionObserverInit { // FIXME: Should be: (Element or Document)? Node? root = null; DOMString rootMargin = "0px"; // FIXME: Should be: (double or sequence) any threshold = 0; };