[webkit-changes] [WebKit/WebKit] 678ab9: [IFC][Partial layout] InlineFormattingContext::lin...

Alan Baradlay noreply at github.com
Tue Mar 14 10:40:47 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 678ab9b0c0d4df2e94d68f6ba99c21d760d40fa1
      https://github.com/WebKit/WebKit/commit/678ab9b0c0d4df2e94d68f6ba99c21d760d40fa1
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2023-03-14 (Tue, 14 Mar 2023)

  Changed paths:
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h
    M Source/WebCore/layout/integration/inline/LayoutIntegrationInlineContentBuilder.cpp
    M Source/WebCore/layout/integration/inline/LayoutIntegrationInlineContentBuilder.h
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h

  Log Message:
  -----------
  [IFC][Partial layout] InlineFormattingContext::lineLayout should tell if the layout range is partial
https://bugs.webkit.org/show_bug.cgi?id=253628

Reviewed by Antti Koivisto.

In order to be able to swap out existing display content for freshly constructed one, we have to differentiate the following cases:
1, full layout, content is completely replaced.
2, partial layout, we start laying out the inline content from the damaged line all the way to the end
3, partial layout, we start laying out the inline content from the damaged line and we stop when damage is not propagated anymore to subsequent lines.

This patch is in preparation for adding #3 where we replace a subset of lines/boxes in InlineContent.

* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::layoutInFlowContentForIntegration):
(WebCore::Layout::InlineFormattingContext::lineLayout):
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h:
* Source/WebCore/layout/integration/inline/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::build const):
* Source/WebCore/layout/integration/inline/LayoutIntegrationInlineContentBuilder.h:
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::layout):
(WebCore::LayoutIntegration::LineLayout::constructContent):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h:

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




More information about the webkit-changes mailing list