Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f90cae5f62c3bd741bab5863887123b660e9cda6 https://github.com/WebKit/WebKit/commit/f90cae5f62c3bd741bab5863887123b660e9cda6 Author: Said Abou-Hallawa <s...@apple.com> Date: 2023-06-27 (Tue, 27 Jun 2023)
Changed paths: M LayoutTests/platform/glib/TestExpectations M LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/canvas/element/path-objects/2d.path.isPointInPath.basic-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/import/animate-elem-35-t-manual-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/import/paths-data-03-f-manual-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/import/shapes-intro-02-f-manual-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/painting/reftests/paint-order-001-expected.txt M LayoutTests/platform/glib/svg/custom/massive-coordinates-expected.txt M LayoutTests/platform/glib/svg/hixie/perf/001-expected.txt M LayoutTests/platform/glib/svg/hixie/perf/002-expected.txt M LayoutTests/platform/gtk/imported/w3c/web-platform-tests/svg/import/filters-morph-01-f-manual-expected.txt M LayoutTests/platform/gtk/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt M LayoutTests/platform/ios/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt M LayoutTests/platform/ios/svg/batik/text/longTextOnPath-expected.txt M LayoutTests/platform/mac/TestExpectations M LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt M LayoutTests/platform/mac/svg/batik/text/longTextOnPath-expected.txt M LayoutTests/platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-morph-01-f-manual-expected.txt M LayoutTests/platform/wpe/imported/w3c/web-platform-tests/svg/import/text-path-01-b-manual-expected.txt M LayoutTests/platform/wpe/imported/w3c/web-platform-tests/svg/import/text-path-02-b-manual-expected.txt M LayoutTests/platform/wpe/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt M LayoutTests/platform/wpe/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt M LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt M Source/WebCore/Headers.cmake M Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm M Source/WebCore/display/css/DisplayBoxDecorationPainter.cpp M Source/WebCore/html/HTMLAreaElement.cpp M Source/WebCore/html/canvas/CanvasPath.cpp M Source/WebCore/inspector/InspectorOverlay.cpp M Source/WebCore/platform/adwaita/ThemeAdwaita.cpp M Source/WebCore/platform/graphics/FloatRect.cpp M Source/WebCore/platform/graphics/FloatRect.h M Source/WebCore/platform/graphics/FloatRoundedRect.cpp M Source/WebCore/platform/graphics/FloatRoundedRect.h M Source/WebCore/platform/graphics/FontCascade.cpp M Source/WebCore/platform/graphics/GraphicsContext.cpp M Source/WebCore/platform/graphics/GraphicsContextState.cpp M Source/WebCore/platform/graphics/GraphicsContextState.h R Source/WebCore/platform/graphics/InlinePathData.h M Source/WebCore/platform/graphics/Path.cpp M Source/WebCore/platform/graphics/Path.h A Source/WebCore/platform/graphics/PathElement.h A Source/WebCore/platform/graphics/PathImpl.cpp A Source/WebCore/platform/graphics/PathImpl.h A Source/WebCore/platform/graphics/PathSegment.cpp A Source/WebCore/platform/graphics/PathSegment.h A Source/WebCore/platform/graphics/PathSegmentData.cpp A Source/WebCore/platform/graphics/PathSegmentData.h A Source/WebCore/platform/graphics/PathStream.cpp A Source/WebCore/platform/graphics/PathStream.h A Source/WebCore/platform/graphics/PlatformPath.h A Source/WebCore/platform/graphics/PlatformPathImpl.h A Source/WebCore/platform/graphics/RotationDirection.cpp A Source/WebCore/platform/graphics/RotationDirection.h M Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm M Source/WebCore/platform/graphics/cairo/CairoOperations.cpp M Source/WebCore/platform/graphics/cairo/CairoUtilities.cpp M Source/WebCore/platform/graphics/cairo/FontCairo.cpp M Source/WebCore/platform/graphics/cairo/PathCairo.cpp A Source/WebCore/platform/graphics/cairo/PathCairo.h M Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp M Source/WebCore/platform/graphics/cg/PathCG.cpp A Source/WebCore/platform/graphics/cg/PathCG.h M Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm M Source/WebCore/platform/graphics/coretext/FontCoreText.cpp M Source/WebCore/platform/graphics/displaylists/DisplayList.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListItemType.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h M Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListItems.h M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h M Source/WebCore/platform/graphics/mac/controls/MenuListButtonMac.mm M Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp M Source/WebCore/platform/network/cf/DNSResolveQueueCFNet.cpp M Source/WebCore/rendering/BorderPainter.cpp M Source/WebCore/rendering/GlyphDisplayListCache.cpp M Source/WebCore/rendering/PathOperation.cpp M Source/WebCore/rendering/RenderImage.cpp M Source/WebCore/rendering/RenderThemeAdwaita.cpp M Source/WebCore/rendering/RenderThemeIOS.mm M Source/WebCore/rendering/TextBoxPainter.cpp M Source/WebCore/rendering/TextPainter.cpp M Source/WebCore/rendering/TextPainter.h M Source/WebCore/rendering/mathml/RenderMathMLMenclose.cpp M Source/WebCore/rendering/shapes/BoxShape.cpp M Source/WebCore/rendering/shapes/RectangleShape.cpp M Source/WebCore/rendering/style/BasicShapes.cpp M Source/WebCore/rendering/svg/LegacyRenderSVGPath.cpp M Source/WebCore/rendering/svg/LegacyRenderSVGShape.cpp M Source/WebCore/rendering/svg/RenderSVGPath.cpp M Source/WebCore/rendering/svg/RenderSVGShape.cpp M Source/WebCore/rendering/svg/SVGPathData.cpp M Source/WebCore/svg/SVGPathUtilities.cpp M Source/WebCore/testing/Internals.cpp M Source/WebKit/CMakeLists.txt M Source/WebKit/DerivedSources-input.xcfilelist M Source/WebKit/DerivedSources.make R Source/WebKit/GPUProcess/graphics/InlinePathData.serialization.in A Source/WebKit/GPUProcess/graphics/PathSegment.serialization.in M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Shared/WebCoreArgumentCoders.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/ios/DragDropInteractionState.mm M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm M Tools/TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp M Tools/TestWebKitAPI/Tests/WebCore/FloatRectTests.cpp Log Message: ----------- [GPU Process] Create a platform path only when it is needed https://bugs.webkit.org/show_bug.cgi?id=255898 rdar://108480395 Reviewed by Cameron McCormack. We should avoid creating the platform path in the WebProcess. For this purpose a new class called PathStream is created. It is a superclass of PathImpl which is the base class of the platform path (PathCG and PathCairo). Path now owns a unique_ptr<PathImpl> which can be converted from PathStream to PathCG and vice versa. Path will delegate all the calls to PathImpl. PathStream will implement most of the functions the Path needs for layout. But for drawing and complicated queries, PathStream will be converted to either PathCG or PathCairo. * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/canvas/element/path-objects/2d.path.isPointInPath.basic-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/import/animate-elem-35-t-manual-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/import/paths-data-03-f-manual-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/import/shapes-intro-02-f-manual-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/svg/painting/reftests/paint-order-001-expected.txt: * LayoutTests/platform/glib/svg/custom/massive-coordinates-expected.txt: * LayoutTests/platform/glib/svg/hixie/perf/001-expected.txt: * LayoutTests/platform/glib/svg/hixie/perf/002-expected.txt: * LayoutTests/platform/gtk/imported/w3c/web-platform-tests/svg/import/filters-morph-01-f-manual-expected.txt: * LayoutTests/platform/gtk/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt: * LayoutTests/platform/ios/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt: * LayoutTests/platform/ios/svg/batik/text/longTextOnPath-expected.txt: * LayoutTests/platform/mac/TestExpectations: * LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt: * LayoutTests/platform/mac/svg/batik/text/longTextOnPath-expected.txt: * LayoutTests/platform/wpe/imported/w3c/web-platform-tests/svg/import/filters-morph-01-f-manual-expected.txt: * LayoutTests/platform/wpe/imported/w3c/web-platform-tests/svg/import/text-path-01-b-manual-expected.txt: * LayoutTests/platform/wpe/imported/w3c/web-platform-tests/svg/import/text-path-02-b-manual-expected.txt: * LayoutTests/platform/wpe/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt: * LayoutTests/platform/wpe/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt: * LayoutTests/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt: * Source/WebCore/Headers.cmake: * Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm: (-[WebAccessibilityObjectWrapperBase convertPathToScreenSpace:]): * Source/WebCore/display/css/DisplayBoxDecorationPainter.cpp: (WebCore::Display::BorderPainter::clipBorderSidePolygon const): (WebCore::Display::BorderPainter::drawLineForBoxSide const): * Source/WebCore/html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::getRegion const): * Source/WebCore/html/canvas/CanvasPath.cpp: (WebCore::CanvasPath::lineTo): (WebCore::CanvasPath::quadraticCurveTo): (WebCore::CanvasPath::bezierCurveTo): (WebCore::CanvasPath::arcTo): (WebCore::CanvasPath::arc): (WebCore::CanvasPath::ellipse): * Source/WebCore/inspector/InspectorOverlay.cpp: (WebCore::drawShapeHighlight): * Source/WebCore/platform/adwaita/ThemeAdwaita.cpp: (WebCore::ThemeAdwaita::paintRadio): * Source/WebCore/platform/graphics/FloatRect.cpp: (WebCore::FloatRect::fitToPoints): Deleted. * Source/WebCore/platform/graphics/FloatRect.h: (WebCore::FloatRect::smallestRect): (WebCore::FloatRect::isSmallest const): * Source/WebCore/platform/graphics/FloatRoundedRect.cpp: (WebCore::FloatRoundedRect::Radii::hasEvenCorners const): (WebCore::FloatRoundedRect::Radii::isUniformCornerRadius const): * Source/WebCore/platform/graphics/FloatRoundedRect.h: * Source/WebCore/platform/graphics/FontCascade.cpp: (WebCore::FontCascade::dashesForIntersectionsWithRect const): * Source/WebCore/platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::fillEllipseAsPath): (WebCore::GraphicsContext::strokeEllipseAsPath): * Source/WebCore/platform/graphics/GraphicsContextState.cpp: (WebCore::GraphicsContextState::containsOnlyInlineStrokeChanges const): * Source/WebCore/platform/graphics/GraphicsContextState.h: * Source/WebCore/platform/graphics/Path.cpp: (WebCore::Path::Path): (WebCore::Path::operator=): (WebCore::Path::operator== const): (WebCore::Path::ensurePlatformPathImpl): (WebCore::Path::polygonPathFromPoints): (WebCore::Path::moveTo): (WebCore::Path::addLineTo): (WebCore::Path::addQuadCurveTo): (WebCore::Path::addBezierCurveTo): (WebCore::Path::addArcTo): (WebCore::Path::addArc): (WebCore::Path::addEllipse): (WebCore::Path::addEllipseInRect): (WebCore::Path::addRect): (WebCore::calculateEvenRoundedRect): (WebCore::Path::addRoundedRect): (WebCore::Path::closeSubpath): (WebCore::Path::addPath): (WebCore::Path::applySegments const): (WebCore::Path::applyElements const): (WebCore::Path::clear): (WebCore::Path::translate): (WebCore::Path::transform): (WebCore::Path::singleSegment const): (WebCore::Path::singleDataLine const): (WebCore::Path::singleArc const): (WebCore::Path::singleQuadCurve const): (WebCore::Path::singleBezierCurve const): (WebCore::Path::isEmpty const): (WebCore::Path::platformPath const): (WebCore::Path::segmentsIfExists const): (WebCore::Path::segments const): (WebCore::Path::length const): (WebCore::Path::isClosed const): (WebCore::Path::currentPoint const): (WebCore::Path::traversalStateAtLength const): (WebCore::Path::pointAtLength const): (WebCore::Path::contains const): (WebCore::Path::strokeContains const): (WebCore::Path::fastBoundingRect const): (WebCore::Path::boundingRect const): (WebCore::Path::strokeBoundingRect const): (WebCore::operator<<): (WebCore::Path::elementCountSlowCase const): Deleted. (WebCore::Path::addBeziersForRoundedRect): Deleted. (WebCore::Path::apply const): Deleted. (WebCore::Path::hasCurrentPoint const): Deleted. (WebCore::Path::elementCount const): Deleted. (WebCore::Path::fastBoundingRectFromInlineData const): Deleted. (WebCore::computeArcBounds): Deleted. (WebCore::Path::boundingRectFromInlineData const): Deleted. (WebCore::Path::dump const): Deleted. * Source/WebCore/platform/graphics/Path.h: (WebCore::Path::circleControlPoint): (WebCore::Path::strokeBoundingRect): (WebCore::Path::from): Deleted. (WebCore::Path::cairoPath const): Deleted. (WebCore::Path::platformPath const): Deleted. (WebCore::Path::inlineData const): Deleted. (): Deleted. (WebCore::Path::encode const): Deleted. (WebCore::Path::decode): Deleted. (WebCore::Path::hasInlineData const): Deleted. (WebCore::Path::inlineData): Deleted. * Source/WebCore/platform/graphics/PathElement.h: Added. * Source/WebCore/platform/graphics/PathImpl.cpp: Added. (WebCore::PathImpl::appendSegment): (WebCore::PathImpl::addLinesForRect): (WebCore::PathImpl::addBeziersForRoundedRect): (WebCore::PathImpl::isClosed const): * Source/WebCore/platform/graphics/PathImpl.h: Added. (WebCore::PathImpl::circleControlPoint): (WebCore::PathImpl::isPathStream const): (WebCore::PathImpl::singleSegment const): (WebCore::PathImpl::singleDataLine const): (WebCore::PathImpl::singleArc const): (WebCore::PathImpl::singleQuadCurve const): (WebCore::PathImpl::singleBezierCurve const): * Source/WebCore/platform/graphics/PathSegment.cpp: Added. (WebCore::PathSegment::PathSegment): (WebCore::PathSegment::calculateEndPoint const): (WebCore::PathSegment::extendFastBoundingRect const): (WebCore::PathSegment::extendBoundingRect const): (WebCore::PathSegment::addToImpl const): (WebCore::PathSegment::applyElements const): (WebCore::operator<<): * Source/WebCore/platform/graphics/PathSegment.h: Added. (WebCore::PathSegment::data const): (WebCore::PathSegment::isCloseSubPath const): * Source/WebCore/platform/graphics/PathSegmentData.cpp: Added. (WebCore::PathMoveTo::calculateEndPoint const): (WebCore::PathMoveTo::extendFastBoundingRect const): (WebCore::PathMoveTo::extendBoundingRect const): (WebCore::PathMoveTo::addToImpl const): (WebCore::PathMoveTo::applyElements const): (WebCore::operator<<): (WebCore::PathLineTo::calculateEndPoint const): (WebCore::PathLineTo::extendFastBoundingRect const): (WebCore::PathLineTo::extendBoundingRect const): (WebCore::PathLineTo::addToImpl const): (WebCore::PathLineTo::applyElements const): (WebCore::PathQuadCurveTo::calculateEndPoint const): (WebCore::PathQuadCurveTo::extendFastBoundingRect const): (WebCore::calculateQuadratic): (WebCore::calculateQuadraticExtremity): (WebCore::PathQuadCurveTo::extendBoundingRect const): (WebCore::PathQuadCurveTo::addToImpl const): (WebCore::PathQuadCurveTo::applyElements const): (WebCore::PathBezierCurveTo::calculateEndPoint const): (WebCore::PathBezierCurveTo::extendFastBoundingRect const): (WebCore::calculateBezier): (WebCore::calculateBezierExtremities): (WebCore::PathBezierCurveTo::extendBoundingRect const): (WebCore::PathBezierCurveTo::addToImpl const): (WebCore::PathBezierCurveTo::applyElements const): (WebCore::angleOfLine): (WebCore::PathArcTo::calculateEndPoint const): (WebCore::PathArcTo::extendFastBoundingRect const): (WebCore::PathArcTo::extendBoundingRect const): (WebCore::PathArcTo::addToImpl const): (WebCore::PathArc::calculateEndPoint const): (WebCore::PathArc::extendFastBoundingRect const): (WebCore::angleInClockwise): (WebCore::PathArc::extendBoundingRect const): (WebCore::PathArc::addToImpl const): (WebCore::PathEllipse::calculateEndPoint const): (WebCore::PathEllipse::extendFastBoundingRect const): (WebCore::PathEllipse::extendBoundingRect const): (WebCore::PathEllipse::addToImpl const): (WebCore::PathEllipseInRect::calculateEndPoint const): (WebCore::PathEllipseInRect::extendFastBoundingRect const): (WebCore::PathEllipseInRect::extendBoundingRect const): (WebCore::PathEllipseInRect::addToImpl const): (WebCore::PathRect::calculateEndPoint const): (WebCore::PathRect::extendFastBoundingRect const): (WebCore::PathRect::extendBoundingRect const): (WebCore::PathRect::addToImpl const): (WebCore::PathRoundedRect::calculateEndPoint const): (WebCore::PathRoundedRect::extendFastBoundingRect const): (WebCore::PathRoundedRect::extendBoundingRect const): (WebCore::PathRoundedRect::addToImpl const): (WebCore::DataType2>::calculateEndPoint const): (WebCore::DataType2>::extendFastBoundingRect const): (WebCore::DataType2>::extendBoundingRect const): (WebCore::DataType2>::addToImpl const): (WebCore::DataType2>::applyElements const): * Source/WebCore/platform/graphics/PathSegmentData.h: Added. (WebCore::PathArcTo::applyElements const): (WebCore::PathArc::applyElements const): (WebCore::PathEllipse::applyElements const): (WebCore::PathEllipseInRect::applyElements const): (WebCore::PathRect::applyElements const): (WebCore::PathRoundedRect::applyElements const): (WebCore::operator<<): * Source/WebCore/platform/graphics/PathStream.cpp: Added. (WebCore::PathStream::create): (WebCore::PathStream::PathStream): (WebCore::PathStream::clone const): (WebCore::PathStream::operator== const): (WebCore::PathStream::mergeIntoComposite): (WebCore::PathStream::moveTo): (WebCore::PathStream::addLineTo): (WebCore::PathStream::addQuadCurveTo): (WebCore::PathStream::addBezierCurveTo): (WebCore::PathStream::addArcTo): (WebCore::PathStream::addArc): (WebCore::PathStream::addRect): (WebCore::PathStream::addEllipse): (WebCore::PathStream::addEllipseInRect): (WebCore::PathStream::addRoundedRect): (WebCore::PathStream::closeSubpath): (WebCore::PathStream::segments const): (WebCore::PathStream::applySegments const): (WebCore::PathStream::applyElements const): (WebCore::PathStream::singleSegment const): (WebCore::PathStream::singleDataType const): (WebCore::PathStream::singleDataLine const): (WebCore::PathStream::singleArc const): (WebCore::PathStream::singleQuadCurve const): (WebCore::PathStream::singleBezierCurve const): (WebCore::PathStream::isClosed const): (WebCore::PathStream::currentPoint const): (WebCore::PathStream::fastBoundingRect const): (WebCore::PathStream::boundingRect const): * Source/WebCore/platform/graphics/PathStream.h: Added. (isType): * Source/WebCore/platform/graphics/PlatformPath.h: Added. * Source/WebCore/platform/graphics/PlatformPathImpl.h: Added. * Source/WebCore/platform/graphics/RotationDirection.cpp: Renamed from Source/WebCore/platform/graphics/InlinePathData.h. (WebCore::operator<<): * Source/WebCore/platform/graphics/RotationDirection.h: Added. * Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm: (WebCore::PlatformCALayerCocoa::shapePath const): * Source/WebCore/platform/graphics/cairo/CairoOperations.cpp: (WebCore::Cairo::fillRectWithRoundedHole): (WebCore::Cairo::fillPath): (WebCore::Cairo::strokePath): (WebCore::Cairo::clipPath): * Source/WebCore/platform/graphics/cairo/CairoUtilities.cpp: (WebCore::appendWebCorePathToCairoContext): * Source/WebCore/platform/graphics/cairo/FontCairo.cpp: (WebCore::Font::platformPathForGlyph const): * Source/WebCore/platform/graphics/cairo/PathCairo.cpp: (WebCore::PathCairo::create): (WebCore::PathCairo::PathCairo): (WebCore::PathCairo::clone const): (WebCore::PathCairo::platformPath const): (WebCore::PathCairo::operator== const): (WebCore::PathCairo::moveTo): (WebCore::PathCairo::addLineTo): (WebCore::PathCairo::addQuadCurveTo): (WebCore::PathCairo::addBezierCurveTo): (WebCore::PathCairo::addArcTo): (WebCore::PathCairo::addArc): (WebCore::PathCairo::addEllipse): (WebCore::PathCairo::addEllipseInRect): (WebCore::PathCairo::addRect): (WebCore::PathCairo::addRoundedRect): (WebCore::PathCairo::closeSubpath): (WebCore::PathCairo::addPath): (WebCore::PathCairo::applySegments const): (WebCore::PathCairo::applyElements const): (WebCore::PathCairo::isEmpty const): (WebCore::PathCairo::currentPoint const): (WebCore::PathCairo::transform): (WebCore::PathCairo::contains const): (WebCore::PathCairo::strokeContains const): (WebCore::PathCairo::fastBoundingRect const): (WebCore::PathCairo::boundingRect const): (WebCore::PathCairo::strokeBoundingRect const): (WebCore::Path::Path): Deleted. (WebCore::Path::ensureCairoPath): Deleted. (WebCore::Path::operator=): Deleted. (WebCore::Path::clear): Deleted. (WebCore::Path::isEmptySlowCase const): Deleted. (WebCore::Path::currentPointSlowCase const): Deleted. (WebCore::Path::translate): Deleted. (WebCore::Path::appendElement): Deleted. (WebCore::Path::moveToSlowCase): Deleted. (WebCore::Path::addLineToSlowCase): Deleted. (WebCore::Path::addRect): Deleted. (WebCore::Path::addQuadCurveToSlowCase): Deleted. (WebCore::Path::addBezierCurveToSlowCase): Deleted. (WebCore::Path::addArcSlowCase): Deleted. (WebCore::Path::addArcTo): Deleted. (WebCore::Path::addEllipse): Deleted. (WebCore::Path::addPath): Deleted. (WebCore::Path::closeSubpath): Deleted. (WebCore::Path::boundingRectSlowCase const): Deleted. (WebCore::Path::strokeBoundingRect const): Deleted. (WebCore::Path::contains const): Deleted. (WebCore::Path::strokeContains const): Deleted. (WebCore::Path::applyIgnoringInlineData const): Deleted. (WebCore::Path::fastBoundingRectSlowCase const): Deleted. (WebCore::Path::transform): Deleted. (WebCore::Path::isNull const): Deleted. * Source/WebCore/platform/graphics/cairo/PathCairo.h: Added. (isType): * Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContextCG::drawEllipse): (WebCore::GraphicsContextCG::strokePath): * Source/WebCore/platform/graphics/cg/PathCG.cpp: (WebCore::PathCG::create): (WebCore::PathCG::PathCG): (WebCore::PathCG::clone const): (WebCore::PathCG::platformPath const): (WebCore::PathCG::ensureMutablePlatformPath): (WebCore::PathCG::operator== const): (WebCore::PathCG::moveTo): (WebCore::PathCG::addLineTo): (WebCore::PathCG::addQuadCurveTo): (WebCore::PathCG::addBezierCurveTo): (WebCore::PathCG::addArcTo): (WebCore::PathCG::addArc): (WebCore::PathCG::addEllipse): (WebCore::PathCG::addEllipseInRect): (WebCore::PathCG::addRect): (WebCore::addEvenCornersRoundedRect): (WebCore::addUnevenCornersRoundedRect): (WebCore::PathCG::addRoundedRect): (WebCore::PathCG::closeSubpath): (WebCore::PathCG::addPath): (WebCore::pathSegmentApplierCallback): (WebCore::PathCG::applySegments const): (WebCore::pathElementApplierCallback): (WebCore::PathCG::applyElements const): (WebCore::PathCG::isEmpty const): (WebCore::PathCG::currentPoint const): (WebCore::PathCG::transform): (WebCore::PathCG::contains const): (WebCore::putBytesNowhere): (WebCore::createScratchContext): (WebCore::scratchContext): (WebCore::PathCG::strokeContains const): (WebCore::PathCG::fastBoundingRect const): (WebCore::PathCG::boundingRect const): (WebCore::PathCG::strokeBoundingRect const): (WebCore::Path::polygonPathFromPoints): Deleted. (WebCore::Path::createCGPath const): Deleted. (WebCore::Path::Path): Deleted. (WebCore::Path::platformPath const): Deleted. (WebCore::Path::ensurePlatformPath): Deleted. (WebCore::Path::isNull const): Deleted. (WebCore::m_copyPathBeforeMutation): Deleted. (WebCore::Path::swap): Deleted. (WebCore::Path::operator=): Deleted. (WebCore::Path::contains const): Deleted. (WebCore::Path::strokeContains const): Deleted. (WebCore::Path::translate): Deleted. (WebCore::Path::transform): Deleted. (WebCore::Path::boundingRectSlowCase const): Deleted. (WebCore::Path::fastBoundingRectSlowCase const): Deleted. (WebCore::Path::strokeBoundingRect const): Deleted. (WebCore::Path::moveToSlowCase): Deleted. (WebCore::Path::addLineToSlowCase): Deleted. (WebCore::Path::addQuadCurveToSlowCase): Deleted. (WebCore::Path::addBezierCurveToSlowCase): Deleted. (WebCore::Path::addArcTo): Deleted. (WebCore::Path::platformAddPathForRoundedRect): Deleted. (WebCore::Path::closeSubpath): Deleted. (WebCore::Path::addArcSlowCase): Deleted. (WebCore::Path::addRect): Deleted. (WebCore::Path::addEllipse): Deleted. (WebCore::Path::addPath): Deleted. (WebCore::Path::clear): Deleted. (WebCore::Path::isEmptySlowCase const): Deleted. (WebCore::Path::currentPointSlowCase const): Deleted. (WebCore::CGPathApplierToPathApplier): Deleted. (WebCore::Path::applyIgnoringInlineData const): Deleted. (WebCore::Path::elementCountSlowCase const): Deleted. * Source/WebCore/platform/graphics/cg/PathCG.h: Added. (isType): * Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm: (WebCore::GraphicsContextCG::drawFocusRing): * Source/WebCore/platform/graphics/coretext/FontCoreText.cpp: (WebCore::Font::platformPathForGlyph const): * Source/WebCore/platform/graphics/displaylists/DisplayList.cpp: (WebCore::DisplayList::DisplayList::append): * Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp: (WebCore::DisplayList::ItemHandle::apply): (WebCore::DisplayList::ItemHandle::destroy): (WebCore::DisplayList::ItemHandle::safeCopy const): * Source/WebCore/platform/graphics/displaylists/DisplayListItemType.cpp: (WebCore::DisplayList::sizeOfItemInBytes): (WebCore::DisplayList::isDrawingItem): (WebCore::DisplayList::isInlineItem): * Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h: * Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp: (WebCore::DisplayList::FillPathSegment::apply const): (WebCore::DisplayList::StrokePathSegment::apply const): (WebCore::DisplayList::StrokeLine::apply const): (WebCore::DisplayList::operator<<): (WebCore::DisplayList::dumpItem): (WebCore::DisplayList::dumpItemHandle): * Source/WebCore/platform/graphics/displaylists/DisplayListItems.h: (WebCore::DisplayList::FillLine::FillLine): (WebCore::DisplayList::FillLine::path const): (WebCore::DisplayList::FillArc::FillArc): (WebCore::DisplayList::FillArc::path const): (WebCore::DisplayList::FillQuadCurve::FillQuadCurve): (WebCore::DisplayList::FillQuadCurve::path const): (WebCore::DisplayList::FillBezierCurve::FillBezierCurve): (WebCore::DisplayList::FillBezierCurve::path const): (WebCore::DisplayList::FillPathSegment::FillPathSegment): (WebCore::DisplayList::FillPathSegment::path const): (WebCore::DisplayList::StrokeLine::StrokeLine): (WebCore::DisplayList::StrokeArc::StrokeArc): (WebCore::DisplayList::StrokeArc::path const): (WebCore::DisplayList::StrokeQuadCurve::StrokeQuadCurve): (WebCore::DisplayList::StrokeQuadCurve::path const): (WebCore::DisplayList::StrokeBezierCurve::StrokeBezierCurve): (WebCore::DisplayList::StrokeBezierCurve::path const): (WebCore::DisplayList::StrokePathSegment::StrokePathSegment): (WebCore::DisplayList::StrokePathSegment::path const): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp: (WebCore::DisplayList::Recorder::fillPath): (WebCore::DisplayList::Recorder::strokePath): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h: * Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp: (WebCore::DisplayList::RecorderImpl::recordFillLine): (WebCore::DisplayList::RecorderImpl::recordFillArc): (WebCore::DisplayList::RecorderImpl::recordFillQuadCurve): (WebCore::DisplayList::RecorderImpl::recordFillBezierCurve): (WebCore::DisplayList::RecorderImpl::recordFillPathSegment): (WebCore::DisplayList::RecorderImpl::recordStrokeLine): (WebCore::DisplayList::RecorderImpl::recordStrokeLineWithColorAndThickness): (WebCore::DisplayList::RecorderImpl::recordStrokeArc): (WebCore::DisplayList::RecorderImpl::recordStrokeQuadCurve): (WebCore::DisplayList::RecorderImpl::recordStrokeBezierCurve): (WebCore::DisplayList::RecorderImpl::recordStrokePathSegment): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h: * Source/WebCore/platform/graphics/mac/controls/MenuListButtonMac.mm: (WebCore::MenuListButtonMac::draw): * Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp: (Nicosia::CairoOperationRecorder::fillEllipse): (Nicosia::CairoOperationRecorder::strokeEllipse): * Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp: (WebCore::MockRealtimeVideoSource::drawAnimation): * Source/WebCore/platform/network/cf/DNSResolveQueueCFNet.cpp: * Source/WebCore/rendering/BorderPainter.cpp: (WebCore::BorderPainter::clipBorderSidePolygon): (WebCore::BorderPainter::drawLineForBoxSide): * Source/WebCore/rendering/GlyphDisplayListCache.cpp: (WebCore::canShareDisplayListWithItem): * Source/WebCore/rendering/PathOperation.cpp: (WebCore::RayPathOperation::getPath const): * Source/WebCore/rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced): * Source/WebCore/rendering/RenderThemeAdwaita.cpp: (WebCore::RenderThemeAdwaita::paintSliderThumb): * Source/WebCore/rendering/RenderThemeIOS.mm: (WebCore::RenderThemeIOS::paintMenuListButtonDecorations): (WebCore::paintAttachmentProgress): (WebCore::RenderThemeIOS::paintRadio): (WebCore::RenderThemeIOS::paintMenuListButtonDecorationsWithFormControlRefresh): * Source/WebCore/rendering/TextBoxPainter.cpp: (WebCore::TextBoxPainter<TextBoxPath>::paint): (WebCore::TextBoxPainter<TextBoxPath>::paintBackgroundDecorations): (WebCore::TextBoxPainter<TextBoxPath>::paintForegroundDecorations): * Source/WebCore/rendering/TextPainter.cpp: (WebCore::TextPainter::paintTextAndEmphasisMarksIfNeeded): * Source/WebCore/rendering/TextPainter.h: (WebCore::rotation): * Source/WebCore/rendering/mathml/RenderMathMLMenclose.cpp: (WebCore::RenderMathMLMenclose::paint): * Source/WebCore/rendering/shapes/BoxShape.cpp: (WebCore::BoxShape::buildDisplayPaths const): * Source/WebCore/rendering/shapes/RectangleShape.cpp: (WebCore::RectangleShape::buildDisplayPaths const): * Source/WebCore/rendering/style/BasicShapes.cpp: (WebCore::EllipsePathPolicy::createValueForKey): (WebCore::PolygonPathPolicy::createValueForKey): * Source/WebCore/rendering/svg/LegacyRenderSVGPath.cpp: (WebCore::LegacyRenderSVGPath::zeroLengthLinecapPath const): (WebCore::LegacyRenderSVGPath::updateZeroLengthSubpaths): * Source/WebCore/rendering/svg/LegacyRenderSVGShape.cpp: (WebCore::LegacyRenderSVGShape::processMarkerPositions): * Source/WebCore/rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::zeroLengthLinecapPath const): (WebCore::RenderSVGPath::updateZeroLengthSubpaths): * Source/WebCore/rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::processMarkerPositions): * Source/WebCore/rendering/svg/SVGPathData.cpp: (WebCore::pathFromCircleElement): (WebCore::pathFromEllipseElement): (WebCore::pathFromRectElement): * Source/WebCore/svg/SVGPathUtilities.cpp: (WebCore::buildStringFromPath): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::pathStringWithShrinkWrappedRects): * Source/WebKit/CMakeLists.txt: * Source/WebKit/DerivedSources-input.xcfilelist: * Source/WebKit/DerivedSources.make: * Source/WebKit/GPUProcess/graphics/InlinePathData.serialization.in: Removed. * Source/WebKit/GPUProcess/graphics/PathSegment.serialization.in: Added. * Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::fillLine): (WebKit::RemoteDisplayListRecorder::fillArc): (WebKit::RemoteDisplayListRecorder::fillQuadCurve): (WebKit::RemoteDisplayListRecorder::fillBezierCurve): (WebKit::RemoteDisplayListRecorder::fillPathSegment): (WebKit::RemoteDisplayListRecorder::strokeLine): (WebKit::RemoteDisplayListRecorder::strokeLineWithColorAndThickness): (WebKit::RemoteDisplayListRecorder::strokeArc): (WebKit::RemoteDisplayListRecorder::strokeQuadCurve): (WebKit::RemoteDisplayListRecorder::strokeBezierCurve): (WebKit::RemoteDisplayListRecorder::strokePathSegment): * Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h: * Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in: * Source/WebKit/Scripts/webkit/messages.py: (types_that_cannot_be_forward_declared): (headers_for_type): * Source/WebKit/Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<Path>::encode): (IPC::ArgumentCoder<Path>::decode): * Source/WebKit/Shared/WebCoreArgumentCoders.h: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/ios/DragDropInteractionState.mm: (WebKit::DragDropInteractionState::previewForDragItem const): * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp: (WebKit::RemoteDisplayListRecorderProxy::recordFillLine): (WebKit::RemoteDisplayListRecorderProxy::recordFillArc): (WebKit::RemoteDisplayListRecorderProxy::recordFillQuadCurve): (WebKit::RemoteDisplayListRecorderProxy::recordFillBezierCurve): (WebKit::RemoteDisplayListRecorderProxy::recordFillPathSegment): (WebKit::RemoteDisplayListRecorderProxy::recordStrokeLine): (WebKit::RemoteDisplayListRecorderProxy::recordStrokeLineWithColorAndThickness): (WebKit::RemoteDisplayListRecorderProxy::recordStrokeArc): (WebKit::RemoteDisplayListRecorderProxy::recordStrokeQuadCurve): (WebKit::RemoteDisplayListRecorderProxy::recordStrokeBezierCurve): (WebKit::RemoteDisplayListRecorderProxy::recordStrokePathSegment): * Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm: (WebKit::PlatformCALayerRemote::updateClonedLayerProperties const): * Tools/TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp: (TestWebKitAPI::TEST): * Tools/TestWebKitAPI/Tests/WebCore/FloatRectTests.cpp: Canonical link: https://commits.webkit.org/265569@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes