blob: 7ccd0ea5b998be03d70d32b5a790413b7e2abb4c [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();
[RaisesException] void append(sequence<Node> nodes);
[RaisesException] Node appendChild(Node node);
[RaisesException] void prepend(sequence<Node> nodes);
[RaisesException] Node prependChild(Node node);
void removeChildren();
[RaisesException] Node setChild(Node node);
[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);
};