initial import
[vuplus_webkit] / Source / WebCore / dom / Range.idl
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 [Optional=CallWithDefaultValue] Node refNode, 
40                                      in [Optional=CallWithDefaultValue] long offset)
41             raises(RangeException, DOMException);
42         [OldStyleObjC] void setEnd(in [Optional=CallWithDefaultValue] Node refNode, 
43                                    in [Optional=CallWithDefaultValue] long offset)
44             raises(RangeException, DOMException);
45         void setStartBefore(in [Optional=CallWithDefaultValue] Node refNode)
46             raises(RangeException, DOMException);
47         void setStartAfter(in [Optional=CallWithDefaultValue] Node refNode)
48             raises(RangeException, DOMException);
49         void setEndBefore(in [Optional=CallWithDefaultValue] Node refNode)
50             raises(RangeException, DOMException);
51         void setEndAfter(in [Optional=CallWithDefaultValue] Node refNode)
52             raises(RangeException, DOMException);
53         void collapse(in [Optional=CallWithDefaultValue] boolean toStart)
54             raises(DOMException);
55         void selectNode(in [Optional=CallWithDefaultValue] Node refNode)
56             raises(RangeException, DOMException);
57         void selectNodeContents(in [Optional=CallWithDefaultValue] 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 [Optional=CallWithDefaultValue] CompareHow how,
67                                                    in [Optional=CallWithDefaultValue] 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 [Optional=CallWithDefaultValue] Node newNode)
77             raises(DOMException, RangeException);
78         void surroundContents(in [Optional=CallWithDefaultValue] 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 [Optional=CallWithDefaultValue] DOMString html)
98             raises(DOMException);
99
100         // WebKit extensions
101
102         boolean intersectsNode(in [Optional=CallWithDefaultValue] Node refNode)
103             raises(RangeException, DOMException);
104
105         short compareNode(in [Optional=CallWithDefaultValue] 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 [Optional=CallWithDefaultValue] Node refNode, 
115                            in [Optional=CallWithDefaultValue] long offset)
116             raises(RangeException, DOMException);
117
118         boolean isPointInRange(in [Optional=CallWithDefaultValue] Node refNode, 
119                                in [Optional=CallWithDefaultValue] long offset)
120             raises(RangeException, DOMException);
121
122         void expand(in [Optional=CallWithDefaultValue] DOMString unit)
123             raises(RangeException, DOMException);
124
125 #if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT
126         readonly attribute DOMString text;
127 #endif
128     };
129
130 }