Index: chrome/browser/resources/chromeos/chromevox/common/editable_text_base.js |
diff --git a/chrome/browser/resources/chromeos/chromevox/common/editable_text_base.js b/chrome/browser/resources/chromeos/chromevox/common/editable_text_base.js |
index 74902a019dd4df412115810b179470c4f88104de..543d52cc0e3688391c21d0185c257702b9f9f1cd 100644 |
--- a/chrome/browser/resources/chromeos/chromevox/common/editable_text_base.js |
+++ b/chrome/browser/resources/chromeos/chromevox/common/editable_text_base.js |
@@ -352,14 +352,7 @@ cvox.ChromeVoxEditableTextBase.prototype.describeSelectionChanged = |
this.speak(Msgs.getMsg('Unselected'), evt.triggeredByUser); |
} else if (this.getLineIndex(this.start) != |
this.getLineIndex(evt.start)) { |
- // Moved to a different line; read it. |
- var lineValue = this.getLine(this.getLineIndex(evt.start)); |
- if (lineValue == '') { |
- lineValue = Msgs.getMsg('text_box_blank'); |
- } else if (/^\s+$/.test(lineValue)) { |
- lineValue = Msgs.getMsg('text_box_whitespace'); |
- } |
- this.speak(lineValue, evt.triggeredByUser); |
+ this.describeLine(this.getLineIndex(evt.start), evt.triggeredByUser); |
} else if (this.start == evt.start + 1 || |
this.start == evt.start - 1) { |
// Moved by one character; read it. |
@@ -426,6 +419,22 @@ cvox.ChromeVoxEditableTextBase.prototype.describeSelectionChanged = |
} |
}; |
+/** |
+ * Describes a line given a line index and whether it was user triggered. |
+ * @param {number} lineIndex |
+ * @param {boolean} triggeredByUser |
+ */ |
+cvox.ChromeVoxEditableTextBase.prototype.describeLine = |
+ function(lineIndex, triggeredByUser) { |
+ var lineValue = this.getLine(lineIndex); |
+ if (lineValue == '') { |
+ lineValue = Msgs.getMsg('text_box_blank'); |
+ } else if (/^\s+$/.test(lineValue)) { |
+ lineValue = Msgs.getMsg('text_box_whitespace'); |
+ } |
+ this.speak(lineValue, triggeredByUser); |
+}; |
+ |
/** |
* Describe a change where the text changes. |