Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 47b7f1121f2edcadb0294aa318e0b8ef082b312c https://github.com/WebKit/WebKit/commit/47b7f1121f2edcadb0294aa318e0b8ef082b312c Author: Ahmad Saleem <ahmad.saleem792+git...@gmail.com> Date: 2023-03-23 (Thu, 23 Mar 2023)
Changed paths: A LayoutTests/fast/block/bug369123-expected.html A LayoutTests/fast/block/bug369123.html M Source/WebCore/rendering/RenderLayerModelObject.cpp Log Message: ----------- Fix inline-block abspos bug https://bugs.webkit.org/show_bug.cgi?id=249391 Reviewed by Alan Baradlay. This patch aligns WebKit with Blink / Chromium and Gecko / Firefox. Merge - https://chromium.googlesource.com/chromium/blink/+/b1dbd0d86f09b9dccd410d1d106c76f029fa5b48 When an out-of-flow-positioned element changes its display between block and inline-block, then an incremental layout on the element's containing block lays out the element through LayoutPositionedObjects, which skips laying out the element's parent. The element's parent needs to relayout so that it calls RenderBlockFlow::setStaticInlinePositionForChild with the out-of-flow-positioned child, so that when it's laid out, its RenderBox::computePositionedLogicalWidth/Height takes into account its new inline/block position rather than its old block/inline position. * Source/WebCore/rendering/RenderLayerModelObject.cpp: (RenderLayerModelObject::styleDidChange): * LayoutTests/fast/block/bug369123.html: Add Test Case * LayoutTests/fast/block/bug369123-expected.html: Add Test Case Expectation Canonical link: https://commits.webkit.org/262042@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes