|
1 /* |
|
2 * Copyright (C) 2006 Apple Computer, Inc. |
|
3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> |
|
4 * |
|
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. |
|
9 * |
|
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. |
|
14 * |
|
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. |
|
19 */ |
|
20 |
|
21 module ranges { |
|
22 |
|
23 // Introduced in DOM Level 2: |
|
24 interface Range { |
|
25 |
|
26 readonly attribute Node startContainer |
|
27 getter raises(DOMException); |
|
28 readonly attribute long startOffset |
|
29 getter raises(DOMException); |
|
30 readonly attribute Node endContainer |
|
31 getter raises(DOMException); |
|
32 readonly attribute long endOffset |
|
33 getter raises(DOMException); |
|
34 readonly attribute boolean collapsed |
|
35 getter raises(DOMException); |
|
36 readonly attribute Node commonAncestorContainer |
|
37 getter raises(DOMException); |
|
38 |
|
39 [OldStyleObjC] void setStart(in Node refNode, |
|
40 in long offset) |
|
41 raises(RangeException, DOMException); |
|
42 [OldStyleObjC] void setEnd(in Node refNode, |
|
43 in long offset) |
|
44 raises(RangeException, DOMException); |
|
45 void setStartBefore(in Node refNode) |
|
46 raises(RangeException, DOMException); |
|
47 void setStartAfter(in Node refNode) |
|
48 raises(RangeException, DOMException); |
|
49 void setEndBefore(in Node refNode) |
|
50 raises(RangeException, DOMException); |
|
51 void setEndAfter(in Node refNode) |
|
52 raises(RangeException, DOMException); |
|
53 void collapse(in boolean toStart) |
|
54 raises(DOMException); |
|
55 void selectNode(in Node refNode) |
|
56 raises(RangeException, DOMException); |
|
57 void selectNodeContents(in Node refNode) |
|
58 raises(RangeException, DOMException); |
|
59 |
|
60 // CompareHow |
|
61 const unsigned short START_TO_START = 0; |
|
62 const unsigned short START_TO_END = 1; |
|
63 const unsigned short END_TO_END = 2; |
|
64 const unsigned short END_TO_START = 3; |
|
65 |
|
66 [OldStyleObjC] short compareBoundaryPoints(in CompareHow how, |
|
67 in Range sourceRange) |
|
68 raises(DOMException); |
|
69 |
|
70 void deleteContents() |
|
71 raises(DOMException); |
|
72 DocumentFragment extractContents() |
|
73 raises(DOMException); |
|
74 DocumentFragment cloneContents() |
|
75 raises(DOMException); |
|
76 void insertNode(in Node newNode) |
|
77 raises(DOMException, RangeException); |
|
78 void surroundContents(in Node newParent) |
|
79 raises(DOMException, RangeException); |
|
80 Range cloneRange() |
|
81 raises(DOMException); |
|
82 DOMString toString() |
|
83 raises(DOMException); |
|
84 |
|
85 void detach() |
|
86 raises(DOMException); |
|
87 |
|
88 #if defined(LANGUAGE_JAVASCRIPT) || LANGUAGE_JAVASCRIPT |
|
89 // CSSOM View Module API extensions |
|
90 |
|
91 ClientRectList getClientRects(); |
|
92 ClientRect getBoundingClientRect(); |
|
93 #endif |
|
94 |
|
95 // extensions |
|
96 |
|
97 DocumentFragment createContextualFragment(in DOMString html) |
|
98 raises(DOMException); |
|
99 |
|
100 // WebKit extensions |
|
101 |
|
102 boolean intersectsNode(in Node refNode) |
|
103 raises(RangeException, DOMException); |
|
104 |
|
105 short compareNode(in Node refNode) |
|
106 raises(RangeException, DOMException); |
|
107 |
|
108 // CompareResults |
|
109 const unsigned short NODE_BEFORE = 0; |
|
110 const unsigned short NODE_AFTER = 1; |
|
111 const unsigned short NODE_BEFORE_AND_AFTER = 2; |
|
112 const unsigned short NODE_INSIDE = 3; |
|
113 |
|
114 short comparePoint(in Node refNode, |
|
115 in long offset) |
|
116 raises(RangeException, DOMException); |
|
117 |
|
118 boolean isPointInRange(in Node refNode, |
|
119 in long offset) |
|
120 raises(RangeException, DOMException); |
|
121 |
|
122 void expand(in DOMString unit) |
|
123 raises(RangeException, DOMException); |
|
124 |
|
125 #if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT |
|
126 readonly attribute DOMString text; |
|
127 #endif |
|
128 }; |
|
129 |
|
130 } |