w3c_range.js (7177B)
1 /* 2 * Copyright 2008 The Closure Compiler Authors 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 /** 18 * @fileoverview Definitions for W3C's range specification. 19 * This file depends on w3c_dom2.js. 20 * The whole file has been fully type annotated. 21 * Created from 22 * http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html 23 * 24 * @externs 25 * @author stevey@google.com (Steve Yegge) 26 */ 27 28 29 /** 30 * @constructor 31 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Interface 32 */ 33 function Range() {} 34 35 /** 36 * @type {Node} 37 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startParent 38 */ 39 Range.prototype.startContainer; 40 41 /** 42 * @type {number} 43 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startOffset 44 */ 45 Range.prototype.startOffset; 46 47 /** 48 * @type {Node} 49 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endParent 50 */ 51 Range.prototype.endContainer; 52 53 /** 54 * @type {number} 55 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endOffset 56 */ 57 Range.prototype.endOffset; 58 59 /** 60 * @type {boolean} 61 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-collapsed 62 */ 63 Range.prototype.collapsed; 64 65 /** 66 * @type {Node} 67 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-commonParent 68 */ 69 Range.prototype.commonAncestorContainer; 70 71 /** 72 * @param {Node} refNode 73 * @param {number} offset 74 * @return {undefined} 75 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStart 76 */ 77 Range.prototype.setStart = function(refNode, offset) {}; 78 79 /** 80 * @param {Node} refNode 81 * @param {number} offset 82 * @return {undefined} 83 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEnd 84 */ 85 Range.prototype.setEnd = function(refNode, offset) {}; 86 87 /** 88 * @param {Node} refNode 89 * @return {undefined} 90 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-setStartBefore 91 */ 92 Range.prototype.setStartBefore = function(refNode) {}; 93 94 /** 95 * @param {Node} refNode 96 * @return {undefined} 97 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStartAfter 98 */ 99 Range.prototype.setStartAfter = function(refNode) {}; 100 101 /** 102 * @param {Node} refNode 103 * @return {undefined} 104 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndBefore 105 */ 106 Range.prototype.setEndBefore = function(refNode) {}; 107 108 /** 109 * @param {Node} refNode 110 * @return {undefined} 111 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndAfter 112 */ 113 Range.prototype.setEndAfter = function(refNode) {}; 114 115 /** 116 * @param {boolean} toStart 117 * @return {undefined} 118 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-collapse 119 */ 120 Range.prototype.collapse = function(toStart) {}; 121 122 /** 123 * @param {Node} refNode 124 * @return {undefined} 125 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNode 126 */ 127 Range.prototype.selectNode = function(refNode) {}; 128 129 /** 130 * @param {Node} refNode 131 * @return {undefined} 132 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodeContents 133 */ 134 Range.prototype.selectNodeContents = function(refNode) {}; 135 136 /** 137 * @type {number} 138 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow 139 */ 140 Range.prototype.START_TO_START = 0; 141 142 /** 143 * @type {number} 144 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow 145 */ 146 Range.prototype.START_TO_END = 1; 147 148 /** 149 * @type {number} 150 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow 151 */ 152 Range.prototype.END_TO_END = 2; 153 154 /** 155 * @type {number} 156 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow 157 */ 158 Range.prototype.END_TO_START = 3; 159 160 /** 161 * @param {number} how 162 * @param {Range} sourceRange 163 * @return {number} 164 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-compareBoundaryPoints 165 */ 166 Range.prototype.compareBoundaryPoints = function(how, sourceRange) {}; 167 168 /** 169 * @return {number} 170 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-deleteContents 171 */ 172 Range.prototype.deleteContents = function() {}; 173 174 /** 175 * @return {DocumentFragment} 176 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-extractContents 177 */ 178 Range.prototype.extractContents = function() {}; 179 180 /** 181 * @return {DocumentFragment} 182 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-cloneContents 183 */ 184 Range.prototype.cloneContents = function() {}; 185 186 /** 187 * @param {Node} newNode 188 * @return {DocumentFragment} 189 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-insertNode 190 */ 191 Range.prototype.insertNode = function(newNode) {}; 192 193 /** 194 * @param {Node} newParent 195 * @return {undefined} 196 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-surroundContents 197 */ 198 Range.prototype.surroundContents = function(newParent) {}; 199 200 /** 201 * @return {Range} 202 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-clone 203 */ 204 Range.prototype.cloneRange = function() {}; 205 206 /** 207 * @return {undefined} 208 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-detach 209 */ 210 Range.prototype.detach = function() {}; 211 212 // Introduced in DOM Level 2: 213 /** 214 * @constructor 215 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-DocumentRange-idl 216 */ 217 function DocumentRange() {} 218 219 /** 220 * @return {Range} 221 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-DocumentRange-method-createRange 222 */ 223 DocumentRange.prototype.createRange = function() {}; 224 225 // Introduced in DOM Level 2: 226 /** 227 * @constructor 228 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeException 229 */ 230 function RangeException() {} 231 232 /** 233 * @type {number} 234 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode 235 */ 236 RangeException.prototype.code; 237 238 /** 239 * @type {number} 240 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode 241 */ 242 RangeException.prototype.BAD_BOUNDARYPOINTS_ERR = 1; 243 244 /** 245 * @type {number} 246 * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode 247 */ 248 RangeException.prototype.INVALID_NODE_TYPE_ERR = 2;