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

Reply via email to