Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3162815bf526a6e22a97d24d23c0fc2374e0ec2d
https://github.com/WebKit/WebKit/commit/3162815bf526a6e22a97d24d23c0fc2374e0ec2d
Author: Sam Weinig <[email protected]>
Date: 2025-12-15 (Mon, 15 Dec 2025)
Changed paths:
M Source/WebCore/Headers.cmake
M Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/css/CSSProperties.json
M Source/WebCore/layout/formattingContexts/block/BlockMarginCollapse.cpp
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/rendering/OutlinePainter.cpp
M Source/WebCore/rendering/RenderBox.cpp
M Source/WebCore/rendering/RenderBoxModelObject.cpp
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderTable.cpp
M Source/WebCore/rendering/RenderTableSection.cpp
M Source/WebCore/rendering/RenderTheme.h
M Source/WebCore/rendering/RenderTreeAsText.cpp
M Source/WebCore/rendering/style/BorderData.cpp
M Source/WebCore/rendering/style/BorderData.h
M Source/WebCore/rendering/style/BorderValue.cpp
M Source/WebCore/rendering/style/BorderValue.h
M Source/WebCore/rendering/style/CollapsedBorderValue.h
M Source/WebCore/rendering/style/OutlineValue.cpp
M Source/WebCore/rendering/style/OutlineValue.h
M Source/WebCore/rendering/style/RenderStyle.h
M Source/WebCore/rendering/style/RenderStyleBase.h
M Source/WebCore/rendering/style/RenderStyleBaseInlines.h
M Source/WebCore/rendering/style/RenderStyleBaseSetters.h
M Source/WebCore/rendering/style/RenderStyleInlines.h
M Source/WebCore/rendering/style/RenderStylePropertiesGettersCustom.cpp
M Source/WebCore/rendering/style/RenderStyleSetters.h
M Source/WebCore/rendering/style/StyleBackgroundData.cpp
A Source/WebCore/rendering/style/StyleBorderImageData.cpp
A Source/WebCore/rendering/style/StyleBorderImageData.h
A Source/WebCore/rendering/style/StyleMaskBorderData.cpp
A Source/WebCore/rendering/style/StyleMaskBorderData.h
M Source/WebCore/rendering/style/StyleMultiColData.cpp
M Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
M Source/WebCore/rendering/style/StyleRareNonInheritedData.h
M Source/WebCore/rendering/style/StyleSurroundData.cpp
M Source/WebCore/rendering/svg/RenderSVGTextPath.cpp
M Source/WebCore/rendering/svg/legacy/SVGResourcesCache.h
M Source/WebCore/style/StyleBuilder.cpp
M Source/WebCore/style/StyleBuilderCustom.h
M Source/WebCore/style/StyleChangedAnimatableProperties.cpp
M Source/WebCore/style/StyleDifference.cpp
M Source/WebCore/style/StyleDifference.h
M Source/WebCore/style/StyleExtractorCustom.h
M Source/WebCore/style/values/backgrounds/StyleBorderImage.cpp
M Source/WebCore/style/values/backgrounds/StyleBorderImage.h
M Source/WebCore/style/values/backgrounds/StyleBorderImageWidth.h
M Source/WebCore/style/values/masking/StyleMaskBorder.cpp
M Source/WebCore/style/values/masking/StyleMaskBorder.h
M Source/WebCore/style/values/non-standard/StyleWebKitBoxReflect.cpp
Log Message:
-----------
[RenderStyleGen] Make BorderImage/MaskBorder storage more consistent with
other RenderStyle types
https://bugs.webkit.org/show_bug.cgi?id=304128
Reviewed by Darin Adler.
Style::BorderImage and Style::MaskImage had a non-traditional
storage implementation by using a private DataRef value. This
required using `friend` to participate in autogeneration, but
that is not going to scale with additional generation. Instead,
we extract the internal Data types into new `StyleBorderImageData`
and `StyleMaskImageData` types, and invert the relationship.
This also allows us to get rid of the custom style building
code for border image and mask image, and will make it easier
for future automation efforts.
While doing this, I also made the members of the border types public
(and remove the m_ prefixes). We want to treat RenderStyle data
types as pure storage going forward, so being public makes sense.
Did a little cleanup RenderStyle reset functions to remove unused
ones and make the rest call to a set function.
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/layout/formattingContexts/block/BlockMarginCollapse.cpp:
* Source/WebCore/page/LocalFrameView.cpp:
* Source/WebCore/rendering/OutlinePainter.cpp:
* Source/WebCore/rendering/RenderBox.cpp:
* Source/WebCore/rendering/RenderBoxModelObject.cpp:
* Source/WebCore/rendering/RenderElement.cpp:
* Source/WebCore/rendering/RenderLayer.cpp:
* Source/WebCore/rendering/RenderTable.cpp:
* Source/WebCore/rendering/RenderTableSection.cpp:
* Source/WebCore/rendering/RenderTheme.h:
* Source/WebCore/rendering/RenderTreeAsText.cpp:
* Source/WebCore/rendering/style/BorderData.cpp:
* Source/WebCore/rendering/style/BorderData.h:
* Source/WebCore/rendering/style/BorderValue.cpp:
* Source/WebCore/rendering/style/BorderValue.h:
* Source/WebCore/rendering/style/CollapsedBorderValue.h:
* Source/WebCore/rendering/style/OutlineValue.cpp:
* Source/WebCore/rendering/style/OutlineValue.h:
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/style/RenderStyleBase.h:
* Source/WebCore/rendering/style/RenderStyleBaseInlines.h:
* Source/WebCore/rendering/style/RenderStyleBaseSetters.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
* Source/WebCore/rendering/style/RenderStylePropertiesGettersCustom.cpp:
* Source/WebCore/rendering/style/RenderStyleSetters.h:
* Source/WebCore/rendering/style/StyleBackgroundData.cpp:
* Source/WebCore/rendering/style/StyleBorderImageData.cpp: Added.
* Source/WebCore/rendering/style/StyleBorderImageData.h: Copied from
Source/WebCore/rendering/style/RenderStylePropertiesGettersCustom.cpp.
* Source/WebCore/rendering/style/StyleMaskBorderData.cpp: Added.
* Source/WebCore/rendering/style/StyleMaskBorderData.h: Copied from
Source/WebCore/rendering/style/RenderStylePropertiesGettersCustom.cpp.
* Source/WebCore/rendering/style/StyleMultiColData.cpp:
* Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp:
* Source/WebCore/rendering/style/StyleRareNonInheritedData.h:
* Source/WebCore/rendering/style/StyleSurroundData.cpp:
* Source/WebCore/style/StyleBuilder.cpp:
* Source/WebCore/style/StyleBuilderCustom.h:
* Source/WebCore/style/StyleChangedAnimatableProperties.cpp:
* Source/WebCore/style/StyleDifference.cpp:
* Source/WebCore/style/StyleExtractorCustom.h:
* Source/WebCore/style/values/backgrounds/StyleBorderImage.cpp:
* Source/WebCore/style/values/backgrounds/StyleBorderImage.h:
* Source/WebCore/style/values/backgrounds/StyleBorderImageWidth.h:
* Source/WebCore/style/values/masking/StyleMaskBorder.cpp:
* Source/WebCore/style/values/masking/StyleMaskBorder.h:
* Source/WebCore/style/values/non-standard/StyleWebKitBoxReflect.cpp:
Canonical link: https://commits.webkit.org/304482@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications