Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fd501bda408cb934e51bf96775d26a1d78e5b3fb
      
https://github.com/WebKit/WebKit/commit/fd501bda408cb934e51bf96775d26a1d78e5b3fb
  Author: Alan Baradlay <[email protected]>
  Date:   2023-09-09 (Sat, 09 Sep 2023)

  Changed paths:
    A LayoutTests/fast/text/simple-text-append-with-br-expected.html
    A LayoutTests/fast/text/simple-text-append-with-br.html
    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/LayoutIntegrationCoverage.cpp
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h

  Log Message:
  -----------
  [IFC][Invalidation] Enable multiple, append type of damages
https://bugs.webkit.org/show_bug.cgi?id=261346

Reviewed by Antti Koivisto.

Introduce "damage reason" so that invalidation code can check if multiple 
mutations should
or should not trigger full invalidation (by looking at existing damage types on 
the current content).

(Currently (and it's a FIXME item) in case of such mutations, we keep 
re-visiting
the existing display content to dirty the last line, which is certainly not 
optimal but it's not expensive either)

* LayoutTests/fast/text/simple-text-append-with-br-expected.html: Added.
* LayoutTests/fast/text/simple-text-append-with-br.html: Added.
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::lastBoxIndex const):
* Source/WebCore/layout/formattingContexts/inline/invalidation/InlineDamage.h:
(WebCore::Layout::InlineDamage::reason const):
(WebCore::Layout::InlineDamage::setDamageReason):
(WebCore::Layout::InlineDamage::reset):
* 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.cpp:
(WebCore::Layout::InlineInvalidation::updateInlineDamage):
(WebCore::Layout::InlineInvalidation::applyFullDamageIfNeeded):
(WebCore::Layout::InlineInvalidation::textInserted):
(WebCore::Layout::InlineInvalidation::textWillBeRemoved):
(WebCore::Layout::InlineInvalidation::inlineLevelBoxInserted):
(WebCore::Layout::InlineInvalidation::inlineLevelBoxWillBeRemoved):
* 
Source/WebCore/layout/formattingContexts/inline/invalidation/InlineInvalidation.h:
* Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::shouldInvalidateLineLayoutPathAfterChangeFor):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h:
(WebCore::LayoutIntegration::LineLayout::damageReason const):

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to