[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