Charlie Marsh
ad6e48ddd3
Keep textarea cursors and rendering inside the viewport ( #37166 )
...
## What changed
- Reserve a continuation row for the insertion point when a logical line exactly fills the textarea width.
- Wrap overflowing spaces and keep cursor movement aligned with the resulting visual rows.
- Clip plain, masked, and styled text rendering to the textarea bounds, and return no cursor position for empty viewports.
## Testing
Add regression coverage for full lines, trailing spaces, scrolling, multi-width graphemes, empty areas, and styled overlays at textarea boundaries.
GitOrigin-RevId: 4147530b523cf4bc300e50221d25d22dbfdfbefe
2026-08-05 21:40:50 +00:00
..
2026-07-29 13:53:15 +00:00
2026-07-23 19:19:35 +00:00
2026-07-21 22:44:43 +00:00
2026-08-05 04:54:33 +00:00
2026-07-29 13:53:15 +00:00
2026-08-05 20:03:13 +00:00
2026-08-04 15:23:43 +00:00
2026-07-21 08:50:21 +00:00
2026-08-05 17:55:57 +00:00
2026-07-30 19:47:30 +00:00
2026-08-04 15:23:43 +00:00
2026-07-29 18:29:26 +00:00
2026-07-22 02:19:45 +00:00
2026-07-21 08:59:41 +00:00
2026-07-30 21:49:53 +00:00
2026-08-04 22:23:40 +00:00
2026-08-05 18:09:26 +00:00
2026-08-05 18:09:26 +00:00
2026-08-05 18:09:26 +00:00
2026-07-21 08:28:51 +00:00
2026-08-05 16:09:01 +00:00
2026-08-05 16:09:01 +00:00
2026-08-05 16:09:01 +00:00
2026-08-05 16:09:01 +00:00
2026-08-05 20:03:13 +00:00
2026-07-30 21:49:53 +00:00
2026-08-05 14:04:39 +00:00
2026-08-04 22:58:02 +00:00
2026-08-05 18:09:26 +00:00
2026-08-04 15:49:49 +00:00
2026-08-03 11:39:51 +00:00
2026-08-05 21:17:54 +00:00
2026-08-04 16:28:46 +00:00
2026-08-05 04:54:33 +00:00
2026-08-05 21:17:54 +00:00
2026-08-05 18:09:26 +00:00
2026-08-05 20:39:11 +00:00
2026-07-30 19:23:33 +00:00
2026-07-20 06:13:29 +00:00
2026-08-05 21:17:54 +00:00
2026-08-04 21:45:28 +00:00
2026-08-05 18:19:22 +00:00
2026-07-28 17:51:37 +00:00
2026-07-31 21:37:56 +00:00
2026-07-23 23:35:29 +00:00
2026-08-05 20:23:35 +00:00
2026-08-03 17:29:42 +00:00
2026-08-04 22:18:09 +00:00
2026-07-31 04:20:56 +00:00
2026-08-03 17:01:37 +00:00
2026-07-22 04:17:34 +00:00
2026-08-05 18:09:26 +00:00
2026-08-05 18:09:26 +00:00
2026-08-03 00:30:57 +00:00
2026-07-17 20:52:42 +00:00
2026-08-05 14:20:59 +00:00
2026-08-04 22:07:56 +00:00
2026-08-05 20:03:13 +00:00
2026-08-03 18:25:28 +00:00
2026-07-30 04:26:36 +00:00
2026-08-05 15:20:21 +00:00
2026-08-05 04:54:33 +00:00
2026-07-22 19:14:11 +00:00
2026-08-05 20:03:13 +00:00
2026-08-05 09:43:26 +00:00
2026-08-05 20:44:03 +00:00
2026-07-30 21:09:15 +00:00
2026-07-30 22:45:04 +00:00
2026-08-04 15:14:57 +00:00
2026-07-23 21:50:17 +00:00
2026-08-04 15:37:42 +00:00
2026-08-04 19:23:29 +00:00
2026-08-04 03:49:53 +00:00
2026-08-04 22:23:40 +00:00
2026-08-04 19:23:29 +00:00
2026-08-05 20:03:13 +00:00
2026-08-05 21:40:50 +00:00
2026-08-05 17:55:57 +00:00
2026-07-22 16:18:08 +00:00
2026-07-24 00:16:42 +00:00
2026-07-27 18:37:11 +00:00
2026-07-09 17:31:44 -07:00
2026-08-05 04:54:33 +00:00
2026-08-03 22:46:26 +00:00
2026-07-28 20:49:22 +00:00
2026-07-11 03:27:51 +00:00
2026-07-29 13:53:15 +00:00
2026-07-30 04:26:36 +00:00