[webkit-changes] [WebKit/WebKit] 9e639f: Add parsing support for word-boundary-detection

Myles C. Maxfield noreply at github.com
Sat Jun 10 19:17:47 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9e639f149ac0564fffed945704406006051f8c6e
      https://github.com/WebKit/WebKit/commit/9e639f149ac0564fffed945704406006051f8c6e
  Author: Myles C. Maxfield <mmaxfield at apple.com>
  Date:   2023-06-10 (Sat, 10 Jun 2023)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-text/animations/word-boundary-detection-interpolation-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-text/animations/word-boundary-detection-interpolation.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-computed-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-valid-expected.txt
    M LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
    M LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
    M LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/animation/CSSPropertyAnimation.cpp
    M Source/WebCore/css/CSSProperties.json
    M Source/WebCore/css/CSSValue.cpp
    M Source/WebCore/css/CSSValue.h
    A Source/WebCore/css/CSSWordBoundaryDetectionValue.cpp
    A Source/WebCore/css/CSSWordBoundaryDetectionValue.h
    M Source/WebCore/css/ComputedStyleExtractor.cpp
    M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
    M Source/WebCore/css/parser/CSSPropertyParserHelpers.h
    M Source/WebCore/platform/text/TextFlags.cpp
    M Source/WebCore/rendering/style/RenderStyle.cpp
    M Source/WebCore/rendering/style/RenderStyle.h
    M Source/WebCore/rendering/style/RenderStyleInlines.h
    M Source/WebCore/rendering/style/RenderStyleSetters.h
    M Source/WebCore/rendering/style/StyleRareInheritedData.cpp
    M Source/WebCore/rendering/style/StyleRareInheritedData.h
    A Source/WebCore/rendering/style/WordBoundaryDetection.h
    M Source/WebCore/style/StyleBuilderConverter.h

  Log Message:
  -----------
  Add parsing support for word-boundary-detection
https://bugs.webkit.org/show_bug.cgi?id=257931
rdar://110562385

Reviewed by Tim Nguyen.

word-boundary-detection is the mechanism that we can use to expose new linguistic-aware
line breakers to web content. This is a new CSS property which can affect how deeply
browsers perform word detection, which is used for line breaking in languages like
Chinese, Japanese, and Korean. We already have support for these line breakers, but
they're not currently exposed to the web; this CSS property is the way we can expose
them.

Because we expect to only hook up the `normal` and `auto` values, this patch doesn't
parse the `manual` value, so that `@supports` will correctly report that we don't
support that one.

This is tested by tests we've already imported from WPT at css/css-text/parsing.

* LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-computed-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/word-boundary-detection-valid-expected.txt:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/CSSValue.cpp:
(WebCore::CSSValue::visitDerived):
* Source/WebCore/css/CSSValue.h:
(WebCore::CSSValue::isWordBoundaryDetectionValue const):
* Source/WebCore/css/CSSWordBoundaryDetectionValue.cpp: Added.
(WebCore::CSSWordBoundaryDetectionValue::CSSWordBoundaryDetectionValue):
(WebCore::CSSWordBoundaryDetectionValue::customCSSText const):
(WebCore::CSSWordBoundaryDetectionValue::equals const):
* Source/WebCore/css/CSSWordBoundaryDetectionValue.h: Added.
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::wordBoundaryDetection):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
* Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeLang):
(WebCore::CSSPropertyParserHelpers::consumeWordBoundaryDetection):
* Source/WebCore/css/parser/CSSPropertyParserHelpers.h:
* Source/WebCore/platform/text/TextFlags.cpp:
(WebCore::operator<<):
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::rareInheritedDataChangeRequiresLayout):
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
(WebCore::RenderStyle::initialWordBoundaryDetection):
(WebCore::RenderStyle::wordBoundaryDetection const):
* Source/WebCore/rendering/style/RenderStyleSetters.h:
(WebCore::RenderStyle::setWordBoundaryDetection):
* Source/WebCore/rendering/style/StyleRareInheritedData.cpp:
* Source/WebCore/rendering/style/StyleRareInheritedData.h:
* Source/WebCore/rendering/style/WordBoundaryDetection.h: Added.
* Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertWordBoundaryDetection):

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




More information about the webkit-changes mailing list