OLD | NEW |
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 Handles braille input keys when the user is typing or editing | 6 * @fileoverview Handles braille input keys when the user is typing or editing |
7 * text in an input field. This class cooperates with the Braille IME | 7 * text in an input field. This class cooperates with the Braille IME |
8 * that is built into Chrome OS to do the actual text editing. | 8 * that is built into Chrome OS to do the actual text editing. |
9 */ | 9 */ |
10 | 10 |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 }; | 126 }; |
127 | 127 |
128 | 128 |
129 /** | 129 /** |
130 * Called when the content on the braille display is updated. Modifies the | 130 * Called when the content on the braille display is updated. Modifies the |
131 * input state according to the new content. | 131 * input state according to the new content. |
132 * @param {cvox.Spannable} text Text, optionally with value and selection | 132 * @param {cvox.Spannable} text Text, optionally with value and selection |
133 * spans. | 133 * spans. |
134 */ | 134 */ |
135 cvox.BrailleInputHandler.prototype.onDisplayContentChanged = function(text) { | 135 cvox.BrailleInputHandler.prototype.onDisplayContentChanged = function(text) { |
136 var valueSpan = text.getSpanInstanceOf(cvox.BrailleUtil.ValueSpan); | 136 var valueSpan = text.getSpanInstanceOf(cvox.ValueSpan); |
137 var selectionSpan = text.getSpanInstanceOf( | 137 var selectionSpan = text.getSpanInstanceOf(cvox.ValueSelectionSpan); |
138 cvox.BrailleUtil.ValueSelectionSpan); | |
139 if (!(valueSpan && selectionSpan)) { | 138 if (!(valueSpan && selectionSpan)) { |
140 return; | 139 return; |
141 } | 140 } |
142 // The type casts are ok because the spans are known to exist. | 141 // The type casts are ok because the spans are known to exist. |
143 var valueStart = /** @type {number} */ (text.getSpanStart(valueSpan)); | 142 var valueStart = /** @type {number} */ (text.getSpanStart(valueSpan)); |
144 var valueEnd = /** @type {number} */ (text.getSpanEnd(valueSpan)); | 143 var valueEnd = /** @type {number} */ (text.getSpanEnd(valueSpan)); |
145 var selectionStart = | 144 var selectionStart = |
146 /** @type {number} */ (text.getSpanStart(selectionSpan)); | 145 /** @type {number} */ (text.getSpanStart(selectionSpan)); |
147 var selectionEnd = /** @type {number} */ (text.getSpanEnd(selectionSpan)); | 146 var selectionEnd = /** @type {number} */ (text.getSpanEnd(selectionSpan)); |
148 if (selectionStart < valueStart || selectionEnd > valueEnd) { | 147 if (selectionStart < valueStart || selectionEnd > valueEnd) { |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 first, second) { | 499 first, second) { |
501 var limit = Math.min(first.length, second.length); | 500 var limit = Math.min(first.length, second.length); |
502 var i; | 501 var i; |
503 for (i = 0; i < limit; ++i) { | 502 for (i = 0; i < limit; ++i) { |
504 if (first.charAt(i) != second.charAt(i)) { | 503 if (first.charAt(i) != second.charAt(i)) { |
505 break; | 504 break; |
506 } | 505 } |
507 } | 506 } |
508 return i; | 507 return i; |
509 }; | 508 }; |
OLD | NEW |