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