RFR: 8296266: TextArea: Navigation breaks with RTL text [v2]

Andy Goryachev angorya at openjdk.org
Mon Oct 9 23:12:36 UTC 2023


> The fix uses character BreakIterator instead of the logic that relies on caretBounds/hitTest/rangeShape in TextInputControl.nextCharacterVisually().
> 
> I believe this is a more reliable method of navigation, as it behaves in sync with the jdk break iterator, thought it might work differently around grapheme clusters, considering a recent change JDK-8291660
> 
> This change also introduces TextInputControlHelper class (impl. detail) which gives access to character- and word- break iterators cached by TextInputControl (*some say* these iterators and associated editing logic should be a part of Content implementation, but that's a discussion for another day).

Andy Goryachev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:

 - naming changes only
 - Merge remote-tracking branch 'origin/master' into 8296266.navigation
 - added robot test
 - exposing cached break iterators
 - using break iterator

-------------

Changes:
  - all: https://git.openjdk.org/jfx/pull/1220/files
  - new: https://git.openjdk.org/jfx/pull/1220/files/e41da6df..94bba45e

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1220&range=01
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1220&range=00-01

  Stats: 6959 lines in 121 files changed: 5173 ins; 1013 del; 773 mod
  Patch: https://git.openjdk.org/jfx/pull/1220.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1220/head:pull/1220

PR: https://git.openjdk.org/jfx/pull/1220


More information about the openjfx-dev mailing list