[webkit-changes] [WebKit/WebKit] 59eb1e: Tweak InlineItemsBuilder more

Yusuke Suzuki noreply at github.com
Mon May 6 00:05:06 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 59eb1ee2b4c65f256049f5a0afc651bb25d3c962
      https://github.com/WebKit/WebKit/commit/59eb1ee2b4c65f256049f5a0afc651bb25d3c962
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2024-05-06 (Mon, 06 May 2024)

  Changed paths:
    M Source/WebCore/layout/formattingContexts/inline/InlineItem.h
    M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.h
    M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp

  Log Message:
  -----------
  Tweak InlineItemsBuilder more
https://bugs.webkit.org/show_bug.cgi?id=273744
rdar://127564214

Reviewed by Alan Baradlay.

Optimize InlineItemsBuilder further.

1. Integrage blink's mayBeBidiRTL for isStrongDirectionalityCharacter, which returns false-positive answer about Bidi quickly.
2. Attach inline capacity to LayoutQueue.
3. Define VectorTraits for Layout::InlineItem.
4. Clean up buildInlineItemListForTextFromBreakingPositionsCache's frequent vector access. We can just use std::span and iteration.
5. Clean up populateBreakingPositionCache. TextBreakingPositionCache::List should have reserveInitialCapacity with the quickly scanned std::span.

* Source/WebCore/layout/formattingContexts/inline/InlineItem.h:
* Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::buildInlineItemListForTextFromBreakingPositionsCache):
(WebCore::Layout::InlineItemsBuilder::populateBreakingPositionCache):
* Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.h:
* Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::containsStrongDirectionalityText):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list