2 * Copyright (C) 2006 Apple Computer, Inc.
3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
15 * You should have received a copy of the GNU Library General Public License
16 * along with this library; see the file COPYING.LIB. If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
21 // Introduced in DOM Level 2:
24 ConstructorCallWith=Document,
25 WillBeGarbageCollected,
28 readonly attribute Node startContainer;
29 readonly attribute long startOffset;
30 readonly attribute Node endContainer;
31 readonly attribute long endOffset;
32 readonly attribute boolean collapsed;
33 readonly attribute Node commonAncestorContainer;
35 [RaisesException] void setStart(Node refNode, long offset);
36 [RaisesException] void setEnd(Node refNode, long offset);
37 [RaisesException] void setStartBefore(Node refNode);
38 [RaisesException] void setStartAfter(Node refNode);
39 [RaisesException] void setEndBefore(Node refNode);
40 [RaisesException] void setEndAfter(Node refNode);
41 void collapse(optional boolean toStart = false);
42 [RaisesException] void selectNode(Node refNode);
43 [RaisesException] void selectNodeContents(Node refNode);
46 const unsigned short START_TO_START = 0;
47 const unsigned short START_TO_END = 1;
48 const unsigned short END_TO_END = 2;
49 const unsigned short END_TO_START = 3;
51 [RaisesException, TypeChecking=Interface] short compareBoundaryPoints(unsigned short how, Range sourceRange);
53 [RaisesException, CustomElementCallbacks] void deleteContents();
54 [RaisesException, CustomElementCallbacks] DocumentFragment extractContents();
55 [RaisesException, CustomElementCallbacks] DocumentFragment cloneContents();
56 [RaisesException, CustomElementCallbacks] void insertNode(Node newNode);
57 [RaisesException, CustomElementCallbacks] void surroundContents(Node newParent);
62 [DeprecateAs=RangeDetach] void detach();
64 [RaisesException] boolean isPointInRange(Node refNode, long offset);
65 [RaisesException, TypeChecking=Interface] short comparePoint(Node refNode, long offset);
67 [RaisesException] boolean intersectsNode(Node refNode);
69 // CSSOM View Module API extensions
71 ClientRectList getClientRects();
72 ClientRect getBoundingClientRect();
74 // DOM Parsing and Serialization
76 [RaisesException, CustomElementCallbacks] DocumentFragment createContextualFragment(DOMString html);
81 const unsigned short NODE_BEFORE = 0;
82 const unsigned short NODE_AFTER = 1;
83 const unsigned short NODE_BEFORE_AND_AFTER = 2;
84 const unsigned short NODE_INSIDE = 3;
86 [RaisesException, MeasureAs=RangeCompareNode] short compareNode([Default=Undefined] optional Node refNode);
88 [RaisesException, MeasureAs=RangeExpand] void expand([Default=Undefined] optional DOMString unit);