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

Reply via email to