Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ab4abdb7a3cf6a6060921739812f7a73263bb2a6
      
https://github.com/WebKit/WebKit/commit/ab4abdb7a3cf6a6060921739812f7a73263bb2a6
  Author: Sam Weinig <[email protected]>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/editing/Editor.cpp
    M Source/WebCore/html/NumberInputType.cpp
    M Source/WebCore/html/SearchInputType.cpp
    M Source/WebCore/layout/formattingContexts/FormattingGeometry.cpp
    M Source/WebCore/layout/formattingContexts/FormattingGeometry.h
    M Source/WebCore/layout/formattingContexts/block/BlockFormattingQuirks.cpp
    M Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/grid/TrackSizingAlgorithm.cpp
    M 
Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/table/TableFormattingContext.cpp
    M Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp
    M Source/WebCore/layout/formattingContexts/table/TableLayout.cpp
    M Source/WebCore/layout/integration/LayoutIntegrationBoxGeometryUpdater.cpp
    M Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp
    M Source/WebCore/layout/layouttree/LayoutElementBox.cpp
    M Source/WebCore/page/IntersectionObserver.cpp
    M Source/WebCore/page/PrintContext.cpp
    M Source/WebCore/page/ios/ContentChangeObserver.cpp
    M Source/WebCore/rendering/AutoTableLayout.cpp
    M Source/WebCore/rendering/BackgroundPainter.cpp
    M Source/WebCore/rendering/EllipsisBoxPainter.cpp
    M Source/WebCore/rendering/FixedTableLayout.cpp
    M Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp
    M Source/WebCore/rendering/NinePieceImagePainter.cpp
    M Source/WebCore/rendering/RenderBlock.cpp
    M Source/WebCore/rendering/RenderBlockFlow.cpp
    M Source/WebCore/rendering/RenderBox.cpp
    M Source/WebCore/rendering/RenderBoxModelObject.cpp
    M Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp
    M Source/WebCore/rendering/RenderElement.cpp
    M Source/WebCore/rendering/RenderFileUploadControl.cpp
    M Source/WebCore/rendering/RenderFlexibleBox.cpp
    M Source/WebCore/rendering/RenderFragmentContainer.cpp
    M Source/WebCore/rendering/RenderGrid.cpp
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/RenderListBox.cpp
    M Source/WebCore/rendering/RenderListMarker.cpp
    M Source/WebCore/rendering/RenderMenuList.cpp
    M Source/WebCore/rendering/RenderReplaced.cpp
    M Source/WebCore/rendering/RenderTable.cpp
    M Source/WebCore/rendering/RenderTableCell.cpp
    M Source/WebCore/rendering/RenderTableSection.cpp
    M Source/WebCore/rendering/RenderTextControl.cpp
    M Source/WebCore/rendering/RenderTheme.cpp
    M Source/WebCore/rendering/TextBoxPainter.h
    M Source/WebCore/rendering/TextDecorationPainter.cpp
    M Source/WebCore/rendering/TextPainter.cpp
    M Source/WebCore/rendering/cocoa/RenderThemeCocoa.mm
    M Source/WebCore/rendering/ios/RenderThemeIOS.mm
    M Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp
    M Source/WebCore/rendering/style/AutosizeStatus.cpp
    M Source/WebCore/rendering/style/BorderData.h
    M Source/WebCore/rendering/style/RenderStyle.cpp
    M Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
    M Source/WebCore/style/StyleExtractorCustom.h
    M Source/WebCore/style/StyleResolveForFont.cpp
    M Source/WebCore/style/values/StyleValueTypes.h
    M Source/WebCore/style/values/animations/StyleSingleAnimationRange.cpp
    M Source/WebCore/style/values/backgrounds/StyleBorderImageSlice.h
    M Source/WebCore/style/values/backgrounds/StyleLineWidth.h
    M Source/WebCore/style/values/borders/StyleBoxShadow.h
    M Source/WebCore/style/values/borders/StyleShadow.h
    M Source/WebCore/style/values/filter-effects/StyleBlurFunction.cpp
    M Source/WebCore/style/values/filter-effects/StyleDropShadowFunction.cpp
    M Source/WebCore/style/values/images/StyleGradient.cpp
    M Source/WebCore/style/values/non-standard/StyleWebKitTextStrokeWidth.h
    M Source/WebCore/style/values/primitives/StyleLengthWrapper.h
    M Source/WebCore/style/values/primitives/StylePrimitiveNumeric.h
    M 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Blending.h
    M 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Calculation.h
    M 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Conversions.h
    M 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Evaluation.h
    M 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Logging.h
    M Source/WebCore/style/values/scroll-snap/StyleScrollMargin.cpp
    M Source/WebCore/style/values/scroll-snap/StyleScrollPadding.cpp
    M Source/WebCore/style/values/transforms/StylePerspective.h
    M Source/WebCore/svg/SVGLengthContext.cpp
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  Add more enforcement of zoom evaluation for Style::Length<>
https://bugs.webkit.org/show_bug.cgi?id=299346

Reviewed by Antti Koivisto.

