Commit cad87d8
committed
Cannot rely on auto-positioned absolutely positioned descendants being marked for layout
https://bugs.webkit.org/show_bug.cgi?id=276350
<rdar://problem/131806062>
Reviewed by Antti Koivisto.
This is a relatively inexpensive way to determine whether a statically positioned (in the inline direction) out-of-flow box needs its position adjusted due to parent border box move (e.g. margin changes).
(ideally, the parent would signal to this out-of-flow box that a positional adjustment is required, which would then be picked up here during the out-of-flow box's layout)
Test: fast/block/positioning/abspos-auto-left-fixed-top-change-parent-margin-left.html
* LayoutTests/fast/block/positioning/abspos-auto-left-fixed-top-change-parent-margin-left-expected.html: Added.
* LayoutTests/fast/block/positioning/abspos-auto-left-fixed-top-change-parent-margin-left.html: Added.
* Source/WebCore/rendering/PositionedLayoutConstraints.h:
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutOutOfFlowBox):
Canonical link: https://commits.webkit.org/305229@main1 parent 394eb73 commit cad87d8
File tree
4 files changed
+32
-3
lines changed- LayoutTests/fast/block/positioning
- Source/WebCore/rendering
4 files changed
+32
-3
lines changedLines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
| 94 | + | |
| 95 | + | |
94 | 96 | | |
95 | 97 | | |
96 | 98 | | |
| |||
104 | 106 | | |
105 | 107 | | |
106 | 108 | | |
107 | | - | |
108 | 109 | | |
109 | 110 | | |
110 | 111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
815 | 815 | | |
816 | 816 | | |
817 | 817 | | |
| 818 | + | |
818 | 819 | | |
819 | 820 | | |
820 | 821 | | |
821 | 822 | | |
822 | | - | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
823 | 837 | | |
824 | 838 | | |
825 | 839 | | |
| |||
831 | 845 | | |
832 | 846 | | |
833 | 847 | | |
834 | | - | |
| 848 | + | |
835 | 849 | | |
836 | 850 | | |
837 | 851 | | |
| |||
0 commit comments