| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // TODO(szager): add link to final spec. |
| callback IntersectionObserverCallback = void (sequence<IntersectionObserverEntry> entries, IntersectionObserver observer); |
| |
| // TODO(szager): Update the doc link when the spec has an official home. |
| // https://github.com/slightlyoff/IntersectionObserver |
| [ |
| CustomConstructor(IntersectionObserverCallback callback, IntersectionObserverInit options), |
| Custom=VisitDOMWrapper, |
| GarbageCollected, |
| RuntimeEnabled=IntersectionObserver, |
| ] interface IntersectionObserver { |
| [RaisesException] void observe(Element target); |
| [RaisesException] void unobserve(Element target); |
| void disconnect(); |
| sequence<IntersectionObserverEntry> takeRecords(); |
| readonly attribute Element? root; |
| readonly attribute DOMString rootMargin; |
| readonly attribute double[] thresholds; |
| }; |