[webkit-changes] [WebKit/WebKit] e444be: REGRESSION (279348 at main): Flickr photos flash at w...
Alan Baradlay
noreply at github.com
Mon Jun 3 11:06:03 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e444be2003c0ebc730f38521a29fe7e0356525fb
https://github.com/WebKit/WebKit/commit/e444be2003c0ebc730f38521a29fe7e0356525fb
Author: Alan Baradlay <zalan at apple.com>
Date: 2024-06-03 (Mon, 03 Jun 2024)
Changed paths:
A LayoutTests/fast/dynamic/out-of-flow-with-inflow-sibling-insert-expected.html
A LayoutTests/fast/dynamic/out-of-flow-with-inflow-sibling-insert.html
M Source/WebCore/rendering/RenderBlock.cpp
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderElement.h
M Source/WebCore/rendering/RenderObject.cpp
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
Log Message:
-----------
REGRESSION (279348 at main): Flickr photos flash at wrong offset when paging through album
https://bugs.webkit.org/show_bug.cgi?id=274981
<rdar://129005765>
Reviewed by Antti Koivisto.
Introduce a new bit that says "this container has an out-of-flow child which needs its static position computed".
Normally "normal child needs layout" would be sufficient but due to a (super useful) optimization in RenderObject::markContainingBlocksForLayout
we can't just set that bit on a parent only* (at least not _outside_ of layout).
This bit triggers normal layout on the parent which in turn sets the static position on this newly added out-of-flow box.
*
Setting this bit on parent only prevents any subsequent markings from being able to mark ancestor chain "normal child needs layout" all the way up.
* LayoutTests/fast/dynamic/out-of-flow-with-inflow-sibling-insert-expected.html: Added.
* LayoutTests/fast/dynamic/out-of-flow-with-inflow-sibling-insert.html: Added.
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::canPerformSimplifiedLayout const):
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::clearChildNeedsLayout):
(WebCore::RenderElement::setOutOfFlowChildNeedsStaticPositionLayout):
* Source/WebCore/rendering/RenderElement.h:
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::clearNeedsLayout):
(WebCore::RenderObject::outputRenderObject const):
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::outOfFlowChildNeedsStaticPositionLayout const):
(WebCore::RenderObject::setOutOfFlowChildNeedsStaticPositionLayoutBit):
* Source/WebCore/rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::attachToRenderElementInternal):
Canonical link: https://commits.webkit.org/279667@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list