[webkit-changes] [WebKit/WebKit] d0a39b: Extend fast line-breaking table from ASCII to Latin-1

Yusuke Suzuki noreply at github.com
Fri Jul 19 15:32:34 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d0a39ba6494edf5e202482e5cf7f33b82d108a45
      https://github.com/WebKit/WebKit/commit/d0a39ba6494edf5e202482e5cf7f33b82d108a45
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2024-07-19 (Fri, 19 Jul 2024)

  Changed paths:
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/Sources.txt
    A Source/JavaScriptCore/tools/CharacterPropertyDataGenerator.cpp
    A Source/JavaScriptCore/tools/CharacterPropertyDataGenerator.h
    M Source/JavaScriptCore/tools/JSDollarVM.cpp
    M Source/WebCore/rendering/BreakLines.cpp
    M Source/WebCore/rendering/BreakLines.h

  Log Message:
  -----------
  Extend fast line-breaking table from ASCII to Latin-1
https://bugs.webkit.org/show_bug.cgi?id=276808
rdar://132061597

Reviewed by Alan Baradlay.

This patch is importing Chromium's patch[1] to support fast line-breaking for Latin-1 / Latin-1 pairs.
We use WTF's CachedTextBreakIterator to generate line-breaking table. And we add `$vm.dumpLineBreakData()` function to JSC which dumps this BreakLines.cpp.
Note that the generated table is completely matching against what Chromium is generating.

[1]: https://github.com/chromium/chromium/commit/8a3bec69f376d2d084ff37bcc4cd093def87edd1

* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/Sources.txt:
* Source/JavaScriptCore/tools/CharacterPropertyDataGenerator.cpp: Added.
(JSC::LineBreakData::generate):
(JSC::LineBreakData::fill):
(JSC::LineBreakData::fillASCII):
(JSC::LineBreakData::dump):
(JSC::LineBreakData::setPairValue):
(JSC::dumpLineBreakData):
* Source/JavaScriptCore/tools/CharacterPropertyDataGenerator.h: Added.
* Source/JavaScriptCore/tools/JSDollarVM.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::JSDollarVM::finishCreation):
* Source/WebCore/rendering/BreakLines.cpp:
* Source/WebCore/rendering/BreakLines.h:

Canonical link: https://commits.webkit.org/281150@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