Commit f650a44
committed
Incorrect repaint when inline content shrinks vertically
https://bugs.webkit.org/show_bug.cgi?id=250864
<rdar://103363945>
Reviewed by Antti Koivisto.
After-layout-repaint-rects take both before and after layout dimensions.
This patch ensures that we have access to the "before geometry" even when we nuke the inline content
as part of "line layout path" invalidation before running inline layout (this is going to change soon when we introduce partial invalidation).
* LayoutTests/fast/repaint/leftover-after-shrinking-content-expected.txt: Added.
* LayoutTests/fast/repaint/leftover-after-shrinking-content.html: Added.
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::lastLineIndexForContentHeight const):
* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
(WebCore::RenderBlockFlow::layoutModernLines):
* Source/WebCore/rendering/RenderBlockFlow.h:
Canonical link: https://commits.webkit.org/259141@main1 parent d6ca4dc commit f650a44
File tree
6 files changed
+78
-4
lines changed- LayoutTests
- fast/repaint
- platform/mac-wk1/fast/repaint
- Source/WebCore
- layout/integration/inline
- rendering
6 files changed
+78
-4
lines changedLines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Lines changed: 50 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
Lines changed: 4 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
707 | 707 | | |
708 | 708 | | |
709 | 709 | | |
710 | | - | |
711 | | - | |
| 710 | + | |
| 711 | + | |
712 | 712 | | |
713 | 713 | | |
714 | 714 | | |
715 | | - | |
| 715 | + | |
| 716 | + | |
716 | 717 | | |
717 | 718 | | |
718 | 719 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
878 | 878 | | |
879 | 879 | | |
880 | 880 | | |
| 881 | + | |
881 | 882 | | |
882 | 883 | | |
883 | 884 | | |
| |||
3724 | 3725 | | |
3725 | 3726 | | |
3726 | 3727 | | |
| 3728 | + | |
| 3729 | + | |
3727 | 3730 | | |
3728 | 3731 | | |
3729 | 3732 | | |
| |||
3789 | 3792 | | |
3790 | 3793 | | |
3791 | 3794 | | |
3792 | | - | |
| 3795 | + | |
| 3796 | + | |
| 3797 | + | |
3793 | 3798 | | |
| 3799 | + | |
3794 | 3800 | | |
3795 | 3801 | | |
3796 | 3802 | | |
| |||
3801 | 3807 | | |
3802 | 3808 | | |
3803 | 3809 | | |
| 3810 | + | |
3804 | 3811 | | |
3805 | 3812 | | |
3806 | 3813 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
537 | 537 | | |
538 | 538 | | |
539 | 539 | | |
| 540 | + | |
| 541 | + | |
540 | 542 | | |
541 | 543 | | |
542 | 544 | | |
| |||
0 commit comments