[webkit-changes] [WebKit/WebKit] 47b7f1: Fix inline-block abspos bug

Ahmad Saleem noreply at github.com
Thu Mar 23 16:08:09 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 47b7f1121f2edcadb0294aa318e0b8ef082b312c
      https://github.com/WebKit/WebKit/commit/47b7f1121f2edcadb0294aa318e0b8ef082b312c
  Author: Ahmad Saleem <ahmad.saleem792+github at 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




More information about the webkit-changes mailing list