OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007 Apple Inc. All rights reserved. |
3 * Copyright (C) 2009 Google Inc. All rights reserved. | 3 * Copyright (C) 2009 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 12 matching lines...) Expand all Loading... |
23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
28 */ | 28 */ |
29 | 29 |
30 // This is based off of Mozilla's Selection interface | 30 // This is based off of Mozilla's Selection interface |
31 // https://developer.mozilla.org/En/DOM/Selection | 31 // https://developer.mozilla.org/En/DOM/Selection |
32 [ | 32 [ |
| 33 WillBeGarbageCollected, |
33 ImplementedAs=DOMSelection | 34 ImplementedAs=DOMSelection |
34 ] interface Selection { | 35 ] interface Selection { |
35 readonly attribute Node anchorNode; | 36 readonly attribute Node anchorNode; |
36 readonly attribute long anchorOffset; | 37 readonly attribute long anchorOffset; |
37 readonly attribute Node focusNode; | 38 readonly attribute Node focusNode; |
38 readonly attribute long focusOffset; | 39 readonly attribute long focusOffset; |
39 | 40 |
40 readonly attribute boolean isCollapsed; | 41 readonly attribute boolean isCollapsed; |
41 readonly attribute long rangeCount; | 42 readonly attribute long rangeCount; |
42 | 43 |
43 [RaisesException] void collapse([Default=Undefined] optional Node node, | 44 [RaisesException, TypeChecking=Interface|Nullable] void collapse(Node node, |
44 [Default=Undefined] optional long index); | 45 optional long offset); |
45 [RaisesException] void collapseToEnd(); | 46 [RaisesException] void collapseToEnd(); |
46 [RaisesException] void collapseToStart(); | 47 [RaisesException] void collapseToStart(); |
47 | 48 |
48 [CustomElementCallbacks] void deleteFromDocument(); | 49 [CustomElementCallbacks] void deleteFromDocument(); |
49 boolean containsNode([Default=Undefined] optional Node node, | 50 boolean containsNode([Default=Undefined] optional Node node, |
50 [Default=Undefined] optional boolean allowPartial); | 51 [Default=Undefined] optional boolean allowPartial); |
51 [RaisesException] void selectAllChildren([Default=Undefined] optional Node n
ode); | 52 [RaisesException] void selectAllChildren([Default=Undefined] optional Node n
ode); |
52 | 53 |
53 [RaisesException] void extend([Default=Undefined] optional Node node, | 54 [RaisesException] void extend([Default=Undefined] optional Node node, |
54 [Default=Undefined] optional long offset); | 55 [Default=Undefined] optional long offset); |
55 | 56 |
56 [RaisesException] Range getRangeAt([Default=Undefined] optional long index); | 57 [RaisesException] Range getRangeAt([Default=Undefined] optional long index); |
57 void removeAllRanges(); | 58 void removeAllRanges(); |
58 void addRange([Default=Undefined] optional Range range); | 59 void addRange([Default=Undefined] optional Range range); |
59 | 60 |
60 [NotEnumerable] DOMString toString(); | 61 [NotEnumerable] DOMString toString(); |
61 | 62 |
62 // WebKit extensions | 63 // WebKit extensions |
63 readonly attribute Node baseNode; | 64 [MeasureAs=SelectionBaseNode] readonly attribute Node baseNode; |
64 readonly attribute long baseOffset; | 65 [MeasureAs=SelectionBaseOffset] readonly attribute long baseOffset; |
65 readonly attribute Node extentNode; | 66 [MeasureAs=SelectionExtentNode] readonly attribute Node extentNode; |
66 readonly attribute long extentOffset; | 67 [MeasureAs=SelectionExtentOffset] readonly attribute long extentOffset; |
67 | 68 |
68 // WebKit's "type" accessor returns "None", "Range" and "Caret" | 69 // WebKit's "type" accessor returns "None", "Range" and "Caret" |
69 // IE's type accessor returns "none", "text" and "control" | 70 // IE's type accessor returns "none", "text" and "control" |
70 readonly attribute DOMString type; | 71 [MeasureAs=SelectionType] readonly attribute DOMString type; |
71 | 72 |
72 void modify([Default=Undefined] optional DOMString alter, | 73 [MeasureAs=SelectionModify] void modify([Default=Undefined] optional DOMStri
ng alter, |
73 [Default=Undefined] optional DOMString direction, | 74 [Default=Undefined] optional DOMStri
ng direction, |
74 [Default=Undefined] optional DOMString granularity); | 75 [Default=Undefined] optional DOMStri
ng granularity); |
75 [RaisesException] void setBaseAndExtent([Default=Undefined] optional Node ba
seNode, | 76 [MeasureAs=SelectionSetBaseAndExtent, RaisesException] void setBaseAndExtent
([Default=Undefined] optional Node baseNode, |
76 [Default=Undefined] optional long baseOffset, | 77
[Default=Undefined] optional long baseOffset, |
77 [Default=Undefined] optional Node extentNode, | 78
[Default=Undefined] optional Node extentNode, |
78 [Default=Undefined] optional long extentOffset); | 79
[Default=Undefined] optional long extentOffset); |
79 [RaisesException, ImplementedAs=collapse] void setPosition([Default=Undefine
d] optional Node node, | 80 [ImplementedAs=collapse, MeasureAs=SelectionSetPosition, RaisesException, Ty
peChecking=Interface|Nullable] void setPosition(Node node, |
80 [Default=Undefined] optional long offset); | 81
optional long offset); |
81 | 82 |
82 // IE extentions | 83 // IE extentions |
83 // http://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspx | 84 // http://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspx |
84 void empty(); | 85 [MeasureAs=SelectionEmpty] void empty(); |
85 }; | 86 }; |
86 | 87 |
OLD | NEW |