Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e444be2003c0ebc730f38521a29fe7e0356525fb
https://github.com/WebKit/WebKit/commit/e444be2003c0ebc730f38521a29fe7e0356525fb
Author: Alan Baradlay <[email protected]>
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@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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes