/* 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/selection-api/#selection-interface [Exposed=Window] interface Selection { readonly attribute Node? anchorNode; readonly attribute unsigned long anchorOffset; readonly attribute Node? focusNode; readonly attribute unsigned long focusOffset; readonly attribute boolean isCollapsed; readonly attribute unsigned long rangeCount; readonly attribute DOMString type; [Throws] Range getRangeAt(unsigned long index); undefined addRange(Range range); [Throws] undefined removeRange(Range range); undefined removeAllRanges(); undefined empty(); [Throws] undefined collapse(Node? node, optional unsigned long offset = 0); [Throws] undefined setPosition(Node? node, optional unsigned long offset = 0); [Throws] undefined collapseToStart(); [Throws] undefined collapseToEnd(); [Throws] undefined extend(Node node, optional unsigned long offset = 0); [Throws] undefined setBaseAndExtent(Node anchorNode, unsigned long anchorOffset, Node focusNode, unsigned long focusOffset); [Throws] undefined selectAllChildren(Node node); [CEReactions, Throws] undefined deleteFromDocument(); boolean containsNode(Node node, optional boolean allowPartialContainment = false); stringifier DOMString (); };