diff options
Diffstat (limited to 'components/script/dom/webidls/IntersectionObserver.webidl')
-rw-r--r-- | components/script/dom/webidls/IntersectionObserver.webidl | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/components/script/dom/webidls/IntersectionObserver.webidl b/components/script/dom/webidls/IntersectionObserver.webidl new file mode 100644 index 00000000000..dc24a856363 --- /dev/null +++ b/components/script/dom/webidls/IntersectionObserver.webidl @@ -0,0 +1,32 @@ +/* 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 https://mozilla.org/MPL/2.0/. */ + +// https://w3c.github.io/IntersectionObserver/#intersection-observer-interface + +callback IntersectionObserverCallback = + undefined (sequence<IntersectionObserverEntry> entries, IntersectionObserver observer); + +dictionary IntersectionObserverInit { + (Element or Document)? root = null; + DOMString rootMargin; + DOMString scrollMargin; + (double or sequence<double>) threshold; + long delay; + boolean trackVisibility = false; +}; + +[Pref="dom.intersection_observer.enabled", Exposed=(Window)] +interface IntersectionObserver { + constructor(IntersectionObserverCallback callback, optional IntersectionObserverInit options = {}); + readonly attribute (Element or Document)? root; + readonly attribute DOMString rootMargin; + readonly attribute DOMString scrollMargin; + readonly attribute /* FrozenArray<double> */ any thresholds; + readonly attribute long delay; + readonly attribute boolean trackVisibility; + undefined observe(Element target); + undefined unobserve(Element target); + undefined disconnect(); + sequence<IntersectionObserverEntry> takeRecords(); +}; |