Fall back to simpler implementation of editing feedback for <textarea>

A <textarea> currently exposes all text like so:
textarea node
  static text node
    inline text box node
    ...

i.e. all lines are under just one static text. Given 1000+ lines, this amounts to a fairly flat tree structure. The computation of necessary text attributes such as indexing into the lines for the purposes of finding the line with text selection becomes increasingly expensive.

In a similar content editable, the large static text would hvae been split into multiple static texts.

The user consequence is that in a textarea with just a few hundred lines becomes unusable. ~4 second latency between key press and speech output.

Bug: 936947:
Change-Id: I9772851ba34c8ec1945e83a7d0baa2676cedad3f
Reviewed-on: https://chromium-review.googlesource.com/c/1496299
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#636830}
3 files changed