Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fcf31d44502327958ad401ab2398b7a0d317e65b
https://github.com/WebKit/WebKit/commit/fcf31d44502327958ad401ab2398b7a0d317e65b
Author: Alan Baradlay <[email protected]>
Date: 2023-06-12 (Mon, 12 Jun 2023)
Changed paths:
M
Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h
Log Message:
-----------
[IFC] LineBuilder should not mutate layout state
https://bugs.webkit.org/show_bug.cgi?id=257930
Reviewed by Antti Koivisto.
In case of line layout probing (when line builder is called multiple times with
different constraint values),
we can pass in clean FloatingState for each round (the only state/geometry that
gets mutated currently -see FIXME).
Regular layout would just pass in the floating state from the parent block
formatting context.
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint
const):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::LineBuilder):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::blockLayoutState const):
(WebCore::Layout::LineBuilder::floatingState):
Canonical link: https://commits.webkit.org/265071@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes