[webkit-changes] [WebKit/WebKit] 522c36: Rename LazyLineBreakIterator to CachedTextBreakIte...

Myles C. Maxfield noreply at github.com
Mon Jun 5 01:28:41 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 522c36c64af3fa1b643f3f5c7458571b96b5af9b
      https://github.com/WebKit/WebKit/commit/522c36c64af3fa1b643f3f5c7458571b96b5af9b
  Author: Myles C. Maxfield <mmaxfield at apple.com>
  Date:   2023-06-05 (Mon, 05 Jun 2023)

  Changed paths:
    M Source/WTF/wtf/text/TextBreakIterator.h
    M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp
    M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h
    M Source/WebCore/rendering/BreakLines.h
    M Source/WebCore/rendering/LegacyLineLayout.cpp
    M Source/WebCore/rendering/RenderBlockFlow.h
    M Source/WebCore/rendering/RenderRubyBase.cpp
    M Source/WebCore/rendering/RenderRubyBase.h
    M Source/WebCore/rendering/RenderRubyRun.cpp
    M Source/WebCore/rendering/RenderRubyRun.h
    M Source/WebCore/rendering/RenderRubyText.cpp
    M Source/WebCore/rendering/RenderRubyText.h
    M Source/WebCore/rendering/RenderText.cpp
    M Source/WebCore/rendering/line/BreakingContext.h
    M Source/WebCore/rendering/line/LineBreaker.h
    M Source/WebKitLegacy/ios/Misc/WebUIKitSupport.mm
    M Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp

  Log Message:
  -----------
  Rename LazyLineBreakIterator to CachedTextBreakIteratorFactory
https://bugs.webkit.org/show_bug.cgi?id=257696
rdar://110237360

Reviewed by Cameron McCormack.

LazyLineBreakIterator isn't actually an iterator. It's really just a class that holds all the parameters
necessary to create an iterator. We use it so that we can populate these parameters at the top of layout
code, but if it turns out we don't actually need an iterator (e.g. the element is empty or something)
we don't actually create the iterator until we need to. Therefore, it really should be called a factory,
rather than an iterator itself.

* Source/WTF/wtf/text/TextBreakIterator.h:
(WTF::CachedTextBreakIteratorFactory::CachedTextBreakIteratorFactory):
(WTF::LazyLineBreakIterator::PriorContext::PriorContext): Deleted.
(WTF::LazyLineBreakIterator::PriorContext::lastCharacter const): Deleted.
(WTF::LazyLineBreakIterator::PriorContext::secondToLastCharacter const): Deleted.
(WTF::LazyLineBreakIterator::PriorContext::set): Deleted.
(WTF::LazyLineBreakIterator::PriorContext::update): Deleted.
(WTF::LazyLineBreakIterator::PriorContext::reset): Deleted.
(WTF::LazyLineBreakIterator::PriorContext::length const): Deleted.
(WTF::LazyLineBreakIterator::PriorContext::characters const): Deleted.
(WTF::LazyLineBreakIterator::LazyLineBreakIterator): Deleted.
(WTF::LazyLineBreakIterator::stringView const): Deleted.
(WTF::LazyLineBreakIterator::mode const): Deleted.
(WTF::LazyLineBreakIterator::get): Deleted.
(WTF::LazyLineBreakIterator::resetStringAndReleaseIterator): Deleted.
(WTF::LazyLineBreakIterator::priorContext const): Deleted.
(WTF::LazyLineBreakIterator::priorContext): Deleted.
* Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::moveToNextBreakablePosition):
(WebCore::Layout::InlineItemsBuilder::handleTextContent):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::endsWithSoftWrapOpportunity):
* Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::findNextBreakablePosition):
* Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h:
* Source/WebCore/rendering/BreakLines.h:
(WebCore::nextBreakablePosition):
(WebCore::nextBreakablePositionKeepingAllWords):
(WebCore::nextBreakablePositionKeepingAllWordsIgnoringNBSP):
(WebCore::nextBreakablePositionIgnoringNBSP):
(WebCore::nextBreakablePositionWithoutShortcut):
(WebCore::nextBreakablePositionIgnoringNBSPWithoutShortcut):
(WebCore::nextBreakablePositionBreakCharacter):
(WebCore::isBreakable):
* Source/WebCore/rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::cachePriorCharactersIfNeeded):
* Source/WebCore/rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::cachePriorCharactersIfNeeded):
* Source/WebCore/rendering/RenderRubyBase.h:
* Source/WebCore/rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::updatePriorContextFromCachedBreakIterator const):
(WebCore::RenderRubyRun::canBreakBefore const):
* Source/WebCore/rendering/RenderRubyRun.h:
* Source/WebCore/rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::canBreakBefore const):
* Source/WebCore/rendering/RenderRubyText.h:
* Source/WebCore/rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths):
* Source/WebCore/rendering/line/LineBreaker.h:
* Source/WebKitLegacy/ios/Misc/WebUIKitSupport.mm:
(WebKitGetLastLineBreakInBuffer):
* Tools/TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp:
(TestWebKitAPI::TEST):

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




More information about the webkit-changes mailing list