[webkit-changes] [WebKit/WebKit] df7677: [IFC][Partial layout] Compute damage extent when a...

Alan Baradlay noreply at github.com
Thu Feb 16 17:15:07 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: df7677f059938948853b73b340deeca6c8bff466
      https://github.com/WebKit/WebKit/commit/df7677f059938948853b73b340deeca6c8bff466
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2023-02-16 (Thu, 16 Feb 2023)

  Changed paths:
    M Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h
    M Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp
    M Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp

  Log Message:
  -----------
  [IFC][Partial layout] Compute damage extent when appending text content
https://bugs.webkit.org/show_bug.cgi?id=252279

Reviewed by Antti Koivisto.

Whenever some new inline content gets appended, we need to invalidate the last
line (even when the line may not be able to fit more content since the "last line"
could have special properties -mostly in the context of alignment and also it's hard to figure
out if a particular line is "full" without running layout).
Invalidation here simply means we compute the start point of the damage (InlineItemPosition -> [index, offset])
which is input to the subsequent layout.

* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h:
(WebCore::Layout::InlineDamage::contentPosition const):
(WebCore::Layout::InlineDamage::setDamagedPosition):
(WebCore::Layout::InlineDamage::line const): Deleted.
(WebCore::Layout::InlineDamage::setDamagedLine): Deleted.
* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:
(WebCore::Layout::InlineInvalidation::InlineInvalidation):
(WebCore::Layout::InlineInvalidation::textInserted):
* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h:
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateStyle):
(WebCore::LayoutIntegration::LineLayout::insertedIntoTree):

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




More information about the webkit-changes mailing list