From 791d5f8a43a28b149e0c328c71ecc31c2ade2179 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Wed, 16 Sep 2020 16:39:15 +0000 Subject: Issue #1643 - Part 2: Implement ResizeObserver API Implements ResizeObserver, ResizeObserverEntry and ResizeObservation --- dom/webidl/ResizeObserver.webidl | 39 +++++++++++++++++++++++++++++++++++++++ dom/webidl/moz.build | 1 + 2 files changed, 40 insertions(+) create mode 100644 dom/webidl/ResizeObserver.webidl (limited to 'dom/webidl') diff --git a/dom/webidl/ResizeObserver.webidl b/dom/webidl/ResizeObserver.webidl new file mode 100644 index 000000000..98700f53c --- /dev/null +++ b/dom/webidl/ResizeObserver.webidl @@ -0,0 +1,39 @@ +/* -*- 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 http://mozilla.org/MPL/2.0/. + * + * The origin of this IDL file is + * https://wicg.github.io/ResizeObserver/ + */ + +[Constructor(ResizeObserverCallback callback), + Exposed=Window, + Pref="layout.css.resizeobserver.enabled"] +interface ResizeObserver { + [Throws] + void observe(Element? target); + [Throws] + void unobserve(Element? target); + void disconnect(); +}; + +callback ResizeObserverCallback = void (sequence entries, ResizeObserver observer); + +[Constructor(Element? target), + ChromeOnly, + Pref="layout.css.resizeobserver.enabled"] +interface ResizeObserverEntry { + readonly attribute Element target; + readonly attribute DOMRectReadOnly? contentRect; +}; + +[Constructor(Element? target), + ChromeOnly, + Pref="layout.css.resizeobserver.enabled"] +interface ResizeObservation { + readonly attribute Element target; + readonly attribute long broadcastWidth; + readonly attribute long broadcastHeight; + boolean isActive(); +}; diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build index 687e502fa..5699e7721 100644 --- a/dom/webidl/moz.build +++ b/dom/webidl/moz.build @@ -365,6 +365,7 @@ WEBIDL_FILES = [ 'Range.webidl', 'Rect.webidl', 'Request.webidl', + 'ResizeObserver.webidl', 'Response.webidl', 'RGBColor.webidl', 'RTCStatsReport.webidl', -- cgit v1.2.3