FlowPane has the following defects:

1. Raw insets are used for measurement and layout.
2. Snapped allocations are not re-snapped after arithmetic.
3. The preferred-size methods sometimes apply `snapSizeX/Y` to an already 
composed run span.
4. `prefWrapLength`, supplied widths/heights, and the pane’s own allocated 
width/height are used raw when deciding where to wrap.
5. Content bias is only partially handled.
6. The cached runs contain snapped sizes and gaps, but the cache key records 
only `maxRunLength`; it does not include `isSnapToPixel` or the X/Y render 
scales.

---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

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

Commit messages:
 - fix
 - tests

Changes: https://git.openjdk.org/jfx/pull/2269/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=2269&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8390771
  Stats: 501 lines in 2 files changed: 398 ins; 36 del; 67 mod
  Patch: https://git.openjdk.org/jfx/pull/2269.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/2269/head:pull/2269

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

Reply via email to