Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: chrome/browser/resources/chromeos/chromevox/cvox2/background/cursors.js

Issue 1181333005: Convert some ChromeVox functional getters to properties. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@traversal_root
Patch Set: Rebase Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview Classes related to cursors that point to and select parts of 6 * @fileoverview Classes related to cursors that point to and select parts of
7 * the automation tree. 7 * the automation tree.
8 */ 8 */
9 9
10 goog.provide('cursors.Cursor'); 10 goog.provide('cursors.Cursor');
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 return new cursors.Cursor(node, cursors.NODE_INDEX); 82 return new cursors.Cursor(node, cursors.NODE_INDEX);
83 }; 83 };
84 84
85 cursors.Cursor.prototype = { 85 cursors.Cursor.prototype = {
86 /** 86 /**
87 * Returns true if |rhs| is equal to this cursor. 87 * Returns true if |rhs| is equal to this cursor.
88 * @param {!cursors.Cursor} rhs 88 * @param {!cursors.Cursor} rhs
89 * @return {boolean} 89 * @return {boolean}
90 */ 90 */
91 equals: function(rhs) { 91 equals: function(rhs) {
92 return this.node_ === rhs.getNode() && 92 return this.node_ === rhs.node &&
93 this.index_ === rhs.getIndex(); 93 this.index_ === rhs.getIndex();
94 }, 94 },
95 95
96 /** 96 /**
97 * @return {!AutomationNode} 97 * @return {!AutomationNode}
98 */ 98 */
99 getNode: function() { 99 get node() {
100 return this.node_; 100 return this.node_;
101 }, 101 },
102 102
103 /** 103 /**
104 * @return {number} 104 * @return {number}
105 */ 105 */
106 getIndex: function() { 106 getIndex: function() {
107 return this.index_; 107 return this.index_;
108 }, 108 },
109 109
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 * relates them. 277 * relates them.
278 * @param {!cursors.Range} rangeA 278 * @param {!cursors.Range} rangeA
279 * @param {!cursors.Range} rangeB 279 * @param {!cursors.Range} rangeB
280 * @return {Dir} 280 * @return {Dir}
281 */ 281 */
282 cursors.Range.getDirection = function(rangeA, rangeB) { 282 cursors.Range.getDirection = function(rangeA, rangeB) {
283 if (!rangeA || !rangeB) 283 if (!rangeA || !rangeB)
284 return Dir.FORWARD; 284 return Dir.FORWARD;
285 285
286 // They are the same range. 286 // They are the same range.
287 if (rangeA.getStart().getNode() === rangeB.getStart().getNode() && 287 if (rangeA.start.node === rangeB.start.node &&
288 rangeB.getEnd().getNode() === rangeA.getEnd().getNode()) 288 rangeB.end.node === rangeA.end.node)
289 return Dir.FORWARD; 289 return Dir.FORWARD;
290 290
291 var testDirA = 291 var testDirA =
292 AutomationUtil.getDirection( 292 AutomationUtil.getDirection(
293 rangeA.getStart().getNode(), rangeB.getEnd().getNode()); 293 rangeA.start.node, rangeB.end.node);
294 var testDirB = 294 var testDirB =
295 AutomationUtil.getDirection( 295 AutomationUtil.getDirection(
296 rangeB.getStart().getNode(), rangeA.getEnd().getNode()); 296 rangeB.start.node, rangeA.end.node);
297 297
298 // The two ranges are either partly overlapping or non overlapping. 298 // The two ranges are either partly overlapping or non overlapping.
299 if (testDirA == Dir.FORWARD && testDirB == Dir.BACKWARD) 299 if (testDirA == Dir.FORWARD && testDirB == Dir.BACKWARD)
300 return Dir.FORWARD; 300 return Dir.FORWARD;
301 else if (testDirA == Dir.BACKWARD && testDirB == Dir.FORWARD) 301 else if (testDirA == Dir.BACKWARD && testDirB == Dir.FORWARD)
302 return Dir.BACKWARD; 302 return Dir.BACKWARD;
303 else 303 else
304 return testDirA; 304 return testDirA;
305 }; 305 };
306 306
307 cursors.Range.prototype = { 307 cursors.Range.prototype = {
308 /** 308 /**
309 * Returns true if |rhs| is equal to this range. 309 * Returns true if |rhs| is equal to this range.
310 * @param {!cursors.Range} rhs 310 * @param {!cursors.Range} rhs
311 * @return {boolean} 311 * @return {boolean}
312 */ 312 */
313 equals: function(rhs) { 313 equals: function(rhs) {
314 return this.start_.equals(rhs.getStart()) && 314 return this.start_.equals(rhs.start) &&
315 this.end_.equals(rhs.getEnd()); 315 this.end_.equals(rhs.end);
316 }, 316 },
317 317
318 /** 318 /**
319 * Gets a cursor bounding this range. 319 * Gets a cursor bounding this range.
320 * @param {Dir} dir Which endpoint cursor to return; Dir.FORWARD for end, 320 * @param {Dir} dir Which endpoint cursor to return; Dir.FORWARD for end,
321 * Dir.BACKWARD for start. 321 * Dir.BACKWARD for start.
322 * @param {boolean=} opt_reverse Specify to have Dir.BACKWARD return end, 322 * @param {boolean=} opt_reverse Specify to have Dir.BACKWARD return end,
323 * Dir.FORWARD return start. 323 * Dir.FORWARD return start.
324 * @return {!cursors.Cursor} 324 * @return {!cursors.Cursor}
325 */ 325 */
326 getBound: function(dir, opt_reverse) { 326 getBound: function(dir, opt_reverse) {
327 if (opt_reverse) 327 if (opt_reverse)
328 return dir == Dir.BACKWARD ? this.end_ : this.start_; 328 return dir == Dir.BACKWARD ? this.end_ : this.start_;
329 return dir == Dir.FORWARD ? this.end_ : this.start_; 329 return dir == Dir.FORWARD ? this.end_ : this.start_;
330 }, 330 },
331 331
332 /** 332 /**
333 * @return {!cursors.Cursor} 333 * @return {!cursors.Cursor}
334 */ 334 */
335 getStart: function() { 335 get start() {
336 return this.start_; 336 return this.start_;
337 }, 337 },
338 338
339 /** 339 /**
340 * @return {!cursors.Cursor} 340 * @return {!cursors.Cursor}
341 */ 341 */
342 getEnd: function() { 342 get end() {
343 return this.end_; 343 return this.end_;
344 }, 344 },
345 345
346 /** 346 /**
347 * Returns true if this range covers less than a node. 347 * Returns true if this range covers less than a node.
348 * @return {boolean} 348 * @return {boolean}
349 */ 349 */
350 isSubNode: function() { 350 isSubNode: function() {
351 return this.getStart().getNode() === this.getEnd().getNode() && 351 return this.start.node === this.end.node &&
352 this.getStart().getIndex() > -1 && 352 this.start.getIndex() > -1 &&
353 this.getEnd().getIndex() > -1; 353 this.end.getIndex() > -1;
354 }, 354 },
355 355
356 /** 356 /**
357 * Makes a Range which has been moved from this range by the given unit and 357 * Makes a Range which has been moved from this range by the given unit and
358 * direction. 358 * direction.
359 * @param {Unit} unit 359 * @param {Unit} unit
360 * @param {Dir} dir 360 * @param {Dir} dir
361 * @return {cursors.Range} 361 * @return {cursors.Range}
362 */ 362 */
363 move: function(unit, dir) { 363 move: function(unit, dir) {
364 var newStart = this.start_; 364 var newStart = this.start_;
365 var newEnd = newStart; 365 var newEnd = newStart;
366 switch (unit) { 366 switch (unit) {
367 case Unit.CHARACTER: 367 case Unit.CHARACTER:
368 newStart = newStart.move(unit, Movement.BOUND, dir); 368 newStart = newStart.move(unit, Movement.BOUND, dir);
369 newEnd = newStart.move(unit, Movement.BOUND, Dir.FORWARD); 369 newEnd = newStart.move(unit, Movement.BOUND, Dir.FORWARD);
370 // Character crossed a node; collapses to the end of the node. 370 // Character crossed a node; collapses to the end of the node.
371 if (newStart.getNode() !== newEnd.getNode()) 371 if (newStart.node !== newEnd.node)
372 newEnd = newStart; 372 newEnd = newStart;
373 break; 373 break;
374 case Unit.WORD: 374 case Unit.WORD:
375 case Unit.LINE: 375 case Unit.LINE:
376 newStart = newStart.move(unit, Movement.DIRECTIONAL, dir); 376 newStart = newStart.move(unit, Movement.DIRECTIONAL, dir);
377 newStart = newStart.move(unit, Movement.BOUND, Dir.BACKWARD); 377 newStart = newStart.move(unit, Movement.BOUND, Dir.BACKWARD);
378 newEnd = newStart.move(unit, Movement.BOUND, Dir.FORWARD); 378 newEnd = newStart.move(unit, Movement.BOUND, Dir.FORWARD);
379 break; 379 break;
380 case Unit.NODE: 380 case Unit.NODE:
381 newStart = newStart.move(unit, Movement.DIRECTIONAL, dir); 381 newStart = newStart.move(unit, Movement.DIRECTIONAL, dir);
382 newEnd = newStart; 382 newEnd = newStart;
383 break; 383 break;
384 } 384 }
385 return new cursors.Range(newStart, newEnd); 385 return new cursors.Range(newStart, newEnd);
386 } 386 }
387 }; 387 };
388 388
389 }); // goog.scope 389 }); // goog.scope
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698