[webkit-changes] [WebKit/WebKit] c227d6: [LFC][Integration] Only maintain one LayoutState p...

Antti Koivisto noreply at github.com
Fri Oct 7 10:40:42 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c227d6059a2ed7683d0b65c6262717fe95e70c11
      https://github.com/WebKit/WebKit/commit/c227d6059a2ed7683d0b65c6262717fe95e70c11
  Author: Antti Koivisto <antti at apple.com>
  Date:   2022-10-07 (Fri, 07 Oct 2022)

  Changed paths:
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/layout/FormattingState.cpp
    M Source/WebCore/layout/LayoutState.cpp
    M Source/WebCore/layout/LayoutState.h
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp
    M Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h
    M Source/WebCore/layout/layouttree/LayoutBox.h
    M Source/WebCore/rendering/RenderView.cpp
    M Source/WebCore/rendering/RenderView.h

  Log Message:
  -----------
  [LFC][Integration] Only maintain one LayoutState per render tree
https://bugs.webkit.org/show_bug.cgi?id=246078
rdar://100804461

Reviewed by Alan Bujtas.

LayoutState describes the whole layout. We should only have one per tree instead of one per formatting context.

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::setCompatibilityMode):
* Source/WebCore/layout/FormattingState.cpp:
(WebCore::Layout::FormattingState::boxGeometry):
* Source/WebCore/layout/LayoutState.cpp:
(WebCore::Layout::LayoutState::LayoutState):
(WebCore::Layout::LayoutState::updateQuirksMode):
(WebCore::Layout::LayoutState::formattingStateForFormattingContext const):
(WebCore::Layout::LayoutState::formattingStateForInlineFormattingContext const):
(WebCore::Layout::LayoutState::ensureInlineFormattingState):
(WebCore::Layout::LayoutState::destroyInlineFormattingState):
(WebCore::Layout::LayoutState::setIsIntegratedRootBoxFirstChild): Deleted.
* Source/WebCore/layout/LayoutState.h:
(WebCore::Layout::LayoutState::isIntegratedRootBoxFirstChild const): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp:
(WebCore::Layout::InlineFormattingGeometry::computedTextIndent const):
* Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::BoxTree):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::LineLayout):
(WebCore::LayoutIntegration::LineLayout::~LineLayout):
(WebCore::LayoutIntegration::LineLayout::updateListMarkerDimensions):
(WebCore::LayoutIntegration::LineLayout::updateLayoutBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::updateLineBreakBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::updateInlineBoxDimensions):
(WebCore::LayoutIntegration::LineLayout::layout):
(WebCore::LayoutIntegration::LineLayout::constructContent):
(WebCore::LayoutIntegration::LineLayout::updateFormattingRootGeometryAndInvalidate):
(WebCore::LayoutIntegration::LineLayout::prepareLayoutState):
(WebCore::LayoutIntegration::LineLayout::prepareFloatingState):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h:
(WebCore::LayoutIntegration::LineLayout::layoutState):
* Source/WebCore/layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::isFirstChildForIntegration const):
(WebCore::Layout::Box::setIsFirstChildForIntegration):
* Source/WebCore/rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::layout):
(WebCore::RenderView::ensureLayoutState):
(WebCore::RenderView::updateQuirksMode):
* Source/WebCore/rendering/RenderView.h:

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




More information about the webkit-changes mailing list