Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2ac6832444d1bbe2be30c4f0e0a0ab605c726058
      
https://github.com/WebKit/WebKit/commit/2ac6832444d1bbe2be30c4f0e0a0ab605c726058
  Author: Taher Ali <[email protected]>
  Date:   2025-09-30 (Tue, 30 Sep 2025)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/fast/backgrounds/size/contain-and-cover-zoomed-expected.txt
    M LayoutTests/fast/canvas/canvas-zoom-expected.html
    M LayoutTests/fast/sub-pixel/zoomed-em-border.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/border-width-expected.html
    A 
LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/border-width.html
    A 
LayoutTests/platform/gtk/fast/multicol/span/anonymous-style-inheritance-expected.txt
    A 
LayoutTests/platform/gtk/fast/repaint/repaint-during-scroll-with-zoom-expected.txt
    A LayoutTests/platform/gtk/media/video-zoom-expected.txt
    A LayoutTests/platform/gtk/svg/zoom/page/zoom-background-images-expected.txt
    A 
LayoutTests/platform/gtk/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt
    A 
LayoutTests/platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt
    A 
LayoutTests/platform/gtk/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt
    M 
LayoutTests/platform/ios/fast/backgrounds/background-position-parsing-expected.txt
    M 
LayoutTests/platform/mac/fast/backgrounds/background-position-parsing-expected.txt
    M 
LayoutTests/platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.txt
    M 
LayoutTests/platform/mac/fast/repaint/repaint-during-scroll-with-zoom-expected.txt
    M LayoutTests/platform/mac/svg/zoom/page/zoom-background-images-expected.txt
    M 
LayoutTests/platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt
    M 
LayoutTests/platform/mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt
    M 
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt
    M 
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt
    M 
LayoutTests/platform/wpe/fast/backgrounds/background-position-parsing-expected.txt
    A 
LayoutTests/platform/wpe/fast/multicol/span/anonymous-style-inheritance-expected.txt
    A 
LayoutTests/platform/wpe/fast/repaint/repaint-during-scroll-with-zoom-expected.txt
    A LayoutTests/platform/wpe/media/video-zoom-expected.txt
    A LayoutTests/platform/wpe/svg/zoom/page/zoom-background-images-expected.txt
    A 
LayoutTests/platform/wpe/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt
    A 
LayoutTests/platform/wpe/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt
    M 
LayoutTests/platform/wpe/svg/zoom/page/zoom-svg-float-border-padding-expected.txt
    A 
LayoutTests/platform/wpe/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt
    M LayoutTests/svg/zoom/page/zoom-background-image-tiled-expected.txt
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/accessibility/AXTableHelpers.cpp
    M Source/WebCore/layout/formattingContexts/FormattingGeometry.cpp
    M Source/WebCore/layout/formattingContexts/block/BlockFormattingGeometry.cpp
    M Source/WebCore/layout/formattingContexts/table/TableFormattingState.cpp
    M Source/WebCore/layout/integration/LayoutIntegrationBoxGeometryUpdater.cpp
    M Source/WebCore/page/LocalFrameView.cpp
    M Source/WebCore/page/SpatialNavigation.cpp
    M Source/WebCore/rendering/BorderEdge.cpp
    M Source/WebCore/rendering/BorderPainter.cpp
    M Source/WebCore/rendering/BorderShape.cpp
    M Source/WebCore/rendering/NinePieceImagePainter.cpp
    M Source/WebCore/rendering/RenderBoxModelObjectInlines.h
    M Source/WebCore/rendering/RenderElement.cpp
    M Source/WebCore/rendering/RenderImage.cpp
    M Source/WebCore/rendering/RenderMultiColumnSet.cpp
    M Source/WebCore/rendering/RenderTable.cpp
    M Source/WebCore/rendering/RenderTableSection.cpp
    M Source/WebCore/rendering/RenderTheme.cpp
    M Source/WebCore/rendering/cocoa/RenderThemeCocoa.mm
    M Source/WebCore/rendering/ios/RenderThemeIOS.mm
    M Source/WebCore/rendering/style/CollapsedBorderValue.h
    M Source/WebCore/rendering/style/RenderStyle.cpp
    M Source/WebCore/rendering/style/RenderStyle.h
    M Source/WebCore/rendering/style/RenderStyleInlines.h
    M Source/WebCore/rendering/style/StyleRareInheritedData.cpp
    M Source/WebCore/rendering/style/StyleRareInheritedData.h
    M Source/WebCore/rendering/svg/SVGRenderSupport.cpp
    M Source/WebCore/style/StyleResolveForDocument.cpp
    M Source/WebCore/style/values/backgrounds/StyleBorderImageWidth.h
    M Source/WebCore/style/values/backgrounds/StyleLineWidth.cpp
    M Source/WebCore/style/values/backgrounds/StyleLineWidth.h
    M Source/WebCore/style/values/masking/StyleMaskBorderWidth.h
    M Source/WebCore/style/values/non-standard/StyleWebKitBorderSpacing.h
    M Source/WebCore/style/values/primitives/StyleLengthWrapper.h
    M Source/WebCore/style/values/primitives/StyleLengthWrapperData.h
    M Source/WebCore/style/values/primitives/StylePrimitiveNumeric.h
    M 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+CSSValueConversion.h
    M 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Conversions.cpp
    M 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Conversions.h
    M 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Evaluation.h
    M Source/WebCore/style/values/primitives/StyleZoomNeededToken.h
    M Source/WebCore/testing/Internals.cpp
    M Source/WebCore/testing/Internals.h
    M Source/WebCore/testing/Internals.idl
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Source/WebKitLegacy/mac/DOM/DOM.mm

  Log Message:
  -----------
  [CSS ZOOM] Apply zoom factor to border spacing and border width
