Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9fe5de14695d6cf5e5bd4eab7e0cc85af7e58ae0
      
https://github.com/WebKit/WebKit/commit/9fe5de14695d6cf5e5bd4eab7e0cc85af7e58ae0
  Author: Sam Weinig <[email protected]>
  Date:   2025-11-10 (Mon, 10 Nov 2025)

  Changed paths:
    M Source/WTF/wtf/EnumSet.h
    M Source/WebCore/Headers.cmake
    M Source/WebCore/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations
    M Source/WebCore/SaferCPPExpectations/UncountedLocalVarsCheckerExpectations
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/css/CSSPrimitiveValueMappings.h
    M Source/WebCore/css/CSSProperties.json
    M Source/WebCore/css/values/CSSValueAggregates.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLevelBox.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLevelBoxInlines.h
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
    M Source/WebCore/layout/formattingContexts/inline/InlineQuirks.cpp
    M Source/WebCore/rendering/LegacyRootInlineBox.cpp
    M Source/WebCore/rendering/style/RenderStyle.cpp
    M Source/WebCore/rendering/style/RenderStyle.h
    M Source/WebCore/rendering/style/RenderStyleDifference.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
    M Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp
    M Source/WebCore/style/StyleBuilderConverter.h
    M Source/WebCore/style/StyleExtractorConverter.h
    M Source/WebCore/style/StyleExtractorSerializer.h
    M Source/WebCore/style/values/StyleValueTypes+CSSValueConversion.h
    R Source/WebCore/style/values/inline/StyleLineBoxContain.h
    A Source/WebCore/style/values/non-standard/StyleWebKitLineBoxContain.h
    M 
Source/WebCore/style/values/primitives/StylePrimitiveKeyword+ValueRepresentationNeeded.h
    M Source/WebCore/style/values/svg/StyleSVGPaintOrder.h

  Log Message:
  -----------
  [Style] Convert the '-webkit-line-box-contain' property to strong style types
https://bugs.webkit.org/show_bug.cgi?id=302203

Reviewed by Darin Adler.

Converts the '-webkit-line-box-contain' property to use strong style types.

* Source/WTF/wtf/EnumSet.h:
    - Exposes the underlying enum type via a `using value_type` declaration.
      Needed for use in generic contexts.

* Source/WebCore/Headers.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
    - Add new file.

* Source/WebCore/css/CSSPrimitiveValueMappings.h:
    - Add mappings macro for `Style::WebkitLineBoxContainValue`.

* Source/WebCore/css/CSSProperties.json:
    - Update style converter used by '-webkit-line-box-contain' to the
      new style type.

* Source/WebCore/css/values/CSSValueAggregates.h:
* Source/WebCore/style/values/StyleValueTypes+CSSValueConversion.h:
    - Adds new aggregates `SpaceSeparatedEnumSet` and `CommaSeparatedEnumSet`
      that wrap `WTF::EnumSet` with specified serialization and conversion.
    - Adds new wrapper, `EnumSetOrKeywordBase` which works like `ValueOrKeyword`
      and `ListOrNone`, except specialized for an `EnumSet` value, meaning it
      has exposed iterators, contains functions, and toRaw/fromRaw functions.

* Source/WebCore/layout/formattingContexts/inline/InlineLevelBox.h:
* Source/WebCore/layout/formattingContexts/inline/InlineLevelBoxInlines.h:
* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
* Source/WebCore/layout/formattingContexts/inline/InlineQuirks.cpp:
* Source/WebCore/rendering/LegacyRootInlineBox.cpp:
* Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp:
    - Update for new type name for `-webkit-line-box-contain` values.

* Source/WebCore/rendering/style/RenderStyleDifference.h:
    - Replaces `LOG_IF_DIFFERENT_WITH_CAST_AND_CONSTRUCTION` and 
`LOG_RAW_OPTIONSET_IF_DIFFERENT`
      with a single `LOG_IF_DIFFERENT_WITH_FROM_RAW`. This means that types 
using
      `LOG_RAW_OPTIONSET_IF_DIFFERENT` now have to explicitly write out the 
whole
      type (`OptionSet<Foo>` rather than `Foo`) and the one type using 
`LOG_IF_DIFFERENT_WITH_CAST_AND_CONSTRUCTION`,
      `SVGPaintOrder`, needs to have a `fromRaw()` static member function.

* Source/WebCore/rendering/style/RenderStyle.cpp:
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
* Source/WebCore/rendering/style/RenderStyleSetters.h:
* Source/WebCore/rendering/style/StyleRareInheritedData.cpp:
* Source/WebCore/rendering/style/StyleRareInheritedData.h:
    - Update types for `-webkit-line-box-contain` getter/setter/initial 
functions.
    - Use new `fromRaw` and `toRaw` functions for `SVGPaintOrder`.

* Source/WebCore/style/StyleBuilderConverter.h:
* Source/WebCore/style/StyleExtractorConverter.h:
* Source/WebCore/style/StyleExtractorSerializer.h:
    - Remove now unused converters and serializers for 
`-webkit-line-box-contain`.

* Source/WebCore/style/values/inline/StyleLineBoxContain.h: Removed.
* Source/WebCore/style/values/non-standard/StyleWebKitLineBoxContain.h: Added.
    - Add new strong style type using new `SpaceSeparatedEnumSet` type.

* 
Source/WebCore/style/values/primitives/StylePrimitiveKeyword+ValueRepresentationNeeded.h:
    - Remove `Style::LineBoxContain`, it no longer exists and its replacement,
      `Style::WebkitLineBoxContainValue`, supports  value representation.

* Source/WebCore/style/values/svg/StyleSVGPaintOrder.h:
    - Add `fromRaw` and `toRaw` functions for use by `RenderStyle`.

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



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

Reply via email to