The initial change to add evaluation time zoom application didn't fully
enforce the need to call evaluate. This change makes a stronger guarantee
by specializing Style::PrimitiveNumeric for lengths and making the value
private, requiring callers to use the evaluate(zoom) function.

With this new guarantee in place, a number of additional "FIXME FIND ZOOM"s
were added, giving a clearer picture of what work is needed.

This change also makes it so that calling Style::evaluate() with something
that isn't a length (or something that contains a length) doesn't allow
passing a zoom parameter, allowing the removal of a number of "FIXME FIND 
ZOOM"s.

* Source/WebCore/dom/Document.cpp:
* Source/WebCore/editing/Editor.cpp:
* Source/WebCore/html/NumberInputType.cpp:
* Source/WebCore/html/SearchInputType.cpp:
* Source/WebCore/layout/formattingContexts/FormattingGeometry.cpp:
* Source/WebCore/layout/formattingContexts/FormattingGeometry.h:
* Source/WebCore/layout/formattingContexts/block/BlockFormattingQuirks.cpp:
* Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
* Source/WebCore/layout/formattingContexts/table/TableFormattingContext.cpp:
* Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp:
* Source/WebCore/layout/formattingContexts/table/TableLayout.cpp:
* Source/WebCore/layout/integration/LayoutIntegrationBoxGeometryUpdater.cpp:
* Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp:
* Source/WebCore/layout/layouttree/LayoutElementBox.cpp:
* Source/WebCore/page/IntersectionObserver.cpp:
* Source/WebCore/page/PrintContext.cpp:
* Source/WebCore/rendering/AutoTableLayout.cpp:
* Source/WebCore/rendering/BackgroundPainter.cpp:
* Source/WebCore/rendering/EllipsisBoxPainter.cpp:
* Source/WebCore/rendering/FixedTableLayout.cpp:
* Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:
* Source/WebCore/rendering/NinePieceImagePainter.cpp:
* Source/WebCore/rendering/RenderBlock.cpp:
* Source/WebCore/rendering/RenderBlockFlow.cpp:
* Source/WebCore/rendering/RenderBox.cpp:
* Source/WebCore/rendering/RenderBoxModelObject.cpp:
* Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:
* Source/WebCore/rendering/RenderElement.cpp:
* Source/WebCore/rendering/RenderFileUploadControl.cpp:
* Source/WebCore/rendering/RenderFlexibleBox.cpp:
* Source/WebCore/rendering/RenderFragmentContainer.cpp:
* Source/WebCore/rendering/RenderGrid.cpp:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
* Source/WebCore/rendering/RenderListBox.cpp:
* Source/WebCore/rendering/RenderListMarker.cpp:
* Source/WebCore/rendering/RenderMenuList.cpp:
* Source/WebCore/rendering/RenderReplaced.cpp:
* Source/WebCore/rendering/RenderTable.cpp:
* Source/WebCore/rendering/RenderTableCell.cpp:
* Source/WebCore/rendering/RenderTableSection.cpp:
* Source/WebCore/rendering/RenderTextControl.cpp:
* Source/WebCore/rendering/RenderTheme.cpp:
* Source/WebCore/rendering/TextBoxPainter.h:
* Source/WebCore/rendering/TextDecorationPainter.cpp:
* Source/WebCore/rendering/TextPainter.cpp:
* Source/WebCore/rendering/cocoa/RenderThemeCocoa.mm:
* Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp:
* Source/WebCore/rendering/style/AutosizeStatus.cpp:
* Source/WebCore/rendering/style/BorderData.h:
* Source/WebCore/rendering/style/RenderStyle.cpp:
* Source/WebCore/rendering/updating/RenderTreeBuilder.cpp:
* Source/WebCore/style/StyleExtractorCustom.h:
* Source/WebCore/style/StyleResolveForFont.cpp:
* Source/WebCore/style/values/StyleValueTypes.h:
* Source/WebCore/style/values/animations/StyleSingleAnimationRange.cpp:
* Source/WebCore/style/values/backgrounds/StyleBorderImageSlice.h:
* Source/WebCore/style/values/backgrounds/StyleLineWidth.h:
* Source/WebCore/style/values/borders/StyleBoxShadow.h:
* Source/WebCore/style/values/borders/StyleShadow.h:
* Source/WebCore/style/values/filter-effects/StyleBlurFunction.cpp:
* Source/WebCore/style/values/filter-effects/StyleDropShadowFunction.cpp:
* Source/WebCore/style/values/images/StyleGradient.cpp:
* Source/WebCore/style/values/non-standard/StyleWebKitTextStrokeWidth.h:
* Source/WebCore/style/values/primitives/StyleLengthWrapper.h:
* Source/WebCore/style/values/primitives/StylePrimitiveNumeric.h:
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Blending.h:
* 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Calculation.h:
* 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Conversions.h:
* 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Evaluation.h:
* Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Logging.h:
* Source/WebCore/style/values/scroll-snap/StyleScrollMargin.cpp:
* Source/WebCore/style/values/scroll-snap/StyleScrollPadding.cpp:
* Source/WebCore/style/values/transforms/StylePerspective.h:
* Source/WebCore/svg/SVGLengthContext.cpp:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to