https://bugs.webkit.org/show_bug.cgi?id=299238
rdar://161008191

Reviewed by Antti Koivisto.

We allow evaluation-time zoom for LineWidth and WebKitBorderSpacing,
which applies the zoom factor to the border-width and border-spacing properties.

We also added a feature flag in this PR to enable evaluation-time zoom.

Test: imported/w3c/web-platform-tests/css/css-viewport/zoom/border-width.html
* LayoutTests/TestExpectations:
* 
LayoutTests/platform/gtk/fast/multicol/span/anonymous-style-inheritance-expected.txt:
 Added.
* 
LayoutTests/platform/gtk/fast/repaint/repaint-during-scroll-with-zoom-expected.txt:
 Added.
* LayoutTests/platform/gtk/media/video-zoom-expected.txt: Added.
* LayoutTests/platform/gtk/svg/zoom/page/zoom-background-images-expected.txt: 
Added.
* 
LayoutTests/platform/gtk/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
 Added.
* 
LayoutTests/platform/gtk/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
 Added.
* 
LayoutTests/platform/gtk/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
 Added.
* 
LayoutTests/platform/ios/fast/backgrounds/background-position-parsing-expected.txt:
* LayoutTests/platform/wpe/media/video-zoom-expected.txt: Added.
* LayoutTests/fast/backgrounds/size/contain-and-cover-zoomed-expected.txt:
* LayoutTests/fast/canvas/canvas-zoom-expected.html:
* LayoutTests/fast/sub-pixel/zoomed-em-border.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/border-width-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-viewport/zoom/border-width.html:
 Added.
* 
LayoutTests/platform/ios/fast/backgrounds/background-position-parsing-expected.txt:
* 
LayoutTests/platform/mac/fast/backgrounds/background-position-parsing-expected.txt:
* 
LayoutTests/platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.txt:
* 
LayoutTests/platform/mac/fast/repaint/repaint-during-scroll-with-zoom-expected.txt:
* LayoutTests/platform/mac/svg/zoom/page/zoom-background-images-expected.txt:
* 
LayoutTests/platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
* 
LayoutTests/platform/mac/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
* 
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt:
* 
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
* 
LayoutTests/platform/wpe/fast/backgrounds/background-position-parsing-expected.txt:
* 
LayoutTests/platform/wpe/fast/multicol/span/anonymous-style-inheritance-expected.txt:
 Added.
* 
LayoutTests/platform/wpe/fast/repaint/repaint-during-scroll-with-zoom-expected.txt:
 Copied from 
LayoutTests/platform/mac/fast/repaint/repaint-during-scroll-with-zoom-expected.txt.
* LayoutTests/platform/wpe/svg/zoom/page/zoom-background-images-expected.txt: 
Copied from 
LayoutTests/platform/mac/svg/zoom/page/zoom-background-images-expected.txt.
* 
LayoutTests/platform/wpe/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
 Copied from 
LayoutTests/platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt.
* 
LayoutTests/platform/wpe/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
 Added.
* 
LayoutTests/platform/wpe/svg/zoom/page/zoom-svg-float-border-padding-expected.txt:
* 
LayoutTests/platform/wpe/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
 Copied from 
LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt.
* LayoutTests/svg/zoom/page/zoom-background-image-tiled-expected.txt:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/accessibility/AXTableHelpers.cpp:
(WebCore::AXTableHelpers::isDataTableWithTraversal):
* Source/WebCore/layout/formattingContexts/FormattingGeometry.cpp:
(WebCore::Layout::FormattingGeometry::computedBorder const):
* Source/WebCore/layout/formattingContexts/block/BlockFormattingGeometry.cpp:
(WebCore::Layout::BlockFormattingGeometry::intrinsicWidthConstraints const):
* Source/WebCore/layout/formattingContexts/table/TableFormattingState.cpp:
(WebCore::Layout::ensureTableGrid):
* Source/WebCore/layout/integration/LayoutIntegrationBoxGeometryUpdater.cpp:
(WebCore::LayoutIntegration::BoxGeometryUpdater::logicalBorder):
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::fixedContainerEdges const):
* Source/WebCore/page/SpatialNavigation.cpp:
(WebCore::nodeRectInAbsoluteCoordinates):
* Source/WebCore/rendering/BorderEdge.cpp:
(WebCore::borderEdges):
(WebCore::borderEdgesForOutline):
* Source/WebCore/rendering/BorderPainter.cpp:
(WebCore::BorderPainter::paintOutline const):
* Source/WebCore/rendering/BorderShape.cpp:
(WebCore::BorderShape::shapeForBorderRect):
* Source/WebCore/rendering/NinePieceImagePainter.cpp:
(WebCore::computeSlice):
(WebCore::paintNinePieceImage):
* Source/WebCore/rendering/RenderBoxModelObjectInlines.h:
(WebCore::RenderBoxModelObject::borderAfter const):
(WebCore::RenderBoxModelObject::borderBefore const):
(WebCore::RenderBoxModelObject::borderBottom const):
(WebCore::RenderBoxModelObject::borderEnd const):
(WebCore::RenderBoxModelObject::borderLeft const):
(WebCore::RenderBoxModelObject::borderRight const):
(WebCore::RenderBoxModelObject::borderStart const):
(WebCore::RenderBoxModelObject::borderTop const):
(WebCore::RenderBoxModelObject::borderWidths const):
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::drawFocusRing):
* Source/WebCore/rendering/RenderImage.cpp:
(WebCore::RenderImage::paintAreaElementFocusRing):
* Source/WebCore/rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::paintColumnRules):
* Source/WebCore/rendering/RenderTable.cpp:
(WebCore::RenderTable::styleDidChange):
(WebCore::RenderTable::calcBorderStart const):
(WebCore::RenderTable::calcBorderEnd const):
(WebCore::RenderTable::outerBorderBefore const):
(WebCore::RenderTable::outerBorderAfter const):
(WebCore::RenderTable::outerBorderStart const):
(WebCore::RenderTable::outerBorderEnd const):
* Source/WebCore/rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcBlockDirectionOuterBorder const):
(WebCore::RenderTableSection::calcInlineDirectionOuterBorder const):
(WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
* Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::extractControlStyleForRenderer const):
(WebCore::RenderTheme::adjustButtonOrCheckboxOrColorWellOrInnerSpinButtonOrRadioStyle
 const):
* Source/WebCore/rendering/cocoa/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::paintMenuListButtonDecorationsForVectorBasedControls):
* Source/WebCore/rendering/ios/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::popupInternalPaddingBox const):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
* Source/WebCore/rendering/style/CollapsedBorderValue.h:
(WebCore::CollapsedBorderValue::CollapsedBorderValue):
(WebCore::CollapsedBorderValue::m_transparent): Deleted.
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setEnableEvaluationTimeZoom):
(WebCore::RenderStyle::imageOutsets const):
(WebCore::RenderStyle::outlineWidth const):
(WebCore::RenderStyle::outlineOffset const):
(WebCore::RenderStyle::outlineSize const):
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/rendering/style/RenderStyleInlines.h:
(WebCore::RenderStyle::enableEvaluationTimeZoom const):
(WebCore::RenderStyle::usedZoomForLength const):
* Source/WebCore/rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):
(WebCore::StyleRareInheritedData::dumpDifferences const):
* Source/WebCore/rendering/style/StyleRareInheritedData.h:
* Source/WebCore/rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::computeFloatVisibleRectInContainer):
* Source/WebCore/style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):
* Source/WebCore/style/values/backgrounds/StyleBorderImageWidth.h:
* Source/WebCore/style/values/backgrounds/StyleLineWidth.cpp:
(WebCore::Style::CSSValueConversion<LineWidth>::operator):
(WebCore::Style::FloatBoxExtent>::operator):
(WebCore::Style::LayoutBoxExtent>::operator):
* Source/WebCore/style/values/backgrounds/StyleLineWidth.h:
* Source/WebCore/style/values/masking/StyleMaskBorderWidth.h:
* Source/WebCore/style/values/non-standard/StyleWebKitBorderSpacing.h:
* Source/WebCore/style/values/primitives/StyleLengthWrapper.h:
* Source/WebCore/style/values/primitives/StyleLengthWrapperData.h:
(WebCore::Style::LengthWrapperData::minimumValueForLengthWrapperDataWithLazyMaximum
 const):
(WebCore::Style::LengthWrapperData::valueForLengthWrapperDataWithLazyMaximum 
const):
* Source/WebCore/style/values/primitives/StylePrimitiveNumeric.h:
* 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+CSSValueConversion.h:
* 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Conversions.h:
* 
Source/WebCore/style/values/primitives/StylePrimitiveNumericTypes+Evaluation.h:
* Source/WebCore/style/values/primitives/StyleZoomNeededToken.h:
(WebCore::Style::ZoomFactor::ZoomFactor):
(WebCore::Style::ZoomFactor::operator float const):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::setEvaluationTimeZoom):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::absoluteInteractionBounds):
* Source/WebKitLegacy/mac/DOM/DOM.mm:
(-[DOMNode innerFrameQuad]):

Canonical link: https://commits.webkit.org/300756@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