// 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.

// https://wicg.github.io/ResizeObserver/#resize-observer-callback

callback ResizeObserverCallback = void (sequence<ResizeObserverEntry> entries, ResizeObserver observer);

// https://wicg.github.io/ResizeObserver/#resize-observer-interface

[
    Constructor(ResizeObserverCallback callback),
    ConstructorCallWith=Document,
    RuntimeEnabled=ResizeObserver
] interface ResizeObserver {
    void observe(Element target);
    void unobserve(Element target);
    void disconnect();
};
