Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4b36a76a6f50f2929e236588c28572ba6ac37f90
      
https://github.com/WebKit/WebKit/commit/4b36a76a6f50f2929e236588c28572ba6ac37f90
  Author: Alan Baradlay <[email protected]>
  Date:   2025-12-16 (Tue, 16 Dec 2025)

  Changed paths:
    M Source/WebCore/rendering/RenderBlockFlow.cpp
    M Source/WebCore/rendering/RenderBlockFlow.h
    M Source/WebCore/rendering/RenderObject.h
    M Source/WebCore/rendering/svg/RenderSVGText.cpp

  Log Message:
  -----------
  [blocks-in-inline] Add fast path for laying out block containers inside inline
https://bugs.webkit.org/show_bug.cgi?id=304150

Reviewed by Antti Koivisto.

This patch adds a fast path for cases when
- only blocks need layout in a blocks-in-inline construct in a way that
- it does not impact the position/geometry of the surrounding inline content.

e.g.
  text before
  <span>
    <div style="height: 100px; width: 40px"></di>
  </span>
  text after

When <div> gains some content, it has no impact outside of the block level 
element.

* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::layoutInFlowChildren):
(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::layoutSimpleBlockContentInInline):
(WebCore::RenderBlockFlow::markInlineContentDirtyForLayout):
(WebCore::RenderBlockFlow::layoutInlineContent):
* Source/WebCore/rendering/RenderBlockFlow.h:
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::needsSimplifiedNormalFlowLayoutOnly const):
(WebCore::RenderObject::needsNormalChildOrSimplifiedLayoutOnly const):
(WebCore::RenderObject::enclosingFragmentedFlow const):
* Source/WebCore/rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout):

Canonical link: https://commits.webkit.org/304513@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to