Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 Processes events related to editing text and emits the | 6 * @fileoverview Processes events related to editing text and emits the |
| 7 * appropriate spoken and braille feedback. | 7 * appropriate spoken and braille feedback. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 goog.provide('editing.TextEditHandler'); | 10 goog.provide('editing.TextEditHandler'); |
| (...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 384 var value = cur.value_; | 384 var value = cur.value_; |
| 385 value.setSpan(new cvox.ValueSpan(0), 0, cur.value_.length); | 385 value.setSpan(new cvox.ValueSpan(0), 0, cur.value_.length); |
| 386 value.setSpan( | 386 value.setSpan( |
| 387 new cvox.ValueSelectionSpan(), cur.startOffset, cur.endOffset); | 387 new cvox.ValueSelectionSpan(), cur.startOffset, cur.endOffset); |
| 388 cvox.ChromeVox.braille.write(new cvox.NavBraille( | 388 cvox.ChromeVox.braille.write(new cvox.NavBraille( |
| 389 {text: value, startIndex: cur.startOffset, endIndex: cur.endOffset})); | 389 {text: value, startIndex: cur.startOffset, endIndex: cur.endOffset})); |
| 390 }, | 390 }, |
| 391 | 391 |
| 392 /** @override */ | 392 /** @override */ |
| 393 describeSelectionChanged: function(evt) { | 393 describeSelectionChanged: function(evt) { |
| 394 // Ignore end of text announcements. | 394 // Note that since Chrome allows for selection to be placed immediately at |
| 395 if ((this.start + 1) == evt.start && evt.start == this.value.length) | 395 // the end of a line (i.e. end == value.length) and since we try to describe |
| 396 // the character to the right, this state has very little meaning in most | |
|
dmazzoni
2017/06/23 18:31:45
I don't know what you mean by "this state has very
David Tseng
2017/06/23 19:17:07
It has little meaning because there's no character
| |
| 397 // cases. Describe it as a new line. In braille, we simply show the cursor | |
| 398 // one cell to the right of the last character. | |
| 399 if ((this.start + 1) == evt.start && evt.start == this.value.length) { | |
| 400 this.speak('\n', evt.triggeredByUser); | |
| 396 return; | 401 return; |
| 402 } | |
| 397 | 403 |
| 398 cvox.ChromeVoxEditableTextBase.prototype.describeSelectionChanged.call( | 404 cvox.ChromeVoxEditableTextBase.prototype.describeSelectionChanged.call( |
| 399 this, evt); | 405 this, evt); |
| 400 }, | 406 }, |
| 401 | 407 |
| 402 /** @override */ | 408 /** @override */ |
| 403 getLineIndex: function(charIndex) { | 409 getLineIndex: function(charIndex) { |
| 404 return 0; | 410 return 0; |
| 405 }, | 411 }, |
| 406 | 412 |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 745 * @return {boolean} | 751 * @return {boolean} |
| 746 */ | 752 */ |
| 747 isSameLineAndSelection: function(otherLine) { | 753 isSameLineAndSelection: function(otherLine) { |
| 748 return this.isSameLine(otherLine) && | 754 return this.isSameLine(otherLine) && |
| 749 this.startOffset == otherLine.startOffset && | 755 this.startOffset == otherLine.startOffset && |
| 750 this.endOffset == otherLine.endOffset; | 756 this.endOffset == otherLine.endOffset; |
| 751 } | 757 } |
| 752 }; | 758 }; |
| 753 | 759 |
| 754 }); | 760 }); |
| OLD | NEW |