blob: a1f0c753f627a228bde4b8b565023baea0b418b9 [file] [log] [blame]
// Copyright 2015 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.
[
ImplementedAs=ContainerNode,
] interface ParentNode : Node {
readonly attribute Node firstChild;
readonly attribute Node lastChild;
readonly attribute Element firstElementChild;
readonly attribute Element lastElementChild;
sequence<Node> getChildNodes();
sequence<Element> getChildElements();
[CustomElementCallbacks, RaisesException] void append(sequence<Node> nodes);
[CustomElementCallbacks, RaisesException] Node appendChild(Node node);
[CustomElementCallbacks, RaisesException] void prepend(sequence<Node> nodes);
[CustomElementCallbacks, RaisesException] Node prependChild(Node node);
[CustomElementCallbacks] void removeChildren();
[CustomElementCallbacks, RaisesException] Node setChild(Node node);
[CustomElementCallbacks, RaisesException] void setChildren(sequence<Node> nodes);
// TODO(abarth): Remove when we have the selector object.
[RaisesException] Element querySelector(DOMString selectors);
[RaisesException] sequence<Element> querySelectorAll(DOMString selectors);
};