Commit 9115d1b
committed
Checkbox boundary (outline) appears misaligned in Safari on goindigo.in
https://bugs.webkit.org/show_bug.cgi?id=311035
<rdar://172742551>
Reviewed by Antti Koivisto.
1. Make inline outline painting hug the actual content shape by iterating
leaf boxes instead of using the line box rect. Each leaf rect is at least
as tall as the inline box, but expands for overflowing content (e.g. tall
images or SVGs inside a span).
2. Apply ink overflow inflation on the inline box's ink overflow rect
(which includes children's extents after propagation) rather than on
the inline box's own visual rect. This ensures visual overflow extends
around overflowing atomic children that are taller than the inline box.
* LayoutTests/fast/repaint/hidpi-inline-outline-atomic-child-overflow-expected.html: Added.
* LayoutTests/fast/repaint/hidpi-inline-outline-atomic-child-overflow.html: Added.
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::collectInkOverflowForInlineBoxes):
* Source/WebCore/rendering/OutlinePainter.cpp:
(WebCore::OutlinePainter::paintOutline const):
Canonical link: https://commits.webkit.org/310323@main1 parent 5ddde6f commit 9115d1b
4 files changed
Lines changed: 62 additions & 12 deletions
File tree
- LayoutTests/fast/repaint
- Source/WebCore
- layout/formattingContexts/inline/display
- rendering
Lines changed: 13 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 | + | |
Lines changed: 19 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 | + | |
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1101 | 1101 | | |
1102 | 1102 | | |
1103 | 1103 | | |
1104 | | - | |
1105 | | - | |
1106 | | - | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
1107 | 1107 | | |
1108 | 1108 | | |
1109 | 1109 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
153 | 153 | | |
154 | 154 | | |
155 | 155 | | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
160 | 161 | | |
161 | 162 | | |
162 | | - | |
163 | | - | |
| 163 | + | |
164 | 164 | | |
165 | | - | |
166 | | - | |
167 | | - | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
168 | 186 | | |
169 | 187 | | |
170 | 188 | | |
| |||
0 commit comments