[webkit-changes] [WebKit/WebKit] e1be83: Remove the libavif project
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e1be8349f2b4b5a4f2b225335e2e1e3421d92d1a https://github.com/WebKit/WebKit/commit/e1be8349f2b4b5a4f2b225335e2e1e3421d92d1a Author: Said Abou-Hallawa Date: 2024-08-06 (Tue, 06 Aug 2024) Changed paths: M Source/WebCore/Configurations/WebCore.xcconfig M Source/WebCore/PAL/Configurations/PAL.xcconfig M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj A Source/WebCore/PAL/ThirdParty/dav1d/CONTRIBUTING.md A Source/WebCore/PAL/ThirdParty/dav1d/COPYING A Source/WebCore/PAL/ThirdParty/dav1d/Configurations/Base.xcconfig A Source/WebCore/PAL/ThirdParty/dav1d/Configurations/BaseTarget.xcconfig A Source/WebCore/PAL/ThirdParty/dav1d/Configurations/DebugRelease.xcconfig A Source/WebCore/PAL/ThirdParty/dav1d/Configurations/bitdepth_16.xcconfig A Source/WebCore/PAL/ThirdParty/dav1d/Configurations/bitdepth_8.xcconfig A Source/WebCore/PAL/ThirdParty/dav1d/Configurations/dav1d.xcconfig A Source/WebCore/PAL/ThirdParty/dav1d/Configurations/dav1d_fuzzer.xcconfig A Source/WebCore/PAL/ThirdParty/dav1d/NEWS A Source/WebCore/PAL/ThirdParty/dav1d/README.md A Source/WebCore/PAL/ThirdParty/dav1d/THANKS.md A Source/WebCore/PAL/ThirdParty/dav1d/config.h A Source/WebCore/PAL/ThirdParty/dav1d/dav1d.xcodeproj/project.pbxproj A Source/WebCore/PAL/ThirdParty/dav1d/doc/Doxyfile.in A Source/WebCore/PAL/ThirdParty/dav1d/doc/PATENTS A Source/WebCore/PAL/ThirdParty/dav1d/doc/dav1d_logo.png A Source/WebCore/PAL/ThirdParty/dav1d/doc/dav1d_logo.svg A Source/WebCore/PAL/ThirdParty/dav1d/doc/meson.build A Source/WebCore/PAL/ThirdParty/dav1d/examples/dav1dplay.c A Source/WebCore/PAL/ThirdParty/dav1d/examples/dp_fifo.c A Source/WebCore/PAL/ThirdParty/dav1d/examples/dp_fifo.h A Source/WebCore/PAL/ThirdParty/dav1d/examples/dp_renderer.h A Source/WebCore/PAL/ThirdParty/dav1d/examples/dp_renderer_placebo.c A Source/WebCore/PAL/ThirdParty/dav1d/examples/dp_renderer_sdl.c A Source/WebCore/PAL/ThirdParty/dav1d/examples/meson.build A Source/WebCore/PAL/ThirdParty/dav1d/gcovr.cfg A Source/WebCore/PAL/ThirdParty/dav1d/include/common/attributes.h A Source/WebCore/PAL/ThirdParty/dav1d/include/common/bitdepth.h A Source/WebCore/PAL/ThirdParty/dav1d/include/common/dump.h A Source/WebCore/PAL/ThirdParty/dav1d/include/common/frame.h A Source/WebCore/PAL/ThirdParty/dav1d/include/common/intops.h A Source/WebCore/PAL/ThirdParty/dav1d/include/common/validate.h A Source/WebCore/PAL/ThirdParty/dav1d/include/compat/gcc/stdatomic.h A Source/WebCore/PAL/ThirdParty/dav1d/include/compat/getopt.h A Source/WebCore/PAL/ThirdParty/dav1d/include/compat/msvc/stdatomic.h A Source/WebCore/PAL/ThirdParty/dav1d/include/dav1d/common.h A Source/WebCore/PAL/ThirdParty/dav1d/include/dav1d/data.h A Source/WebCore/PAL/ThirdParty/dav1d/include/dav1d/dav1d.h A Source/WebCore/PAL/ThirdParty/dav1d/include/dav1d/headers.h A Source/WebCore/PAL/ThirdParty/dav1d/include/dav1d/meson.build A Source/WebCore/PAL/ThirdParty/dav1d/include/dav1d/picture.h A Source/WebCore/PAL/ThirdParty/dav1d/include/dav1d/version.h A Source/WebCore/PAL/ThirdParty/dav1d/include/dav1d/version.h.in A Source/WebCore/PAL/ThirdParty/dav1d/include/meson.build A Source/WebCore/PAL/ThirdParty/dav1d/include/vcs_version.h A Source/WebCore/PAL/ThirdParty/dav1d/include/vcs_version.h.in A Source/WebCore/PAL/ThirdParty/dav1d/meson.build A Source/WebCore/PAL/ThirdParty/dav1d/meson_options.txt A Source/WebCore/PAL/ThirdParty/dav1d/package/crossfiles/aarch64-android.meson A Source/WebCore/PAL/ThirdParty/dav1d/package/crossfiles/arm-android.meson A Source/WebCore/PAL/ThirdParty/dav1d/package/crossfiles/i686-linux32.meson A Source/WebCore/PAL/ThirdParty/dav1d/package/crossfiles/i686-w64-mingw32.meson A Source/WebCore/PAL/ThirdParty/dav1d/package/crossfiles/x86_64-w64-mingw32.meson A Source/WebCore/PAL/ThirdParty/dav1d/package/snap/snapcraft.yaml A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/cdef.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/cdef16.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/cdef_tmpl.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/filmgrain.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/filmgrain16.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/ipred.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/ipred16.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/itx.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/itx16.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/loopfilter.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/loopfilter16.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/looprestoration.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32/looprestoration16.S A Source/WebCore/PAL/ThirdParty/dav1d/src/arm/32
[webkit-changes] [WebKit/WebKit] ef6cd5: [Text Directionality] Setting `.value =` sometimes...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ef6cd5cc4e16ac3adf78d8b8481412e60d8c3266 https://github.com/WebKit/WebKit/commit/ef6cd5cc4e16ac3adf78d8b8481412e60d8c3266 Author: Said Abou-Hallawa Date: 2024-08-05 (Mon, 05 Aug 2024) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/html/dom/elements/global-attributes/dir-auto-form-associated.window-expected.txt M LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/elements/global-attributes/dir-auto-form-associated.window-expected.txt M LayoutTests/platform/wpe/imported/w3c/web-platform-tests/html/dom/elements/global-attributes/dir-auto-form-associated.window-expected.txt M Source/WebCore/html/HTMLInputElement.cpp Log Message: --- [Text Directionality] Setting `.value =` sometimes doesn't update dir=auto inputs https://bugs.webkit.org/show_bug.cgi?id=276873 rdar://132214207 Reviewed by Tim Nguyen. Like what we do when the `value` property of an element changes, we need to update the effective directionality when its `value` atttribute changes. * LayoutTests/imported/w3c/web-platform-tests/html/dom/elements/global-attributes/dir-auto-form-associated.window-expected.txt: * LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/elements/global-attributes/dir-auto-form-associated.window-expected.txt: * LayoutTests/platform/wpe/imported/w3c/web-platform-tests/html/dom/elements/global-attributes/dir-auto-form-associated.window-expected.txt: * Source/WebCore/html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::attributeChanged): Canonical link: https://commits.webkit.org/281877@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2f897e: REGRESSION(278195@main): A bitmap image may get th...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2f897eb8b8385adf9e4d3b9b975f71ba4b700f26 https://github.com/WebKit/WebKit/commit/2f897eb8b8385adf9e4d3b9b975f71ba4b700f26 Author: Said Abou-Hallawa Date: 2024-08-01 (Thu, 01 Aug 2024) Changed paths: M Source/WebCore/platform/graphics/BitmapImageDescriptor.cpp M Source/WebCore/platform/graphics/BitmapImageDescriptor.h M Source/WebCore/platform/graphics/BitmapImageSource.h M Source/WebCore/platform/graphics/ImageSource.h M Source/WebCore/platform/graphics/NativeImageSource.h Log Message: --- REGRESSION(278195@main): A bitmap image may get the size of a subsampled frame https://bugs.webkit.org/show_bug.cgi?id=277495 rdar://129703072 Reviewed by Simon Fraser. To get the size of an image, the default frame has to be queried from ImageDecoder. A subsampled frame should not be used to get the size of an image. * Source/WebCore/platform/graphics/BitmapImageDescriptor.cpp: (WebCore::BitmapImageDescriptor::primaryImageFrameMetadata const): (WebCore::BitmapImageDescriptor::sourceSize const): (WebCore::BitmapImageDescriptor::densityCorrectedSize const): * Source/WebCore/platform/graphics/BitmapImageDescriptor.h: * Source/WebCore/platform/graphics/BitmapImageSource.h: * Source/WebCore/platform/graphics/ImageSource.h: (WebCore::ImageSource::currentImageFrame): * Source/WebCore/platform/graphics/NativeImageSource.h: Canonical link: https://commits.webkit.org/281731@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b8296c: Remove unused member of CanvasGradient
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b8296c22c6a6ec69b4220fea37ed184b611689a9 https://github.com/WebKit/WebKit/commit/b8296c22c6a6ec69b4220fea37ed184b611689a9 Author: Said Abou-Hallawa Date: 2024-07-30 (Tue, 30 Jul 2024) Changed paths: M Source/WebCore/html/canvas/CanvasGradient.cpp M Source/WebCore/html/canvas/CanvasGradient.h M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp Log Message: --- Remove unused member of CanvasGradient https://bugs.webkit.org/show_bug.cgi?id=277292 rdar://132761528 Reviewed by Kimmo Kinnunen. After 279017@main, CanvasGradient does not have any use of its member m_context. * Source/WebCore/html/canvas/CanvasGradient.cpp: (WebCore::CanvasGradient::CanvasGradient): (WebCore::CanvasGradient::create): (WebCore::m_context): Deleted. * Source/WebCore/html/canvas/CanvasGradient.h: * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::createLinearGradient): (WebCore::CanvasRenderingContext2DBase::createRadialGradient): (WebCore::CanvasRenderingContext2DBase::createConicGradient): Canonical link: https://commits.webkit.org/281575@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] dd2e59: [macOS] fast/canvas/canvas-drawImage-hdr-video.htm...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: dd2e59c746607f827c842a6f0353d2fd4f09ed30 https://github.com/WebKit/WebKit/commit/dd2e59c746607f827c842a6f0353d2fd4f09ed30 Author: Said Abou-Hallawa Date: 2024-07-03 (Wed, 03 Jul 2024) Changed paths: M LayoutTests/TestExpectations M LayoutTests/fast/canvas/canvas-drawImage-hdr-video-expected.txt M LayoutTests/fast/canvas/canvas-drawImage-hdr-video.html M LayoutTests/platform/glib/TestExpectations M LayoutTests/platform/mac/TestExpectations M LayoutTests/platform/wincairo/TestExpectations Log Message: --- [macOS] fast/canvas/canvas-drawImage-hdr-video.html is constantly failing on Sequoia https://bugs.webkit.org/show_bug.cgi?id=276212 rdar://130628077 [Images] Unreviewed test gardening. In macOS Sequoia, the math for converting the HDR frame to SDR frame has been fixed. The behavior on macOS Sequoia is a progression for this test. So mark it as [ Skip ] on all ports but mark it as [ Pass ] for [ Sequoia+ ]. * LayoutTests/TestExpectations: * LayoutTests/fast/canvas/canvas-drawImage-hdr-video-expected.txt: * LayoutTests/fast/canvas/canvas-drawImage-hdr-video.html: * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/mac/TestExpectations: * LayoutTests/platform/wincairo/TestExpectations: Canonical link: https://commits.webkit.org/280659@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] da2348: REGRESSION(276827@main): Prevent BitmapImageSource...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: da23487493c641fe1aaa8404321875beae95b65f https://github.com/WebKit/WebKit/commit/da23487493c641fe1aaa8404321875beae95b65f Author: Said Abou-Hallawa Date: 2024-07-01 (Mon, 01 Jul 2024) Changed paths: M Source/WebCore/platform/graphics/BitmapImageSource.cpp Log Message: --- REGRESSION(276827@main): Prevent BitmapImageSource from accessing a null ImageDecoder https://bugs.webkit.org/show_bug.cgi?id=275999 rdar://129791964 Reviewed by Simon Fraser. Make BitmapImageSource more robust by checking m_decoder before accessing it. This was the behavior of the old BitmapImage/ImageSource code. * Source/WebCore/platform/graphics/BitmapImageSource.cpp: (WebCore::BitmapImageSource::encodedDataStatusChanged): (WebCore::BitmapImageSource::cacheMetadataAtIndex): (WebCore::BitmapImageSource::nativeImageAtIndexCacheIfNeeded): (WebCore::BitmapImageSource::nativeImageAtIndexRequestIfNeeded): Canonical link: https://commits.webkit.org/280540@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 38fb2e: REGRESSION(279769@main): It regressed the score of...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 38fb2ecadd89df8d6d7114cc2b030188d744aeb0 https://github.com/WebKit/WebKit/commit/38fb2ecadd89df8d6d7114cc2b030188d744aeb0 Author: Said Abou-Hallawa Date: 2024-06-23 (Sun, 23 Jun 2024) Changed paths: M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp Log Message: --- REGRESSION(279769@main): It regressed the score of MotionMark CanvasLines https://bugs.webkit.org/show_bug.cgi?id=275793 rdar://130373046 Reviewed by Per Arne Vollan. Call inflate() only when the dirtyRect is going to be used. * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::didDraw): Canonical link: https://commits.webkit.org/280295@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 13a397: REGRESSION(280148@main): It regressed the score of...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 13a39723d661c817cd9cd785062c20ba130444f7 https://github.com/WebKit/WebKit/commit/13a39723d661c817cd9cd785062c20ba130444f7 Author: Said Abou-Hallawa Date: 2024-06-22 (Sat, 22 Jun 2024) Changed paths: M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp Log Message: --- REGRESSION(280148@main): It regressed the score of MotionMark CanvasLines https://bugs.webkit.org/show_bug.cgi?id=275771 rdar://130319651 Reviewed by Per Arne Vollan. Like what we used to do before 280148@main, call Path::fastBoundingRect() only when the global filter is set. * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::fillInternal): (WebCore::CanvasRenderingContext2DBase::strokeInternal): Canonical link: https://commits.webkit.org/280282@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8e66e1: Enable GraphicsContext filters for Canvas filter
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8e66e149a07d0c405a6ab569513ca1e4692bbb6e https://github.com/WebKit/WebKit/commit/8e66e149a07d0c405a6ab569513ca1e4692bbb6e Author: Said Abou-Hallawa Date: 2024-06-20 (Thu, 20 Jun 2024) Changed paths: M Source/WebCore/html/canvas/CanvasLayerContextSwitcher.cpp M Source/WebCore/platform/graphics/GraphicsContextSwitcher.cpp M Source/WebCore/platform/graphics/ImageBuffer.cpp M Source/WebCore/platform/graphics/TransparencyLayerContextSwitcher.cpp M Source/WebCore/platform/graphics/TransparencyLayerContextSwitcher.h M Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp M Source/WebCore/platform/graphics/filters/FEColorMatrix.h M Source/WebCore/platform/graphics/filters/FEDropShadow.cpp M Source/WebCore/platform/graphics/filters/FEDropShadow.h M Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp M Source/WebCore/platform/graphics/filters/FEGaussianBlur.h M Source/WebCore/platform/graphics/filters/Filter.cpp M Source/WebCore/platform/graphics/filters/Filter.h M Source/WebCore/platform/graphics/filters/FilterEffect.cpp M Source/WebCore/platform/graphics/filters/FilterEffect.h M Source/WebCore/platform/graphics/filters/FilterFunction.h M Source/WebCore/rendering/CSSFilter.cpp M Source/WebCore/rendering/CSSFilter.h M Source/WebCore/svg/graphics/filters/SVGFilter.cpp M Source/WebCore/svg/graphics/filters/SVGFilter.h Log Message: --- Enable GraphicsContext filters for Canvas filter https://bugs.webkit.org/show_bug.cgi?id=275134 rdar://129249264 Reviewed by Dan Glastonbury. If the destination context has shadowsIgnoreTransforms() true, the sign of drop- shadow vertical offset has to be flipped when creating GraphicsDropShadow style. The destination GraphicsContext has to be passed all the way from TransparencyLayerContextSwitcher till FEDropShadow::createGraphicsStyle(). * Source/WebCore/html/canvas/CanvasLayerContextSwitcher.cpp: (WebCore::CanvasLayerContextSwitcher::create): * Source/WebCore/platform/graphics/GraphicsContextSwitcher.cpp: (WebCore::GraphicsContextSwitcher::create): * Source/WebCore/platform/graphics/ImageBuffer.cpp: (WebCore::ImageBuffer::filteredNativeImage): * Source/WebCore/platform/graphics/TransparencyLayerContextSwitcher.cpp: (WebCore::TransparencyLayerContextSwitcher::TransparencyLayerContextSwitcher): * Source/WebCore/platform/graphics/TransparencyLayerContextSwitcher.h: * Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp: (WebCore::FEColorMatrix::createGraphicsStyle const): * Source/WebCore/platform/graphics/filters/FEColorMatrix.h: * Source/WebCore/platform/graphics/filters/FEDropShadow.cpp: (WebCore::FEDropShadow::createGraphicsStyle const): (WebCore::FEDropShadow::createAcceleratedApplier const): Deleted. (WebCore::FEDropShadow::createSoftwareApplier const): Deleted. (WebCore::FEDropShadow::externalRepresentation const): Deleted. * Source/WebCore/platform/graphics/filters/FEDropShadow.h: * Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp: (WebCore::FEGaussianBlur::createGraphicsStyle const): * Source/WebCore/platform/graphics/filters/FEGaussianBlur.h: * Source/WebCore/platform/graphics/filters/Filter.cpp: (WebCore::Filter::createFilterStyles const): * Source/WebCore/platform/graphics/filters/Filter.h: * Source/WebCore/platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::createFilterStyles const): (WebCore::FilterEffect::createFilterStyle const): * Source/WebCore/platform/graphics/filters/FilterEffect.h: (WebCore::FilterEffect::createGraphicsStyle const): * Source/WebCore/platform/graphics/filters/FilterFunction.h: (WebCore::FilterFunction::createFilterStyles const): * Source/WebCore/rendering/CSSFilter.cpp: (WebCore::CSSFilter::createFilterStyles const): * Source/WebCore/rendering/CSSFilter.h: * Source/WebCore/svg/graphics/filters/SVGFilter.cpp: (WebCore::SVGFilter::createFilterStyles const): * Source/WebCore/svg/graphics/filters/SVGFilter.h: Canonical link: https://commits.webkit.org/280195@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2e6697: [LBSE] Implement support for filters
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2e6697f25fa78aa53674ff616810fae8e6dc503d https://github.com/WebKit/WebKit/commit/2e6697f25fa78aa53674ff616810fae8e6dc503d Author: Said Abou-Hallawa Date: 2024-06-19 (Wed, 19 Jun 2024) Changed paths: M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/rendering/RenderLayerFilters.cpp M Source/WebCore/rendering/RenderLayerModelObject.cpp M Source/WebCore/rendering/RenderLayerModelObject.h M Source/WebCore/rendering/RenderObject.h A Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp A Source/WebCore/rendering/svg/RenderSVGResourceFilter.h A Source/WebCore/rendering/svg/RenderSVGResourceFilterInlines.h A Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp A Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.h M Source/WebCore/rendering/svg/RenderSVGResourcePaintServer.h M Source/WebCore/rendering/svg/SVGBoundingBoxComputation.cpp M Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.h M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.h M Source/WebCore/rendering/svg/legacy/SVGResourcesCache.cpp M Source/WebCore/svg/SVGElement.cpp M Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp M Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp M Source/WebCore/svg/SVGFEDropShadowElement.cpp M Source/WebCore/svg/SVGFEGaussianBlurElement.cpp M Source/WebCore/svg/SVGFELightElement.cpp M Source/WebCore/svg/SVGFEMorphologyElement.cpp M Source/WebCore/svg/SVGFESpecularLightingElement.cpp M Source/WebCore/svg/SVGFilterElement.cpp M Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp M Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h Log Message: --- [LBSE] Implement support for filters https://bugs.webkit.org/show_bug.cgi?id=265140 rdar://118834403 Reviewed by Nikolas Zimmermann. Implement support for filters, based on the new paint server logic. The SVG element will be handled as CSS filter with one ReferenceFilterOperation. In future patches, the geometry of CSSFilter will be similar to the geometry of the current SVGFilter. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/rendering/RenderLayerFilters.cpp: (WebCore::RenderLayerFilters::beginFilterEffect): * Source/WebCore/rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::svgFilterResourceFromStyle const): * Source/WebCore/rendering/RenderLayerModelObject.h: * Source/WebCore/rendering/RenderObject.h: (WebCore::RenderObject::isRenderSVGHiddenContainer const): (WebCore::RenderObject::isLegacyRenderSVGResourceFilter const): (WebCore::RenderObject::isRenderSVGResourcePaintServer const): (WebCore::RenderObject::isLegacyRenderSVGResourceFilterPrimitive const): (WebCore::RenderObject::isRenderOrLegacyRenderSVGResourceFilterPrimitive const): * Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp: Copied from Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.h. (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter): (WebCore::RenderSVGResourceFilter::resourceBoundingBox): (WebCore::RenderSVGResourceFilter::invalidateFilter): * Source/WebCore/rendering/svg/RenderSVGResourceFilter.h: Copied from Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.h. * Source/WebCore/rendering/svg/RenderSVGResourceFilterInlines.h: Added. (WebCore::RenderSVGResourceFilter::filterElement const): (WebCore::RenderSVGResourceFilter::protectedFilterElement const): (WebCore::RenderSVGResourceFilter::filterUnits const): (WebCore::RenderSVGResourceFilter::primitiveUnits const): * Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.cpp: Copied from Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.h. (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): (WebCore::RenderSVGResourceFilterPrimitive::markFilterEffectForRepaint): (WebCore::RenderSVGResourceFilterPrimitive::markFilterEffectForRebuild): * Source/WebCore/rendering/svg/RenderSVGResourceFilterPrimitive.h: Copied from Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilterPrimitive.h. * Source/WebCore/rendering/svg/RenderSVGResourcePaintServer.h: (WebCore::RenderSVGResourcePaintServer::prepareFillOperation): (WebCore::RenderSVGResourcePaintServer::prepareStrokeOperation): * Source/WebCore/rendering/svg/SVGBoundingBoxComputation.cpp: (WebCore::SVGBoundingBoxComputation::adjustBoxForClippingAndEffects const): * Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp: (WebCore
[webkit-changes] [WebKit/WebKit] e15967: shadowsIgnoreTransforms should negate the vertical...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e159672b31de0bf6435bd68411a33eb58d84b170 https://github.com/WebKit/WebKit/commit/e159672b31de0bf6435bd68411a33eb58d84b170 Author: Said Abou-Hallawa Date: 2024-06-19 (Wed, 19 Jun 2024) Changed paths: M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp M Source/WebCore/platform/graphics/GraphicsContext.cpp M Source/WebCore/platform/graphics/GraphicsContext.h M Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp M Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp M Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp Log Message: --- shadowsIgnoreTransforms should negate the vertical shadowOffset on Cocoa ports only https://bugs.webkit.org/show_bug.cgi?id=275168 rdar://129291752 Reviewed by Kimmo Kinnunen. For Cocoa ports negate the vertical shadowOffset if shadowsIgnoreTransforms() is true. Remove the code from GraphicsContextCairo and GraphicsContextSkia which was double negating the vertical shadowOffset. * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::applyShadow): Source/WebCore/platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::platformShadowOffset const): * Source/WebCore/platform/graphics/GraphicsContext.h: * Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContextCairo::didUpdateState): * Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp: (WebCore::FontCascade::drawGlyphs): * Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContextSkia::createDropShadowFilterIfNeeded const): Canonical link: https://commits.webkit.org/280175@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2b7e3e: Support CanvasRenderingContext2D layers
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2b7e3e7edde7e861866efb5796cdcf6bedb513c1 https://github.com/WebKit/WebKit/commit/2b7e3e7edde7e861866efb5796cdcf6bedb513c1 Author: Said Abou-Hallawa Date: 2024-06-18 (Tue, 18 Jun 2024) Changed paths: A LayoutTests/fast/canvas/canvas-layer-alpha-drawing-expected.html A LayoutTests/fast/canvas/canvas-layer-alpha-drawing.html A LayoutTests/fast/canvas/canvas-layer-composite-drawing-expected.html A LayoutTests/fast/canvas/canvas-layer-composite-drawing.html A LayoutTests/fast/canvas/canvas-layer-drawing-expected.html A LayoutTests/fast/canvas/canvas-layer-drawing.html A LayoutTests/fast/canvas/canvas-layer-filter-drawing-expected.html A LayoutTests/fast/canvas/canvas-layer-filter-drawing.html A LayoutTests/fast/canvas/canvas-multiple-layer-filter-drawing-expected.html A LayoutTests/fast/canvas/canvas-multiple-layer-filter-drawing.html A LayoutTests/fast/canvas/canvas-multiple-nested-layer-filter-drawing-expected.html A LayoutTests/fast/canvas/canvas-multiple-nested-layer-filter-drawing.html M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/CMakeLists.txt M Source/WebCore/DerivedSources-input.xcfilelist M Source/WebCore/DerivedSources-output.xcfilelist M Source/WebCore/DerivedSources.make M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/html/canvas/CanvasFilterContextSwitcher.cpp A Source/WebCore/html/canvas/CanvasFilterContextSwitcher.h R Source/WebCore/html/canvas/CanvasFilterTargetSwitcher.cpp R Source/WebCore/html/canvas/CanvasFilterTargetSwitcher.h A Source/WebCore/html/canvas/CanvasLayerContextSwitcher.cpp A Source/WebCore/html/canvas/CanvasLayerContextSwitcher.h A Source/WebCore/html/canvas/CanvasLayers.idl M Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp M Source/WebCore/html/canvas/CanvasRenderingContext2D.h M Source/WebCore/html/canvas/CanvasRenderingContext2D.idl M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h M Source/WebCore/html/canvas/OffscreenCanvasRenderingContext2D.idl A Source/WebCore/platform/graphics/GraphicsContextSwitcher.cpp A Source/WebCore/platform/graphics/GraphicsContextSwitcher.h M Source/WebCore/platform/graphics/ImageBuffer.cpp A Source/WebCore/platform/graphics/ImageBufferContextSwitcher.cpp A Source/WebCore/platform/graphics/ImageBufferContextSwitcher.h A Source/WebCore/platform/graphics/TransparencyLayerContextSwitcher.cpp A Source/WebCore/platform/graphics/TransparencyLayerContextSwitcher.h R Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.cpp R Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.h R Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.cpp R Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.h R Source/WebCore/platform/graphics/filters/FilterTargetSwitcher.cpp R Source/WebCore/platform/graphics/filters/FilterTargetSwitcher.h M Source/WebCore/rendering/RenderLayerFilters.cpp M Source/WebCore/rendering/RenderLayerFilters.h M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceFilter.h Log Message: --- Support CanvasRenderingContext2D layers https://bugs.webkit.org/show_bug.cgi?id=273923 rdar://127789082 Reviewed by Kimmo Kinnunen. This is a draft patch for the canvas layers API. The discussion of this API is in https://github.com/whatwg/html/pull/9537. Unlike what is stated in the discussion above, this PR adds the filter to the layer rendering states. This means like other members in layer rendering state, the filter will be cleared out from the context state once beginLayer() is called. It will restored to the context state once endLayer() is called. Then the restored filter will be applied to the layer before compositing it to the canvas context. * LayoutTests/fast/canvas/canvas-layer-alpha-drawing-expected.html: Added. * LayoutTests/fast/canvas/canvas-layer-alpha-drawing.html: Added. * LayoutTests/fast/canvas/canvas-layer-composite-drawing-expected.html: Added. * LayoutTests/fast/canvas/canvas-layer-composite-drawing.html: Added. * LayoutTests/fast/canvas/canvas-layer-drawing-expected.html: Added. * LayoutTests/fast/canvas/canvas-layer-drawing.html: Added. * LayoutTests/fast/canvas/canvas-layer-filter-drawing-expected.html: Added. * LayoutTests/fast/canvas/canvas-layer-filter-drawing.html: Added. * LayoutTests/fast/canvas/canvas-multiple-layer-filter-drawing-expected.html: Added. * LayoutTests/fast/canvas/canvas-multiple-layer-filter-drawing.html: Added. * LayoutTests/fast/canvas/canvas-multiple-nested-layer-filter-drawing-expected.html: Added
[webkit-changes] [WebKit/WebKit] 5d58ef: [WPE][GTK] REGRESSION(279912@main): fast/canvas/ca...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5d58ef776121e63743ef363b09b6158adb97dbf0 https://github.com/WebKit/WebKit/commit/5d58ef776121e63743ef363b09b6158adb97dbf0 Author: Said Abou-Hallawa Date: 2024-06-17 (Mon, 17 Jun 2024) Changed paths: M LayoutTests/fast/canvas/canvas-filter-bounding-rect.html M LayoutTests/platform/glib/TestExpectations M Source/WebCore/html/canvas/CanvasFilterTargetSwitcher.cpp M Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h M Source/WebCore/html/canvas/PaintRenderingContext2D.h Log Message: --- [WPE][GTK] REGRESSION(279912@main): fast/canvas/canvas-filter-repaint-rect.html fails https://bugs.webkit.org/show_bug.cgi?id=275353 rdar://129719858 Reviewed by Kimmo Kinnunen. Before 279912@main, existingDrawingContext() was returning the destination context of the canvas if it exists. After 279912@main, existingDrawingContext() returns drawingContext() which may return the FilterTargetSwitcher context. This causes a problem when this function is called from RenderHTMLCanvas::requiresLayer() via isAccelerated(). Usually the canvas is backed by an accelerated ImageBuffer. But the filter target switcher is backed by un-accelerated ImageBuffer. So returning the RenderingMode of the target switcher will give the wrong answer to requiresLayer(). The fix is to restore the old behavior of drawingContext() back by returning the canvas destination context and creating it if it does not exist. Also add effectiveDrawingContext() which returns the FilterTargetSwitcher if it is active. Otherwise it returns drawingContext(). * LayoutTests/fast/canvas/canvas-filter-bounding-rect.html: * LayoutTests/platform/glib/TestExpectations: * Source/WebCore/html/canvas/CanvasFilterTargetSwitcher.cpp: (WebCore::CanvasFilterTargetSwitcher::create): (WebCore::CanvasFilterTargetSwitcher::~CanvasFilterTargetSwitcher): * Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createFilter const): (WebCore::CanvasRenderingContext2D::drawFocusIfNeededInternal): * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::setStrokeStyle): (WebCore::CanvasRenderingContext2DBase::setFillStyle): (WebCore::CanvasRenderingContext2DBase::setLineWidth): (WebCore::CanvasRenderingContext2DBase::setLineCap): (WebCore::CanvasRenderingContext2DBase::setLineJoin): (WebCore::CanvasRenderingContext2DBase::setMiterLimit): (WebCore::CanvasRenderingContext2DBase::applyLineDash const): (WebCore::CanvasRenderingContext2DBase::setGlobalAlpha): (WebCore::CanvasRenderingContext2DBase::setGlobalCompositeOperation): (WebCore::CanvasRenderingContext2DBase::scale): (WebCore::CanvasRenderingContext2DBase::rotate): (WebCore::CanvasRenderingContext2DBase::translate): (WebCore::CanvasRenderingContext2DBase::transform): (WebCore::CanvasRenderingContext2DBase::setTransform): (WebCore::CanvasRenderingContext2DBase::resetTransform): (WebCore::CanvasRenderingContext2DBase::fillInternal): (WebCore::CanvasRenderingContext2DBase::strokeInternal): (WebCore::CanvasRenderingContext2DBase::clipInternal): (WebCore::CanvasRenderingContext2DBase::beginCompositeLayer): (WebCore::CanvasRenderingContext2DBase::endCompositeLayer): (WebCore::CanvasRenderingContext2DBase::isPointInPathInternal): (WebCore::CanvasRenderingContext2DBase::isPointInStrokeInternal): (WebCore::CanvasRenderingContext2DBase::clearRect): (WebCore::CanvasRenderingContext2DBase::fillRect): (WebCore::CanvasRenderingContext2DBase::strokeRect): (WebCore::CanvasRenderingContext2DBase::applyShadow): (WebCore::CanvasRenderingContext2DBase::drawImage): (WebCore::CanvasRenderingContext2DBase::clearCanvas): (WebCore::CanvasRenderingContext2DBase::compositeBuffer): (WebCore::CanvasRenderingContext2DBase::fullCanvasCompositedDrawImage): (WebCore::CanvasRenderingContext2DBase::didDraw): (WebCore::CanvasRenderingContext2DBase::drawingContext const): (WebCore::CanvasRenderingContext2DBase::effectiveDrawingContext const): (WebCore::CanvasRenderingContext2DBase::setImageSmoothingQuality): (WebCore::CanvasRenderingContext2DBase::setImageSmoothingEnabled): (WebCore::CanvasRenderingContext2DBase::canDrawText): (WebCore::CanvasRenderingContext2DBase::drawTextUnchecked): * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h: * Source/WebCore/html/canvas/PaintRenderingContext2D.h: Canonical link: https://commits.webkit.org/280091@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 22ed0b: [CG] An Image with video source may allocate too m...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 22ed0bf86c1fb602cdc5de10b52eeb377fde7329 https://github.com/WebKit/WebKit/commit/22ed0bf86c1fb602cdc5de10b52eeb377fde7329 Author: Said Abou-Hallawa Date: 2024-06-11 (Tue, 11 Jun 2024) Changed paths: M Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h M Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm Log Message: --- [CG] An Image with video source may allocate too much memory for caching all the video frames https://bugs.webkit.org/show_bug.cgi?id=275331 rdar://126993116 Reviewed by Jer Noble. Both BitmapImageSource and ImageDecoderAVFObjC cache the decoded frames. When deleting the decoded frames, BitmapImageSource::destroyDecodedData() calls ImageDecoderAVFObjC::clearFrameBufferCache() to let it release any unnecessary cached data. But BitmapImageSource does not communicate what frames it actually released. So the caches in BitmapImageSource and ImageDecoderAVFObjC can get of sync. And ImageDecoderAVFObjC may end up holding many decoded frames which BitmapImageSource does not need. BitmapImageSource will ask ImageDecoderAVFObjC to re-decode any frame when it is needed. BitmapImageSource should not use too much memory for caching the decoded frames. ImageDecoderAVFObjC should cache only what is needed to decode the next frame. BitmapImageSource will always ask ImageDecoderAVFObjC to decode frames in order. The fix is to make ImageDecoderAVFObjC not cache any decoded frame and let BitmapImageSource be responsible for this. * Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h: * Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm: (WebCore::ImageDecoderAVFObjCSample::setAlpha): (WebCore::ImageDecoderAVFObjC::createFrameImageFromSampleBuffer): (WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex): (WebCore::ImageDecoderAVFObjCSample::image const): Deleted. (WebCore::ImageDecoderAVFObjCSample::setImage): Deleted. (WebCore::ImageDecoderAVFObjC::storeSampleBuffer): Deleted. (WebCore::ImageDecoderAVFObjC::clearFrameBufferCache): Deleted. Canonical link: https://commits.webkit.org/279926@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3b9db2: Fix build break after 279710@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3b9db2bc9385f42c8da8b1740771a055addfdebf https://github.com/WebKit/WebKit/commit/3b9db2bc9385f42c8da8b1740771a055addfdebf Author: Said Abou-Hallawa Date: 2024-06-04 (Tue, 04 Jun 2024) Changed paths: M Source/WebCore/platform/graphics/BitmapImageDescriptor.cpp Log Message: --- Fix build break after 279710@main https://bugs.webkit.org/show_bug.cgi?id=275128 rdar://129240808 Unreviewed build break fix. BitmapImageDescriptor holds a reference to BitmapImageSource. So use '.' instead of '->' operator to access m_source in shouldUseQuickLookForFullscreen(). * Source/WebCore/platform/graphics/BitmapImageDescriptor.cpp: (WebCore::BitmapImageDescriptor::shouldUseQuickLookForFullscreen const): Canonical link: https://commits.webkit.org/279716@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b6e2e8: Move BitmapImage metadata retrieving to a new clas...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b6e2e8c138383ce2f31e2c3b550246835682b577 https://github.com/WebKit/WebKit/commit/b6e2e8c138383ce2f31e2c3b550246835682b577 Author: Said Abou-Hallawa Date: 2024-06-04 (Tue, 04 Jun 2024) Changed paths: M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/platform/graphics/BitmapImageDescriptor.cpp A Source/WebCore/platform/graphics/BitmapImageDescriptor.h M Source/WebCore/platform/graphics/BitmapImageSource.cpp M Source/WebCore/platform/graphics/BitmapImageSource.h M Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp Log Message: --- Move BitmapImage metadata retrieving to a new class named BitmapImageDescriptor https://bugs.webkit.org/show_bug.cgi?id=274716 rdar://128738620 Reviewed by Cameron McCormack. This will decouple retrieving and caching the BitmapImage metadata from the heavy weight class BitmapImageSource. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/graphics/BitmapImageDescriptor.cpp: Added. (WebCore::BitmapImageDescriptor::BitmapImageDescriptor): (WebCore::BitmapImageDescriptor::imageMetadata const): (WebCore::BitmapImageDescriptor::primaryImageFrameMetadata const): (WebCore::BitmapImageDescriptor::primaryNativeImageMetadata const): (WebCore::BitmapImageDescriptor::encodedDataStatus const): (WebCore::BitmapImageDescriptor::size const): (WebCore::BitmapImageDescriptor::sourceSize const): (WebCore::BitmapImageDescriptor::densityCorrectedSize const): (WebCore::BitmapImageDescriptor::orientation const): (WebCore::BitmapImageDescriptor::primaryFrameIndex const): (WebCore::BitmapImageDescriptor::frameCount const): (WebCore::BitmapImageDescriptor::repetitionCount const): (WebCore::BitmapImageDescriptor::colorSpace const): (WebCore::BitmapImageDescriptor::singlePixelSolidColor const): (WebCore::BitmapImageDescriptor::uti const): (WebCore::BitmapImageDescriptor::filenameExtension const): (WebCore::BitmapImageDescriptor::accessibilityDescription const): (WebCore::BitmapImageDescriptor::hotSpot const): (WebCore::BitmapImageDescriptor::maximumSubsamplingLevel const): (WebCore::BitmapImageDescriptor::subsamplingLevelForScaleFactor const): (WebCore::BitmapImageDescriptor::shouldUseQuickLookForFullscreen const): (WebCore::BitmapImageDescriptor::dump const): * Source/WebCore/platform/graphics/BitmapImageDescriptor.h: Added. (WebCore::BitmapImageDescriptor::clear): * Source/WebCore/platform/graphics/BitmapImageSource.cpp: (WebCore::BitmapImageSource::BitmapImageSource): (WebCore::BitmapImageSource::dataChanged): (WebCore::BitmapImageSource::dump const): (WebCore::BitmapImageSource::imageMetadata const): Deleted. (WebCore::BitmapImageSource::primaryNativeImageMetadata const): Deleted. (WebCore::BitmapImageSource::primaryImageFrameMetadata const): Deleted. (WebCore::BitmapImageSource::encodedDataStatus const): Deleted. (WebCore::BitmapImageSource::size const): Deleted. (WebCore::BitmapImageSource::sourceSize const): Deleted. (WebCore::BitmapImageSource::densityCorrectedSize const): Deleted. (WebCore::BitmapImageSource::orientation const): Deleted. (WebCore::BitmapImageSource::primaryFrameIndex const): Deleted. (WebCore::BitmapImageSource::frameCount const): Deleted. (WebCore::BitmapImageSource::repetitionCount const): Deleted. (WebCore::BitmapImageSource::colorSpace const): Deleted. (WebCore::BitmapImageSource::singlePixelSolidColor const): Deleted. (WebCore::BitmapImageSource::uti const): Deleted. (WebCore::BitmapImageSource::filenameExtension const): Deleted. (WebCore::BitmapImageSource::accessibilityDescription const): Deleted. (WebCore::BitmapImageSource::hotSpot const): Deleted. (WebCore::BitmapImageSource::maximumSubsamplingLevel const): Deleted. (WebCore::BitmapImageSource::subsamplingLevelForScaleFactor): Deleted. (WebCore::BitmapImageSource::shouldUseQuickLookForFullscreen const): Deleted. * Source/WebCore/platform/graphics/BitmapImageSource.h: (WebCore::BitmapImageSource::decoderIfExists const): (WebCore::BitmapImageSource::frames const): (WebCore::BitmapImageSource::repetitionCount const): (WebCore::BitmapImageSource::encodedDataStatus const): (WebCore::BitmapImageSource::densityCorrectedSize const): (WebCore::BitmapImageSource::maximumSubsamplingLevel const): * Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp: Canonical link: https://commits.webkit.org/279710@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1f6b65: DOMMatrix.inverse() returns NaN matrix for small b...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1f6b653b2343f60efb7261d8c1502f2fd427cfa6 https://github.com/WebKit/WebKit/commit/1f6b653b2343f60efb7261d8c1502f2fd427cfa6 Author: Said Abou-Hallawa Date: 2024-05-31 (Fri, 31 May 2024) Changed paths: A LayoutTests/fast/css/matrix-small-values-inverse-expected.txt A LayoutTests/fast/css/matrix-small-values-inverse.html M Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp Log Message: --- DOMMatrix.inverse() returns NaN matrix for small but normal values https://bugs.webkit.org/show_bug.cgi?id=274834 rdar://128960283 Reviewed by Kimmo Kinnunen. Use std::isnormal(determinant) to check if DOMMatrix (or TransformationMatrix) isInvertible(). This will replace checking the determinant is less than a defined SMALL_NUMBER. * LayoutTests/fast/css/matrix-small-values-inverse-expected.txt: Added. * LayoutTests/fast/css/matrix-small-values-inverse.html: Added. * Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp: (WebCore::inverse): (WebCore::TransformationMatrix::isInvertible const): (WebCore::TransformationMatrix::inverse const): (WebCore::TransformationMatrix::isBackFaceVisible const): Canonical link: https://commits.webkit.org/279588@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bd4296: REGRESSION(276827@main): A large animated image wi...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bd4296e26d45bccca513cdf21af3a1f8fa51c229 https://github.com/WebKit/WebKit/commit/bd4296e26d45bccca513cdf21af3a1f8fa51c229 Author: Said Abou-Hallawa Date: 2024-05-29 (Wed, 29 May 2024) Changed paths: A LayoutTests/fast/images/animated-large-image-different-dest-size-expected.txt A LayoutTests/fast/images/animated-large-image-different-dest-size.html A LayoutTests/fast/images/resources/animated-red-green-blue-1000x1000-infinite.gif M Source/WebCore/platform/graphics/BitmapImage.h M Source/WebCore/platform/graphics/BitmapImageSource.cpp M Source/WebCore/platform/graphics/BitmapImageSource.h M Source/WebCore/platform/graphics/ImageSource.h M Source/WebCore/testing/Internals.cpp M Source/WebCore/testing/Internals.h M Source/WebCore/testing/Internals.idl Log Message: --- REGRESSION(276827@main): A large animated image will flicker if it's displayed multiple times with different sizes https://bugs.webkit.org/show_bug.cgi?id=274671 rdar://128557319 Reviewed by Simon Fraser. If the image is an animated image and the current frame is not available, we have no choice but to decode it synchronously. Otherwise, a flicker will happen. This was the BitmapImage::draw() behavior before 276827@main. * LayoutTests/fast/images/animated-large-image-different-dest-size-expected.txt: Added. * LayoutTests/fast/images/animated-large-image-different-dest-size.html: Added. * LayoutTests/fast/images/resources/animated-red-green-blue-1000x1000-infinite.gif: Added. * Source/WebCore/platform/graphics/BitmapImage.h: * Source/WebCore/platform/graphics/BitmapImageSource.cpp: (WebCore::BitmapImageSource::requestNativeImageAtIndexIfNeeded): (WebCore::BitmapImageSource::nativeImageAtIndexCacheIfNeeded): (WebCore::BitmapImageSource::nativeImageAtIndexRequestIfNeeded): (WebCore::BitmapImageSource::nativeImageAtIndexForDrawing): * Source/WebCore/platform/graphics/BitmapImageSource.h: (WebCore::BitmapImageSource::decodeCountForTesting const): Deleted. * Source/WebCore/platform/graphics/ImageSource.h: (WebCore::ImageSource::blankDrawCountForTesting const): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::imageBlankDrawCount): * Source/WebCore/testing/Internals.h: * Source/WebCore/testing/Internals.idl: Canonical link: https://commits.webkit.org/279483@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0cbfcb: fast/images/decode-render-animated-image.html is f...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0cbfcb62088bde6605bd69df7e94bc2e53d00eb9 https://github.com/WebKit/WebKit/commit/0cbfcb62088bde6605bd69df7e94bc2e53d00eb9 Author: Said Abou-Hallawa Date: 2024-05-28 (Tue, 28 May 2024) Changed paths: M LayoutTests/platform/mac-site-isolation/TestExpectations M LayoutTests/platform/wincairo/TestExpectations Log Message: --- fast/images/decode-render-animated-image.html is flaky image failure https://bugs.webkit.org/show_bug.cgi?id=271408 rdar://125573776 Unreviewed test gardening The test has been passing since 279153@main. Remove it from the test expectations. * LayoutTests/platform/mac-site-isolation/TestExpectations: * LayoutTests/platform/wincairo/TestExpectations: Canonical link: https://commits.webkit.org/279396@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6cd33f: Canvas drawImage() API does not throw an exception...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6cd33ff4b3a131cdb0b0061bc48daac568537fe4 https://github.com/WebKit/WebKit/commit/6cd33ff4b3a131cdb0b0061bc48daac568537fe4 Author: Said Abou-Hallawa Date: 2024-05-25 (Sat, 25 May 2024) Changed paths: M LayoutTests/http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled-expected.txt M LayoutTests/http/tests/lazyload/placeholder.js M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.nonexistent-expected.txt M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h Log Message: --- Canvas drawImage() API does not throw an exception when the image is in broken state https://bugs.webkit.org/show_bug.cgi?id=274575 rdar://128588063 Reviewed by Kimmo Kinnunen. If the image source is HTMLOrSVGImageElement and the image in a broken state, canvas drawImage() should throw an exception. Canvas image sources specifications: https://html.spec.whatwg.org/multipage/canvas.html#image-sources-for-2d-rendering-contexts * LayoutTests/http/tests/lazyload/lazy-image-load-in-iframes-scripting-disabled-expected.txt: * LayoutTests/http/tests/lazyload/placeholder.js: (is_image_fully_loaded): * LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.nonexistent-expected.txt: * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::drawImage): * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h: Canonical link: https://commits.webkit.org/279319@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d61c82: ImageFailure sometimes happen with fast/images/dec...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d61c828315d694a910352391aa51a1493b94aebb https://github.com/WebKit/WebKit/commit/d61c828315d694a910352391aa51a1493b94aebb Author: Said Abou-Hallawa Date: 2024-05-22 (Wed, 22 May 2024) Changed paths: M LayoutTests/fast/images/decode-render-animated-image.html Log Message: --- ImageFailure sometimes happen with fast/images/decode-render-animated-image.html https://bugs.webkit.org/show_bug.cgi?id=271408 rdar://125573776 Unreviewed test gardening Change the test to draw the first frame but call decode() for the following frames. This will make decode() behave the same way for all frames. It will call startAnimation() and wait for imageFrameAtIndexAvailable() to be called. * LayoutTests/fast/images/decode-render-animated-image.html: Canonical link: https://commits.webkit.org/279153@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] fab9c4: REGRESSION(276827@main): Large animated images may...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: fab9c4ba90cca1121a134d5f62c40ea28f9ff6f0 https://github.com/WebKit/WebKit/commit/fab9c4ba90cca1121a134d5f62c40ea28f9ff6f0 Author: Said Abou-Hallawa Date: 2024-05-21 (Tue, 21 May 2024) Changed paths: M Source/WebCore/platform/graphics/BitmapImageSource.cpp Log Message: --- REGRESSION(276827@main): Large animated images may not animate all the frames https://bugs.webkit.org/show_bug.cgi?id=274478 rdar://127697287 Reviewed by Simon Fraser. We used to postpone animating the image till loading the image is complete. The number of frames can only be known for sure when the loading the encoded data is complete. If we start animating before we get all the data, we may end up animating a small set of the image frames. The fix is to postpone animating the animated image till its encoded data is completely loaded. * Source/WebCore/platform/graphics/BitmapImageSource.cpp: (WebCore::BitmapImageSource::frameAnimator const): Canonical link: https://commits.webkit.org/279090@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 828ba3: [CG] Optimize getting the ImageFrame metadata
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 828ba37f8b033c4d0fc61f65f5abc40885b469df https://github.com/WebKit/WebKit/commit/828ba37f8b033c4d0fc61f65f5abc40885b469df Author: Said Abou-Hallawa Date: 2024-05-21 (Tue, 21 May 2024) Changed paths: M Source/WebCore/platform/graphics/BitmapImageSource.cpp M Source/WebCore/platform/graphics/ImageDecoder.cpp M Source/WebCore/platform/graphics/ImageDecoder.h M Source/WebCore/platform/graphics/ImageFrame.h M Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp M Source/WebCore/platform/graphics/cg/ImageDecoderCG.h M Source/WebCore/platform/image-decoders/ScalableImageDecoder.h Log Message: --- [CG] Optimize getting the ImageFrame metadata https://bugs.webkit.org/show_bug.cgi?id=274399 rdar://126232516 Reviewed by Simon Fraser. BitmapImageSource::cacheMetadataAtIndex() currently makes separate calls to ImageDecoder functions. Some of them calls CGImageSourceCopyPropertiesAtIndex() and we end up calling CGImageSourceCopyPropertiesAtIndex() multiple times. This can be optimized by adding ImageDecoder::frameMetadataAtIndex() which fills in the ImageFrame metadata. This way CGImageSourceCopyPropertiesAtIndex() will be called once and its CFDictionary will be used to retrieve all the ImageFrame metadata. * Source/WebCore/platform/graphics/BitmapImageSource.cpp: (WebCore::BitmapImageSource::cacheMetadataAtIndex): * Source/WebCore/platform/graphics/ImageDecoder.cpp: (WebCore::ImageDecoder::fetchFrameMetaDataAtIndex const): * Source/WebCore/platform/graphics/ImageDecoder.h: (WebCore::ImageDecoder::frameDensityCorrectedSizeAtIndex const): (WebCore::ImageDecoder::densityCorrectedSizeAtIndex const): Deleted. * Source/WebCore/platform/graphics/ImageFrame.h: * Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp: (WebCore::frameSizeFromProperties): (WebCore::ImageDecoderCG::encodedDataStatus const): (WebCore::ImageDecoderCG::hasAlpha const): (WebCore::ImageDecoderCG::frameSizeAtIndex const): (WebCore::ImageDecoderCG::frameOrientationAtIndex const): (WebCore::ImageDecoderCG::frameDensityCorrectedSizeAtIndex const): (WebCore::ImageDecoderCG::frameHasAlphaAtIndex const): (WebCore::ImageDecoderCG::fetchFrameMetaDataAtIndex const): (WebCore::ImageDecoderCG::decodeUTI): (WebCore::ImageDecoderCG::shouldUseQuickLookForFullscreen const): (WebCore::ImageDecoderCG::densityCorrectedSizeAtIndex const): Deleted. * Source/WebCore/platform/graphics/cg/ImageDecoderCG.h: * Source/WebCore/platform/image-decoders/ScalableImageDecoder.h: Canonical link: https://commits.webkit.org/279069@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5dd01b: Canvas drawImage should not alter the input source...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5dd01bad437e9caca054e7a6809ccf7281b70f4a https://github.com/WebKit/WebKit/commit/5dd01bad437e9caca054e7a6809ccf7281b70f4a Author: Said Abou-Hallawa Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: A LayoutTests/fast/canvas/canvas-drawImage-negative-coordinate-expected.html A LayoutTests/fast/canvas/canvas-drawImage-negative-coordinate.html A LayoutTests/fast/canvas/canvas-drawImage-out-of-bounds-coordinate-expected.html A LayoutTests/fast/canvas/canvas-drawImage-out-of-bounds-coordinate.html M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_canvas-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_html_image-expected.txt R LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/drawimage_canvas-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_canvas-expected.txt M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp Log Message: --- Canvas drawImage should not alter the input source or the destination rectangles https://bugs.webkit.org/show_bug.cgi?id=202457 rdar://127982607 Reviewed by Kimmo Kinnunen. The input source rectangle was incorrectly clipped to the image source rectangle. The specs [1] means copying the pixels from the image should be limited to the image source rectangle. This clipped is already handled by the drawing SDK. The input source and the destination rectangles should not be altered because they are used to scale the image when it is drawn to the canvas. [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-drawimage * LayoutTests/fast/canvas/canvas-drawImage-negative-coordinate-expected.html: Added. * LayoutTests/fast/canvas/canvas-drawImage-negative-coordinate.html: Added. * LayoutTests/fast/canvas/canvas-drawImage-out-of-bounds-coordinate-expected.html: Added. * LayoutTests/fast/canvas/canvas-drawImage-out-of-bounds-coordinate.html: Added. * LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_canvas-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_html_image-expected.txt: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/canvas/element/manual/drawing-images-to-the-canvas/drawimage_canvas-expected.txt: Renamed from LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/drawimage_canvas-expected.txt. * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::drawImage): (WebCore::normalizeSourceAndDestination): Deleted. Canonical link: https://commits.webkit.org/278807@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d86729: REGRESSION(278000@main): [Filters] CanvasFilters s...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d8672929f45bd6a13e8c0626710d16e71a136bf9 https://github.com/WebKit/WebKit/commit/d8672929f45bd6a13e8c0626710d16e71a136bf9 Author: Said Abou-Hallawa Date: 2024-05-15 (Wed, 15 May 2024) Changed paths: M Source/WebCore/html/canvas/CanvasFilters.idl Log Message: --- REGRESSION(278000@main): [Filters] CanvasFilters should be properly enabled and disabled by the setting https://bugs.webkit.org/show_bug.cgi?id=274185 rdar://127861271 Reviewed by Sam Weinig and Simon Fraser. Since the CanvasFilters feature is not marked `stable` yet, it should be an internal setting and it is marked as `disabled` be default. The attribute `filters` in CanvasFilters.idl is missing `EnabledBySetting=CanvasFiltersEnabled`. * Source/WebCore/html/canvas/CanvasFilters.idl: Canonical link: https://commits.webkit.org/278799@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 386d8d: REGRESSION(278304@main): Caused lower numbers on c...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 386d8d2d74f52fb6e600918fce23d4734d433959 https://github.com/WebKit/WebKit/commit/386d8d2d74f52fb6e600918fce23d4734d433959 Author: Said Abou-Hallawa Date: 2024-05-14 (Tue, 14 May 2024) Changed paths: R LayoutTests/fast/canvas/image-buffer-backend-count-limit-expected.txt R LayoutTests/fast/canvas/image-buffer-backend-count-limit.html M LayoutTests/platform/glib/TestExpectations M LayoutTests/platform/mac-wk1/TestExpectations M LayoutTests/platform/wincairo/TestExpectations M Source/WebKit/GPUProcess/RemoteSharedResourceCache.cpp M Source/WebKit/GPUProcess/RemoteSharedResourceCache.h M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp Log Message: --- REGRESSION(278304@main): Caused lower numbers on canvas sub-tests when rerunning MotionMark https://bugs.webkit.org/show_bug.cgi?id=274193 rdar://128019812 Unreviewed: This reverts commit 78038e7ea408ff3a2869d9394ba4dff327492d9c. Canvas tests fall back to unaccelerated rendering when rerunning MotionMark. Canonical link: https://commits.webkit.org/278790@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ac708f: Unreviewed: Fix build break after cherry-picking 2...
Branch: refs/heads/safari-7617.1.10-branch Home: https://github.com/WebKit/WebKit Commit: ac708f988ab48cad427c5a2a3b1b8268509c6cce https://github.com/WebKit/WebKit/commit/ac708f988ab48cad427c5a2a3b1b8268509c6cce Author: Said Abou-Hallawa Date: 2023-10-06 (Fri, 06 Oct 2023) Changed paths: M Source/WebCore/rendering/ReferencedSVGResources.cpp M Source/WebCore/rendering/ReferencedSVGResources.h M Source/WebCore/rendering/style/StyleCachedImage.cpp M Source/WebCore/rendering/style/StyleCachedImage.h M Source/WebCore/svg/graphics/SVGResourceImage.cpp M Source/WebCore/svg/graphics/SVGResourceImage.h Log Message: --- Unreviewed: Fix build break after cherry-picking 268629@main https://bugs.webkit.org/show_bug.cgi?id=260732 rdar://114465545 Replace references to LegacyRenderSVGResourceContainer by RenderSVGResourceContainer. * Source/WebCore/rendering/ReferencedSVGResources.cpp: (WebCore::ReferencedSVGResources::referencedRenderResource): * Source/WebCore/rendering/ReferencedSVGResources.h: * Source/WebCore/rendering/style/StyleCachedImage.cpp: (WebCore::StyleCachedImage::uncheckedRenderSVGResource const): (WebCore::StyleCachedImage::renderSVGResource const): * Source/WebCore/rendering/style/StyleCachedImage.h: * Source/WebCore/svg/graphics/SVGResourceImage.cpp: (WebCore::SVGResourceImage::create): (WebCore::SVGResourceImage::SVGResourceImage): * Source/WebCore/svg/graphics/SVGResourceImage.h: Canonical link: https://commits.webkit.org/267815.211@safari-7617-branch To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9e2447: Assertion may fail when repainting the RenderView ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9e2447a61281d50325e3a037455ad6a3b8cd7d7e https://github.com/WebKit/WebKit/commit/9e2447a61281d50325e3a037455ad6a3b8cd7d7e Author: Said Abou-Hallawa Date: 2024-05-13 (Mon, 13 May 2024) Changed paths: M Source/WebCore/rendering/RenderElement.cpp M Source/WebCore/rendering/RenderElement.h M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/RenderObject.cpp M Source/WebCore/rendering/RenderObject.h Log Message: --- Assertion may fail when repainting the RenderView of an SVGImage https://bugs.webkit.org/show_bug.cgi?id=273803 rdar://127102474 Reviewed by Chris Dumez. Sometimes repainting the RenderView of an SVGImage is associated with changing the SVGImage source. This would delete the SVGImage and all its render tree which includes the repainted RenderView itself. RenderLayer::recursiveUpdateLayerPositions() should not hold a CheckedPtr to the repainted renderer because the renderer might be physically deleted while calling RenderElement::repaintAfterLayoutIfNeeded() which happens before deleting the CheckedPtr itself. The fix is make RenderObject::repaintUsingContainer() take a WeakPtr to the repainted renderer. So this WeakPtr pointer is nullified once it is deleted. It also can be checked before it is referenced. * Source/WebCore/rendering/RenderElement.cpp: (WebCore::RenderElement::repaintAfterLayoutIfNeeded): * Source/WebCore/rendering/RenderElement.h: * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::recursiveUpdateLayerPositions): * Source/WebCore/rendering/RenderObject.cpp: (WebCore::RenderObject::repaintUsingContainer const): * Source/WebCore/rendering/RenderObject.h: Canonical link: https://commits.webkit.org/278734@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3d68c0: REGRESSION(275291@main): Some AVIF images in ford....
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3d68c0149da5cbe662ccbc996d62b52a76eab11a https://github.com/WebKit/WebKit/commit/3d68c0149da5cbe662ccbc996d62b52a76eab11a Author: Said Abou-Hallawa Date: 2024-05-08 (Wed, 08 May 2024) Changed paths: M Source/WebCore/PAL/ThirdParty/libavif/src/read.c Log Message: --- REGRESSION(275291@main): Some AVIF images in ford.com are not displayed on macOS Monterey https://bugs.webkit.org/show_bug.cgi?id=273902 rdar://126883177 Reviewed by Per Arne Vollan. This caused by the commit 5ff8f49de0537fd9c6ec23fa7489b435a5e07b32 which was included in 275291@main. This commit 2790a811a2c5a688f633f4e1431d02507425e355 revertedd this change. WebKit needs to port the revert to get this bug fixed. * Source/WebCore/PAL/ThirdParty/libavif/src/read.c: (avifMetaFindOrCreateItem): (avifParseItemLocationBox): (avifParseItemPropertyAssociation): (avifParseItemInfoEntry): (avifParseItemReferenceBox): (avifParseCondensedImageBox): Canonical link: https://commits.webkit.org/278535@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 803a4e: Revert "Assert hit in WebKit::RemoteImageBuffer::g...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 803a4e01df61ad093f83ef7d6fde92f87ac04fff https://github.com/WebKit/WebKit/commit/803a4e01df61ad093f83ef7d6fde92f87ac04fff Author: Said Abou-Hallawa Date: 2024-05-06 (Mon, 06 May 2024) Changed paths: R LayoutTests/ipc/send-gpu-GetShareableBitmap-RemoteRenderingBackend-expected.txt R LayoutTests/ipc/send-gpu-GetShareableBitmap-RemoteRenderingBackend.html M Source/WebCore/Headers.cmake M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/platform/graphics/ImageBuffer.cpp M Source/WebCore/platform/graphics/ImageBuffer.h R Source/WebCore/platform/graphics/PixelFormatValidated.cpp R Source/WebCore/platform/graphics/PixelFormatValidated.h M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp M Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h M Tools/TestWebKitAPI/Tests/WebCore/DisplayListRecorderTests.cpp Log Message: --- Revert "Assert hit in WebKit::RemoteImageBuffer::getShareableBitmap" rdar://127422298 Reviewed by Simon Fraser. This reverts commit 393949a1c17caf79bfdab86b7b0a5fc9cf603ea9. It caused bad rendering on NYT. Canonical link: https://commits.webkit.org/278413@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 711b43: [ Ventura ] css3/filters/effect-drop-shadow-clip-a...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 711b431d67041d8f1b27bb8c9793b5c6ca49506c https://github.com/WebKit/WebKit/commit/711b431d67041d8f1b27bb8c9793b5c6ca49506c Author: Said Abou-Hallawa Date: 2024-05-01 (Wed, 01 May 2024) Changed paths: M LayoutTests/css3/filters/effect-drop-shadow-clip-abspos.html M LayoutTests/platform/mac-wk2/TestExpectations Log Message: --- [ Ventura ] css3/filters/effect-drop-shadow-clip-abspos.html(layout-tests) is a constant IMAGE failure https://bugs.webkit.org/show_bug.cgi?id=273419 rdar://127155318 [Filters] Unreviewed test gardening * LayoutTests/css3/filters/effect-drop-shadow-clip-abspos.html: * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/278236@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d3fc36: REGRESSION (272891@main): [ Sonoma wk1 ] 3 tests i...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d3fc36c7d5eb0ad8630af11137d9b522a65c6399 https://github.com/WebKit/WebKit/commit/d3fc36c7d5eb0ad8630af11137d9b522a65c6399 Author: Said Abou-Hallawa Date: 2024-04-30 (Tue, 30 Apr 2024) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/css-filters-animation-grayscale.html M LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/css-filters-animation-sepia.html M LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/filters-grayscale-001-test.html M LayoutTests/platform/mac-wk1/TestExpectations Log Message: --- REGRESSION (272891@main): [ Sonoma wk1 ] 3 tests in imported/w3c/web-platform-tests/css/filter-effects are constant failures https://bugs.webkit.org/show_bug.cgi?id=270199 rdar://123723468 [Filters] Unreviewed test gardening Add enough pixel tolerance to three of the WPT tests. * LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/css-filters-animation-grayscale.html: * LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/css-filters-animation-sepia.html: * LayoutTests/imported/w3c/web-platform-tests/css/filter-effects/filters-grayscale-001-test.html: * LayoutTests/platform/mac-wk1/TestExpectations: Canonical link: https://commits.webkit.org/278205@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f644ba: REGRESSION(276827@main): Some animated images that...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f644ba89b026744cb4a61f931d75c006847960ed https://github.com/WebKit/WebKit/commit/f644ba89b026744cb4a61f931d75c006847960ed Author: Said Abou-Hallawa Date: 2024-04-30 (Tue, 30 Apr 2024) Changed paths: A LayoutTests/fast/images/animated-gif-sub-sample-expected.html A LayoutTests/fast/images/animated-gif-sub-sample.html A LayoutTests/fast/images/resources/3720-2584-animated-black.gif M LayoutTests/platform/mac-wk1/TestExpectations M Source/WebCore/platform/graphics/BitmapImageSource.cpp M Source/WebCore/platform/graphics/BitmapImageSource.h Log Message: --- REGRESSION(276827@main): Some animated images that used to work no longer work https://bugs.webkit.org/show_bug.cgi?id=273457 rdar://127133070 Reviewed by Simon Fraser. Like before 276827@main, make frameAtIndexCacheIfNeeded() take an optional SubsamplingLevel. This pramater should not affect the cached NativeImage if it is std::nullopt. * LayoutTests/fast/images/animated-gif-sub-sample-expected.html: Added. * LayoutTests/fast/images/animated-gif-sub-sample.html: Added. * LayoutTests/fast/images/resources/3720-2584-animated-black.gif: Added. * LayoutTests/platform/mac-wk1/TestExpectations: * Source/WebCore/platform/graphics/BitmapImageSource.cpp: (WebCore::BitmapImageSource::frameAtIndexCacheIfNeeded): * Source/WebCore/platform/graphics/BitmapImageSource.h: Canonical link: https://commits.webkit.org/278195@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5712bc: REGRESSION (268354@main): [ macOS wk1 ] fast/hidpi...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5712bc351f464c88865e202418fece3ea9f4d6b2 https://github.com/WebKit/WebKit/commit/5712bc351f464c88865e202418fece3ea9f4d6b2 Author: Said Abou-Hallawa Date: 2024-04-29 (Mon, 29 Apr 2024) Changed paths: M LayoutTests/fast/hidpi/filters-drop-shadow.html M LayoutTests/platform/mac-wk1/TestExpectations Log Message: --- REGRESSION (268354@main): [ macOS wk1 ] fast/hidpi/filters-drop-shadow.html is a consistent failure with image diff https://bugs.webkit.org/show_bug.cgi?id=270380 rdar://123922421 [Filters] Unreviewed test gardening Make the pixel tolerance of the test to be a range. * LayoutTests/fast/hidpi/filters-drop-shadow.html: * LayoutTests/platform/mac-wk1/TestExpectations: Canonical link: https://commits.webkit.org/278121@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 222707: Support CanvasRenderingContext2D.filter
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 222707e7516546a71f05f9f58374a2bc727c https://github.com/WebKit/WebKit/commit/222707e7516546a71f05f9f58374a2bc727c Author: Said Abou-Hallawa Date: 2024-04-25 (Thu, 25 Apr 2024) Changed paths: A LayoutTests/fast/canvas/canvas-filter-basics-expected.txt A LayoutTests/fast/canvas/canvas-filter-basics.html A LayoutTests/fast/canvas/canvas-filter-bounding-rect-expected.html A LayoutTests/fast/canvas/canvas-filter-bounding-rect.html A LayoutTests/fast/canvas/canvas-filter-drawing-expected.html A LayoutTests/fast/canvas/canvas-filter-drawing.html A LayoutTests/fast/canvas/canvas-filter-repaint-rect-expected.html A LayoutTests/fast/canvas/canvas-filter-repaint-rect.html A LayoutTests/fast/canvas/canvas-filter-save-restore-expected.html A LayoutTests/fast/canvas/canvas-filter-save-restore.html A LayoutTests/fast/canvas/resources/100x100-green-rect-filter-blur.svg A LayoutTests/fast/canvas/resources/100x100-green-rect-filter-drop-shadow.svg R LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject-expected.txt R LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.blur.exceptions-expected.txt R LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.colorMatrix-expected.txt R LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.componentTransfer.discrete-expected.txt R LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.componentTransfer.gamma-expected.txt R LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.componentTransfer.identity-expected.txt R LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.componentTransfer.linear-expected.txt R LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.componentTransfer.table-expected.txt R LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.tentative-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/filters/2d.filter.value-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/canvas/element/reset/2d.reset.state.filter-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.tentative-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.tentative.worker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/filters/2d.filter.value-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/filters/2d.filter.value.worker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/reset/2d.reset.state.filter-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/canvas/offscreen/reset/2d.reset.state.filter.worker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.https_exclude=(Document_Window_HTML._)-expected.txt M LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.https_exclude=(Document_Window_HTML._)-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt M LayoutTests/platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/css/parser/CSSPropertyParserWorkerSafe.cpp M Source/WebCore/css/parser/CSSPropertyParserWorkerSafe.h A Source/WebCore/html/canvas/CanvasFilterTargetSwitcher.cpp A Source/WebCore/html/canvas/CanvasFilterTargetSwitcher.h M Source/WebCore/html/canvas/CanvasFilters.idl M Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp M Source/WebCore/html/canvas/CanvasRenderingContext2D.h M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h M Source/WebCore/platform/RectEdges.h M Source/WebCore/platform/graphics/FloatRect.h Log Message: --- Support CanvasRenderingContext2D.filter https://bugs.webkit.org/show_bug.cgi?id=198416 rdar://51303686 Reviewed by Simon Fraser. This implements
[webkit-changes] [WebKit/WebKit] 3dcddc: Clearing BitmapImage decoded frames should should ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3dcddc14fce35b4e931b22ebf69470ceb0d09dcb https://github.com/WebKit/WebKit/commit/3dcddc14fce35b4e931b22ebf69470ceb0d09dcb Author: Said Abou-Hallawa Date: 2024-04-23 (Tue, 23 Apr 2024) Changed paths: M Source/WebCore/platform/graphics/BitmapImageSource.cpp Log Message: --- Clearing BitmapImage decoded frames should should not overflow https://bugs.webkit.org/show_bug.cgi?id=273098 rdar://126591872 Reviewed by Simon Fraser. When destroying the decoded frames, BitmapImageSource::destroyDecodedData() should loop through the frames Vector only and do not assume its size is be the same as frameCount. * Source/WebCore/platform/graphics/BitmapImageSource.cpp: (WebCore::BitmapImageSource::destroyDecodedData): Canonical link: https://commits.webkit.org/277875@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] da9231: Make CachedImage calculate allowsOrientationOverri...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: da92319fd54b5cf9dcbe546135204314df8ea4f8 https://github.com/WebKit/WebKit/commit/da92319fd54b5cf9dcbe546135204314df8ea4f8 Author: Said Abou-Hallawa Date: 2024-04-22 (Mon, 22 Apr 2024) Changed paths: M Source/WebCore/html/HTMLImageElement.cpp M Source/WebCore/loader/cache/CachedImage.cpp M Source/WebCore/loader/cache/CachedImage.h Log Message: --- Make CachedImage calculate allowsOrientationOverride when loading the image is complete https://bugs.webkit.org/show_bug.cgi?id=272690 rdar://126495895 Reviewed by Cameron McCormack. Cache the value of allowsOrientationOverride when the image is loaded and reuse the cached value instead of recalculating it every time it is needed. * Source/WebCore/html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::allowsOrientationOverride const): * Source/WebCore/loader/cache/CachedImage.cpp: (WebCore::CachedImage::CachedImage): (WebCore::CachedImage::clearImage): (WebCore::CachedImage::finishLoading): * Source/WebCore/loader/cache/CachedImage.h: Canonical link: https://commits.webkit.org/277830@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 44bd3d: REGRESSION (277494@main): [ MacOS ] inspector/canv...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 44bd3d3ef3671e0bc16ac3dd3317dd608db04ee3 https://github.com/WebKit/WebKit/commit/44bd3d3ef3671e0bc16ac3dd3317dd608db04ee3 Author: Said Abou-Hallawa Date: 2024-04-16 (Tue, 16 Apr 2024) Changed paths: M LayoutTests/inspector/canvas/context-attributes-expected.txt M LayoutTests/platform/mac/TestExpectations Log Message: --- REGRESSION (277494@main): [ MacOS ] inspector/canvas/context-attributes.html is a consistent failure https://bugs.webkit.org/show_bug.cgi?id=272706 rdar://126509990 Unreviewed test gardening. `willReadFrequently` is now an attribute of `CanvasRenderingContext2D`. * LayoutTests/inspector/canvas/context-attributes-expected.txt: * LayoutTests/platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/277554@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4a9fc9: REGRESSION (276827@main): BitmapImageSource may ou...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4a9fc932842d8047416f9c92551d741cdcaf34fc https://github.com/WebKit/WebKit/commit/4a9fc932842d8047416f9c92551d741cdcaf34fc Author: Said Abou-Hallawa Date: 2024-04-11 (Thu, 11 Apr 2024) Changed paths: M Source/WebCore/platform/graphics/BitmapImageSource.cpp M Source/WebCore/platform/graphics/BitmapImageSource.h Log Message: --- REGRESSION (276827@main): BitmapImageSource may outlive its creator BitmapImage https://bugs.webkit.org/show_bug.cgi?id=272486 rdar://126113651 Reviewed by Simon Fraser. Before 276827@main ImageSource used to hold a raw pointer BitmapImage and it had function to clear this pointer when BitmapImage is destroyed. Moreover ImageSource methods used to check the nullability of this pointer before using it. A similar life time relationship needs to be applied to BitmapImageSource and BitmapImage. * Source/WebCore/platform/graphics/BitmapImageSource.cpp: (WebCore::BitmapImageSource::BitmapImageSource): (WebCore::BitmapImageSource::decoder const): (WebCore::BitmapImageSource::encodedDataStatusChanged): (WebCore::BitmapImageSource::decodedSizeChanged): (WebCore::BitmapImageSource::canDestroyDecodedData const): (WebCore::BitmapImageSource::resetData): (WebCore::BitmapImageSource::isAnimationAllowed const): (WebCore::BitmapImageSource::imageFrameAtIndexAvailable): (WebCore::BitmapImageSource::imageObserver const): (WebCore::BitmapImageSource::mimeType const): (WebCore::BitmapImageSource::expectedContentLength const): (WebCore::BitmapImageSource::sourceUTF8 const): * Source/WebCore/platform/graphics/BitmapImageSource.h: Canonical link: https://commits.webkit.org/277375@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cb5290: REGRESSION(267236@main): SVG may incorrectly be cl...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cb5290644a69386cd51a1cc1f8d681f2d275a631 https://github.com/WebKit/WebKit/commit/cb5290644a69386cd51a1cc1f8d681f2d275a631 Author: Said Abou-Hallawa Date: 2024-04-10 (Wed, 10 Apr 2024) Changed paths: A LayoutTests/svg/filters/filter-on-root-tile-boundary-expected.html A LayoutTests/svg/filters/filter-on-root-tile-boundary.html M Source/WebCore/platform/graphics/filters/FilterOperations.cpp M Source/WebCore/platform/graphics/filters/FilterOperations.h M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/svg/SVGRenderingContext.cpp Log Message: --- REGRESSION(267236@main): SVG may incorrectly be clipped when an SVGFilter is applied to its root https://bugs.webkit.org/show_bug.cgi?id=265465 rdar://118938065 Reviewed by Nikolas Zimmermann. Ensure the SVGFilter is applied only once to the RenderSVGRoot through the SVG rendering code. But use the RenderLayerFilters to repaint the referenced SVGFilter clients when its effects are changed. * LayoutTests/svg/filters/filter-on-root-tile-boundary-expected.html: Added. * LayoutTests/svg/filters/filter-on-root-tile-boundary.html: Added. * Source/WebCore/platform/graphics/filters/FilterOperations.cpp: (WebCore::FilterOperations::isReferenceFilter const): * Source/WebCore/platform/graphics/filters/FilterOperations.h: * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintsWithFilters const): (WebCore::RenderLayer::calculateClipRects const): * Source/WebCore/rendering/svg/SVGRenderingContext.cpp: (WebCore::SVGRenderingContext::prepareToRenderSVGContent): Canonical link: https://commits.webkit.org/277325@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d4196b: REGRESSION (276827@main): [ MacOS wk1 Debug ] tabl...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d4196b8983b54794fd5536ae218f161241ace610 https://github.com/WebKit/WebKit/commit/d4196b8983b54794fd5536ae218f161241ace610 Author: Said Abou-Hallawa Date: 2024-04-04 (Thu, 04 Apr 2024) Changed paths: M LayoutTests/platform/mac-wk1/TestExpectations M Source/WebCore/platform/graphics/ImageFrameAnimator.cpp Log Message: --- REGRESSION (276827@main): [ MacOS wk1 Debug ] tables/mozilla/bugs/bug4576.html is a flaky crash (272128) https://bugs.webkit.org/show_bug.cgi?id=272128 rdar://125879096 Reviewed by Simon Fraser. This assertion happens with DumpRenderTree on EWS only. It looks like there is an animated image which is being decoded. But the animation of this image is reset because a new page is loaded in the same WebProcess. When finishing the decoding, the decoding thread returns the decoded frame to the BitmapImageSource which sends it to ImageFrameAnimator. The ImageFrameAnimator sees that the animation has not started yet on this page so the assertion fires. An speculative fix is to change the assertion to an if-statement and make ImageFrameAnimator returns false to BitmapImageSource in this case. * LayoutTests/platform/mac-wk1/TestExpectations: * Source/WebCore/platform/graphics/ImageFrameAnimator.cpp: (WebCore::ImageFrameAnimator::imageFrameDecodeAtIndexHasFinished): Canonical link: https://commits.webkit.org/277068@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 34d1f9: REGRESSION (276827@main): When drawing a pattern, ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 34d1f9aabb7b81a29b2a314e2a939c358bb655a1 https://github.com/WebKit/WebKit/commit/34d1f9aabb7b81a29b2a314e2a939c358bb655a1 Author: Said Abou-Hallawa Date: 2024-04-01 (Mon, 01 Apr 2024) Changed paths: M Source/WebCore/platform/graphics/BitmapImageSource.cpp Log Message: --- REGRESSION (276827@main): When drawing a pattern, get the oriented image frame only if the orientation is not TopLeft https://bugs.webkit.org/show_bug.cgi?id=271977 rdar://125731142 Reviewed by Mike Wyrzykowski. If the passed orientation is FromImage, resolve the current orientation before checking its value to the oriented ImageFrame. * Source/WebCore/platform/graphics/BitmapImageSource.cpp: (WebCore::BitmapImageSource::preTransformedNativeImageAtIndex): Canonical link: https://commits.webkit.org/276902@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8b78e0: Decouple BitmapImage sources and main functions in...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8b78e07f7be5805e58bc1858db1ee8a6e6a7a15d https://github.com/WebKit/WebKit/commit/8b78e07f7be5805e58bc1858db1ee8a6e6a7a15d Author: Said Abou-Hallawa Date: 2024-03-29 (Fri, 29 Mar 2024) Changed paths: M LayoutTests/fast/images/async-image-background-image-repeated.html M LayoutTests/fast/images/async-image-composited-show.html M LayoutTests/fast/images/async-image-intersect-different-size-for-drawing-expected.txt M LayoutTests/fast/images/decode-render-animated-image-expected.html M LayoutTests/fast/images/decode-render-animated-image.html M LayoutTests/platform/ios/fast/images/async-image-intersect-different-size-for-drawing-expected.txt M LayoutTests/platform/mac-wk1/TestExpectations M LayoutTests/platform/mac-wk2/TestExpectations M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/html/ImageBitmap.cpp M Source/WebCore/loader/ImageLoader.cpp M Source/WebCore/loader/cache/CachedImage.cpp M Source/WebCore/loader/cache/CachedImage.h M Source/WebCore/loader/cache/CachedImageClient.h M Source/WebCore/platform/cocoa/DragImageCocoa.mm M Source/WebCore/platform/graphics/BitmapImage.cpp M Source/WebCore/platform/graphics/BitmapImage.h A Source/WebCore/platform/graphics/BitmapImageSource.cpp A Source/WebCore/platform/graphics/BitmapImageSource.h M Source/WebCore/platform/graphics/Image.cpp M Source/WebCore/platform/graphics/Image.h M Source/WebCore/platform/graphics/ImageAdapter.cpp M Source/WebCore/platform/graphics/ImageDecoder.h M Source/WebCore/platform/graphics/ImageFrame.cpp M Source/WebCore/platform/graphics/ImageFrame.h A Source/WebCore/platform/graphics/ImageFrameAnimator.cpp A Source/WebCore/platform/graphics/ImageFrameAnimator.h A Source/WebCore/platform/graphics/ImageFrameWorkQueue.cpp A Source/WebCore/platform/graphics/ImageFrameWorkQueue.h M Source/WebCore/platform/graphics/ImageObserver.h M Source/WebCore/platform/graphics/ImageSource.cpp M Source/WebCore/platform/graphics/ImageSource.h M Source/WebCore/platform/graphics/NativeImage.h A Source/WebCore/platform/graphics/NativeImageSource.cpp A Source/WebCore/platform/graphics/NativeImageSource.h M Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h M Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp M Source/WebCore/platform/graphics/cairo/GraphicsContextGLCairo.cpp M Source/WebCore/platform/graphics/cairo/NativeImageCairo.cpp M Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp M Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp M Source/WebCore/platform/graphics/cg/ImageDecoderCG.h M Source/WebCore/platform/graphics/cg/NativeImageCG.cpp M Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp M Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h M Source/WebCore/platform/graphics/gtk/ImageAdapterGtk.cpp M Source/WebCore/platform/graphics/mac/ImageAdapterMac.mm M Source/WebCore/platform/graphics/skia/GraphicsContextGLSkia.cpp M Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp M Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp M Source/WebCore/platform/graphics/texmap/TextureMapperTile.cpp M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp M Source/WebCore/platform/gtk/DragImageGtk.cpp M Source/WebCore/platform/image-decoders/ScalableImageDecoder.h M Source/WebCore/platform/win/cairo/DragImageWinCairo.cpp M Source/WebCore/rendering/RenderBoxModelObject.cpp M Source/WebCore/rendering/RenderElement.h M Source/WebCore/rendering/RenderLayerBacking.cpp M Source/WebCore/svg/SVGFEImageElement.cpp M Source/WebCore/svg/graphics/SVGImageForContainer.cpp M Source/WebCore/svg/graphics/SVGImageForContainer.h M Source/WebCore/testing/Internals.cpp M Source/WebKit/UIProcess/API/glib/IconDatabase.cpp M Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp M Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp M Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.h M Tools/TestWebKitAPI/Tests/WebCore/SVGImageCasts.cpp Log Message: --- Decouple BitmapImage sources and main functions into separate classes https://bugs.webkit.org/show_bug.cgi?id=265363 rdar://118819338 Reviewed by Cameron McCormack. The BitmapImage and ImageSource manage the operations and the queries of the bitmap image. The current interface and the code structure of these two classes and the relationship between them make it difficult and risky to hack. This purpose of this refactor is to provide
[webkit-changes] [WebKit/WebKit] 4c3caa: REGRESSION (273978@main): JPEG2000 Images in this ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4c3caa5b7d5d1bb40f73483c3c947edddb93871e https://github.com/WebKit/WebKit/commit/4c3caa5b7d5d1bb40f73483c3c947edddb93871e Author: Said Abou-Hallawa Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: A LayoutTests/pdf/unifiedpdf/images/jpeg2000-embed-pdf-expected.html A LayoutTests/pdf/unifiedpdf/images/jpeg2000-embed-pdf.html A LayoutTests/pdf/unifiedpdf/resources/400x400-green-jpeg2000.pdf M Source/WebCore/platform/graphics/cg/UTIRegistry.cpp Log Message: --- REGRESSION (273978@main): JPEG2000 Images in this PDF fail to display https://bugs.webkit.org/show_bug.cgi?id=271726 rdar://125291465 Reviewed by Simon Fraser. JPEG2000 can be supported only in PDF plugin, embedded objects and images. But it should still be disabled anywhere else. * LayoutTests/pdf/unifiedpdf/images/jpeg2000-embed-pdf-expected.html: Added. * LayoutTests/pdf/unifiedpdf/images/jpeg2000-embed-pdf.html: Added. * LayoutTests/pdf/unifiedpdf/resources/400x400-green-jpeg2000.pdf: Added. * Source/WebCore/platform/graphics/cg/UTIRegistry.cpp: (WebCore::allowableImageTypes): Canonical link: https://commits.webkit.org/276734@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4a2e65: REGRESSION (276513@main): [ iOS ] fast/images/asyn...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4a2e6597ff86a77e9a33d18d240b22df74bac6cb https://github.com/WebKit/WebKit/commit/4a2e6597ff86a77e9a33d18d240b22df74bac6cb Author: Said Abou-Hallawa Date: 2024-03-26 (Tue, 26 Mar 2024) Changed paths: M LayoutTests/fast/images/async-image-intersect-different-size-for-drawing-expected.txt M LayoutTests/fast/images/async-image-intersect-different-size-for-drawing.html M LayoutTests/platform/ios-wk2/TestExpectations A LayoutTests/platform/ios-wk2/fast/images/async-image-intersect-different-size-for-drawing-expected.txt Log Message: --- REGRESSION (276513@main): [ iOS ] fast/images/async-image-intersect-different-size-for-drawing.html is a consistent failure https://bugs.webkit.org/show_bug.cgi?id=271669 rdar://125372071 Unreviewed test gardening. Since WKTR run in 2x on iOS simulator, we need to add a platform iOS expected results for this test. * LayoutTests/fast/images/async-image-intersect-different-size-for-drawing-expected.txt: * LayoutTests/fast/images/async-image-intersect-different-size-for-drawing.html: * LayoutTests/platform/ios-wk2/TestExpectations: * LayoutTests/platform/ios-wk2/fast/images/async-image-intersect-different-size-for-drawing-expected.txt: Added. Canonical link: https://commits.webkit.org/276703@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6e1d49: REGRESSION (272891@main): [ Sonoma wk1 ] css3/filt...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6e1d49a57856d28899c09cdf6a1fc8ea8d14fb11 https://github.com/WebKit/WebKit/commit/6e1d49a57856d28899c09cdf6a1fc8ea8d14fb11 Author: Said Abou-Hallawa Date: 2024-03-25 (Mon, 25 Mar 2024) Changed paths: M LayoutTests/css3/filters/effect-sepia-square-expected.html M LayoutTests/css3/filters/effect-sepia-square.html M LayoutTests/platform/mac-wk1/TestExpectations Log Message: --- REGRESSION (272891@main): [ Sonoma wk1 ] css3/filters/effect-sepia-square.html is a consistent failure https://bugs.webkit.org/show_bug.cgi?id=271479 rdar://125249572 [Filters] Unreviewed test gardening. Adjust the pixel tolerance of this test. There is only 1/255 difference between the RGB channels of the result from those of the the expected. * LayoutTests/css3/filters/effect-sepia-square-expected.html: * LayoutTests/css3/filters/effect-sepia-square.html: * LayoutTests/platform/mac-wk1/TestExpectations: Canonical link: https://commits.webkit.org/27@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 238ec6: Avoid flickering when showing a layer on a painted...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 238ec677929193ee5fa48b504a09fdce55633145 https://github.com/WebKit/WebKit/commit/238ec677929193ee5fa48b504a09fdce55633145 Author: Said Abou-Hallawa Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M LayoutTests/TestExpectations M Source/WebCore/loader/cache/CachedImage.h M Source/WebCore/platform/graphics/BitmapImage.cpp M Source/WebCore/platform/graphics/BitmapImage.h M Source/WebCore/platform/graphics/ImageObserver.h M Source/WebCore/rendering/RenderBoxModelObject.cpp M Source/WebCore/testing/Internals.cpp Log Message: --- Avoid flickering when showing a layer on a painted background for the first time by disabling async image decoding https://bugs.webkit.org/show_bug.cgi?id=270330 rdar://117533495 Reviewed by Simon Fraser; If an image is decoded asynchronously for a sizeForDrawing different from the current one, a flicker may happen. To avoid this flicker, decode the image synchronously if it has more than one RenderElement in the page and the last time it was decoded asynchronously. * LayoutTests/TestExpectations: * Source/WebCore/loader/cache/CachedImage.h: * Source/WebCore/platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::draw): (WebCore::BitmapImage::lastDecodingOptions const): (WebCore::BitmapImage::lastDecodingOptionsForTesting const): Deleted. * Source/WebCore/platform/graphics/BitmapImage.h: * Source/WebCore/platform/graphics/ImageObserver.h: (WebCore::ImageObserver::numberOfClients const): * Source/WebCore/rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::decodingModeForImageDraw const): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::imageLastDecodingOptions): Canonical link: https://commits.webkit.org/276513@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 81c32d: Add an internal API to return the last DecodingOpt...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 81c32dcdf889206dd5f1709058eab565c0798153 https://github.com/WebKit/WebKit/commit/81c32dcdf889206dd5f1709058eab565c0798153 Author: Said Abou-Hallawa Date: 2024-03-21 (Thu, 21 Mar 2024) Changed paths: M LayoutTests/TestExpectations A LayoutTests/fast/images/async-image-intersect-different-size-for-drawing-expected.txt A LayoutTests/fast/images/async-image-intersect-different-size-for-drawing.html M Source/WebCore/platform/graphics/BitmapImage.cpp M Source/WebCore/platform/graphics/BitmapImage.h M Source/WebCore/testing/Internals.cpp M Source/WebCore/testing/Internals.h M Source/WebCore/testing/Internals.idl Log Message: --- Add an internal API to return the last DecodingOptions of an image https://bugs.webkit.org/show_bug.cgi?id=271355 rdar://125133851 Reviewed by Simon Fraser. This will help ensuing the decoding mode heuristics are working as expected. The layout test is expected to fail. It will be unskipped by the fix of bug 270330. * LayoutTests/TestExpectations: * LayoutTests/fast/images/async-image-intersect-different-size-for-drawing-expected.txt: Added. * LayoutTests/fast/images/async-image-intersect-different-size-for-drawing.html: Added. * Source/WebCore/platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::draw): (WebCore::BitmapImage::lastDecodingOptionsForTesting const): * Source/WebCore/platform/graphics/BitmapImage.h: * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::imageLastDecodingOptions): * Source/WebCore/testing/Internals.h: * Source/WebCore/testing/Internals.idl: Canonical link: https://commits.webkit.org/276451@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d1f63c: [iOS] Increase the limit on the canvas size to 819...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d1f63c061eadee6c83dc9fa06a2725c3d099a86b https://github.com/WebKit/WebKit/commit/d1f63c061eadee6c83dc9fa06a2725c3d099a86b Author: Said Abou-Hallawa Date: 2024-03-15 (Fri, 15 Mar 2024) Changed paths: A LayoutTests/fast/canvas/canvas-size-minimum-limit-expected.txt A LayoutTests/fast/canvas/canvas-size-minimum-limit.html M LayoutTests/platform/ios/compositing/canvas/accelerated-canvas-compositing-size-limit-expected.txt M LayoutTests/platform/ios/fast/canvas/canvas-toDataURL-crash-expected.txt M LayoutTests/platform/ios/fast/canvas/image-buffer-backend-variants-expected.txt M LayoutTests/platform/ios/fast/canvas/offscreen-giant-transfer-to-imagebitmap-expected.txt M LayoutTests/platform/ios/fast/canvas/pattern-too-large-to-create-expected.txt M LayoutTests/platform/ios/fast/canvas/resize-to-large-canvas-and-convert-to-blog-expected.txt M Source/WebCore/html/CanvasBase.cpp Log Message: --- [iOS] Increase the limit on the canvas size to 8192x8192 https://bugs.webkit.org/show_bug.cgi?id=271002 rdar://122230873 Reviewed by Chris Dumez. The maximum size of the canvas on iOS has been 4096x4096. The jetsam limit on iOS has been raised. So we can safely double the limit on the canvas size on iOS. * LayoutTests/fast/canvas/canvas-size-minimum-limit-expected.txt: Added. * LayoutTests/fast/canvas/canvas-size-minimum-limit.html: Added. * LayoutTests/platform/ios/compositing/canvas/accelerated-canvas-compositing-size-limit-expected.txt: * LayoutTests/platform/ios/fast/canvas/canvas-toDataURL-crash-expected.txt: * LayoutTests/platform/ios/fast/canvas/image-buffer-backend-variants-expected.txt: * LayoutTests/platform/ios/fast/canvas/offscreen-giant-transfer-to-imagebitmap-expected.txt: * LayoutTests/platform/ios/fast/canvas/pattern-too-large-to-create-expected.txt: * LayoutTests/platform/ios/fast/canvas/resize-to-large-canvas-and-convert-to-blog-expected.txt: * Source/WebCore/html/CanvasBase.cpp: (WebCore::maxCanvasArea): Canonical link: https://commits.webkit.org/276145@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 345ed1: [AVIF Downlevels] Allow pixi property to be missin...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 345ed1bf70a2508e18652a003f3ec26a1e272016 https://github.com/WebKit/WebKit/commit/345ed1bf70a2508e18652a003f3ec26a1e272016 Author: Said Abou-Hallawa Date: 2024-03-03 (Sun, 03 Mar 2024) Changed paths: M Source/WebCore/platform/image-decoders/avif/AVIFImageReader.cpp Log Message: --- [AVIF Downlevels] Allow pixi property to be missing in AVIF images https://bugs.webkit.org/show_bug.cgi?id=270180 rdar://116808395 Reviewed by Cameron McCormack. If an image is missing the pixi property, decoding its frames will fail because we enable AVIF_STRICT_PIXI_REQUIRED when avifDecoder is created. So we need to remove this restriction to be compatible with newer OSs and other browsers. * Source/WebCore/platform/image-decoders/avif/AVIFImageReader.cpp: (WebCore::AVIFImageReader::AVIFImageReader): Canonical link: https://commits.webkit.org/275608@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d102bc: Downstream libavif 1.0.3
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d102bc345038f90db9ed1f3d16c42f4843f33f7c https://github.com/WebKit/WebKit/commit/d102bc345038f90db9ed1f3d16c42f4843f33f7c Author: Said Abou-Hallawa Date: 2024-02-24 (Sat, 24 Feb 2024) Changed paths: M Source/WebCore/PAL/ThirdParty/libavif/CHANGELOG.md M Source/WebCore/PAL/ThirdParty/libavif/CMakeLists.txt M Source/WebCore/PAL/ThirdParty/libavif/Configurations/BaseTarget.xcconfig M Source/WebCore/PAL/ThirdParty/libavif/LICENSE M Source/WebCore/PAL/ThirdParty/libavif/README.md A Source/WebCore/PAL/ThirdParty/libavif/SECURITY.md M Source/WebCore/PAL/ThirdParty/libavif/android_jni/README.md M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/build.gradle M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/proguard-rules.pro A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/AndroidManifest.xml A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/README.md A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/animated_avif/Chimera-AV1-10bit-480x270.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/animated_avif/alpha_video.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/blue-and-magenta-crop.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile0.10bpc.yuv420.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile0.10bpc.yuv420.monochrome.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile0.8bpc.yuv420.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile0.8bpc.yuv420.monochrome.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile1.10bpc.yuv444.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile1.8bpc.yuv444.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.10bpc.yuv422.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.12bpc.yuv420.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.12bpc.yuv420.monochrome.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.12bpc.yuv422.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.12bpc.yuv444.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/assets/avif/fox.profile2.8bpc.yuv422.avif A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/java/org/aomedia/avif/android/AvifDecoderTest.java A Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/androidTest/proguard-rules.pro M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/main/AndroidManifest.xml M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/main/java/org/aomedia/avif/android/AvifDecoder.java M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/main/jni/CMakeLists.txt M Source/WebCore/PAL/ThirdParty/libavif/android_jni/avifandroidjni/src/main/jni/libavif_jni.cc M Source/WebCore/PAL/ThirdParty/libavif/android_jni/build.gradle A Source/WebCore/PAL/ThirdParty/libavif/android_jni/gradle/wrapper/gradle-wrapper.jar M Source/WebCore/PAL/ThirdParty/libavif/android_jni/gradle/wrapper/gradle-wrapper.properties M Source/WebCore/PAL/ThirdParty/libavif/apps/avifdec.c M Source/WebCore/PAL/ThirdParty/libavif/apps/avifenc.c A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/.clang-format A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/avifgainmaputil.cc A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/combine_command.cc A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/combine_command.h A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/convert_command.cc A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/convert_command.h A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/extractgainmap_command.cc A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/extractgainmap_command.h A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/imageio.cc A Source/WebCore/PAL/ThirdParty/libavif/apps/avifgainmaputil/imageio.h
[webkit-changes] [WebKit/WebKit] 243190: REGRESSION (272891@main): [ MacOS ] css3/filters/e...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 24319063fa8e8162a2a7a87e118d8a4026ecee9e https://github.com/WebKit/WebKit/commit/24319063fa8e8162a2a7a87e118d8a4026ecee9e Author: Said Abou-Hallawa Date: 2024-02-21 (Wed, 21 Feb 2024) Changed paths: M LayoutTests/css3/filters/effect-sepia.html Log Message: --- REGRESSION (272891@main): [ MacOS ] css3/filters/effect-sepia.html is a constant failure https://bugs.webkit.org/show_bug.cgi?id=269797 rdar://123320516 [Filters] Unreviewed test gardening Increase the pixel tolerance of the test. * LayoutTests/css3/filters/effect-sepia.html: Canonical link: https://commits.webkit.org/275107@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 055031: Decouple BitmapImage sources and main functions in...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 055031e5c8a8c3d3cdba879e28556a2ae0ad519a https://github.com/WebKit/WebKit/commit/055031e5c8a8c3d3cdba879e28556a2ae0ad519a Author: Said Abou-Hallawa Date: 2024-02-15 (Thu, 15 Feb 2024) Changed paths: M LayoutTests/fast/images/async-image-background-image-repeated.html M LayoutTests/fast/images/async-image-composited-show.html M LayoutTests/fast/images/decode-render-animated-image-expected.html M LayoutTests/fast/images/decode-render-animated-image.html M LayoutTests/platform/mac-wk1/TestExpectations M LayoutTests/platform/mac-wk2/TestExpectations M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/html/ImageBitmap.cpp M Source/WebCore/loader/ImageLoader.cpp M Source/WebCore/loader/cache/CachedImage.cpp M Source/WebCore/loader/cache/CachedImage.h M Source/WebCore/loader/cache/CachedImageClient.h M Source/WebCore/platform/cocoa/DragImageCocoa.mm M Source/WebCore/platform/graphics/BitmapImage.cpp M Source/WebCore/platform/graphics/BitmapImage.h A Source/WebCore/platform/graphics/BitmapImageSource.cpp A Source/WebCore/platform/graphics/BitmapImageSource.h M Source/WebCore/platform/graphics/Image.cpp M Source/WebCore/platform/graphics/Image.h M Source/WebCore/platform/graphics/ImageAdapter.cpp M Source/WebCore/platform/graphics/ImageDecoder.h M Source/WebCore/platform/graphics/ImageFrame.cpp M Source/WebCore/platform/graphics/ImageFrame.h A Source/WebCore/platform/graphics/ImageFrameAnimator.cpp A Source/WebCore/platform/graphics/ImageFrameAnimator.h A Source/WebCore/platform/graphics/ImageFrameWorkQueue.cpp A Source/WebCore/platform/graphics/ImageFrameWorkQueue.h M Source/WebCore/platform/graphics/ImageObserver.h M Source/WebCore/platform/graphics/ImageSource.cpp M Source/WebCore/platform/graphics/ImageSource.h M Source/WebCore/platform/graphics/NativeImage.h A Source/WebCore/platform/graphics/NativeImageSource.cpp A Source/WebCore/platform/graphics/NativeImageSource.h M Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h M Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp M Source/WebCore/platform/graphics/cairo/GraphicsContextGLCairo.cpp M Source/WebCore/platform/graphics/cairo/NativeImageCairo.cpp M Source/WebCore/platform/graphics/cg/GraphicsContextGLCG.cpp M Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp M Source/WebCore/platform/graphics/cg/ImageDecoderCG.h M Source/WebCore/platform/graphics/cg/NativeImageCG.cpp M Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp M Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h M Source/WebCore/platform/graphics/gtk/ImageAdapterGtk.cpp M Source/WebCore/platform/graphics/mac/ImageAdapterMac.mm M Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp M Source/WebCore/platform/graphics/texmap/TextureMapperTile.cpp M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp M Source/WebCore/platform/gtk/CursorGtk.cpp M Source/WebCore/platform/gtk/DragImageGtk.cpp M Source/WebCore/platform/image-decoders/ScalableImageDecoder.h M Source/WebCore/platform/win/DragImageCairoWin.cpp M Source/WebCore/rendering/RenderBoxModelObject.cpp M Source/WebCore/rendering/RenderElement.h M Source/WebCore/rendering/RenderLayerBacking.cpp M Source/WebCore/svg/SVGFEImageElement.cpp M Source/WebCore/svg/graphics/SVGImageForContainer.cpp M Source/WebCore/svg/graphics/SVGImageForContainer.h M Source/WebCore/testing/Internals.cpp M Source/WebKit/UIProcess/API/glib/IconDatabase.cpp M Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp M Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.cpp M Source/WebKit/WebProcess/GPU/media/RemoteImageDecoderAVF.h M Tools/TestWebKitAPI/Tests/WebCore/SVGImageCasts.cpp Log Message: --- Decouple BitmapImage sources and main functions into separate classes https://bugs.webkit.org/show_bug.cgi?id=265363 rdar://118819338 Reviewed by Cameron McCormack. The BitmapImage and ImageSource manage the operations and the queries of the bitmap image. The current interface and the code structure of these two classes and the relationship between them make it difficult and risky to hack. This purpose of this refactor is to provide a clearer interface and to build a a better class hierarchy and association. This will allow distributing the operations among better encapsulated classes. Here is the new class hierarchy and association: Image: The super class for all kinds of images in WebKit. ImageAdapter
[webkit-changes] [WebKit/WebKit] 78cb9d: Remove the support for JPEG2000
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 78cb9d96aa82cb8cfb1ecb6a1275efabfab31fab https://github.com/WebKit/WebKit/commit/78cb9d96aa82cb8cfb1ecb6a1275efabfab31fab Author: Said Abou-Hallawa Date: 2024-02-02 (Fri, 02 Feb 2024) Changed paths: M LayoutTests/fast/images/image-formats-support-expected.txt M LayoutTests/fast/images/image-formats-support.html A LayoutTests/fast/images/resources/100x100-red-jp2-renamed.png A LayoutTests/fast/images/resources/100x100-red.jp2 M Source/WebCore/platform/ImageDecoders.cmake M Source/WebCore/platform/MIMETypeRegistry.cpp M Source/WebCore/platform/graphics/cg/UTIRegistry.cpp M Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp R Source/WebCore/platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp R Source/WebCore/platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.h M Source/cmake/OptionsGTK.cmake M Source/cmake/OptionsWPE.cmake M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj A Tools/TestWebKitAPI/Tests/WebKitCocoa/100x100-red.jp2 M Tools/TestWebKitAPI/Tests/WebKitCocoa/AdditionalSupportedImageTypes.mm M Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.html M Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm M Tools/gtk/jhbuild.modules M Tools/wpe/jhbuild.modules Log Message: --- Remove the support for JPEG2000 https://bugs.webkit.org/show_bug.cgi?id=178758 rdar://35161822 Reviewed by Michael Catanzaro. Right now, no other browser is supporting JPEG2000. So there's no need for WebKit to keep supporting it. Clients of WebView and WKWebView can still force supporting JPEG2000 through the private configuration/preference 'additionalSupportedImageTypes'. * LayoutTests/fast/images/image-formats-support-expected.txt: * LayoutTests/fast/images/image-formats-support.html: * LayoutTests/fast/images/resources/100x100-red-jp2-renamed.png: Added. * LayoutTests/fast/images/resources/100x100-red.jp2: Added. * Source/WebCore/platform/ImageDecoders.cmake: * Source/WebCore/platform/MIMETypeRegistry.cpp: * Source/WebCore/platform/graphics/cg/UTIRegistry.cpp: (WebCore::defaultSupportedImageTypes): * Source/WebCore/platform/image-decoders/ScalableImageDecoder.cpp: (WebCore::ScalableImageDecoder::create): * Source/WebCore/platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp: Removed. * Source/WebCore/platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.h: Removed. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * Tools/TestWebKitAPI/Tests/WebKitCocoa/100x100-red.jp2: Added. * Tools/TestWebKitAPI/Tests/WebKitCocoa/AdditionalSupportedImageTypes.mm: (TEST): * Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.html: * Tools/TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm: (TestWebKitAPI::runTest): (TestWebKitAPI::TEST): * Tools/gtk/jhbuild.modules: * Tools/wpe/jhbuild.modules: Canonical link: https://commits.webkit.org/273978@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ab92c8: Move BitmapImage format conversion to a new class ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ab92c87e9f99256f3390219e570a3dc1d0debee6 https://github.com/WebKit/WebKit/commit/ab92c87e9f99256f3390219e570a3dc1d0debee6 Author: Said Abou-Hallawa Date: 2024-01-30 (Tue, 30 Jan 2024) Changed paths: M Source/WebCore/Headers.cmake M Source/WebCore/PlatformWin.cmake M Source/WebCore/Sources.txt M Source/WebCore/SourcesCocoa.txt M Source/WebCore/SourcesGTK.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/dom/DataTransferMac.mm M Source/WebCore/editing/cocoa/HTMLConverter.mm M Source/WebCore/loader/cache/CachedImage.cpp M Source/WebCore/platform/ScrollView.cpp M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm M Source/WebCore/platform/cocoa/DragImageCocoa.mm M Source/WebCore/platform/graphics/BitmapImage.cpp M Source/WebCore/platform/graphics/BitmapImage.h M Source/WebCore/platform/graphics/Image.cpp M Source/WebCore/platform/graphics/Image.h A Source/WebCore/platform/graphics/ImageAdapter.cpp A Source/WebCore/platform/graphics/ImageAdapter.h A Source/WebCore/platform/graphics/gtk/ImageAdapterGtk.cpp R Source/WebCore/platform/graphics/gtk/ImageGtk.cpp A Source/WebCore/platform/graphics/mac/ImageAdapterMac.mm R Source/WebCore/platform/graphics/mac/ImageMac.mm A Source/WebCore/platform/graphics/win/ImageAdapterWin.cpp R Source/WebCore/platform/graphics/win/ImageCairoWin.cpp R Source/WebCore/platform/graphics/win/ImageWin.cpp M Source/WebCore/platform/gtk/CursorGtk.cpp M Source/WebCore/platform/mac/CursorMac.mm M Source/WebCore/platform/mac/PasteboardMac.mm M Source/WebCore/platform/win/CursorWin.cpp M Source/WebCore/platform/win/PasteboardWin.cpp M Source/WebCore/rendering/RenderLayerScrollableArea.cpp M Source/WebCore/rendering/mac/RenderThemeMac.mm M Source/WebKit/UIProcess/API/gtk/DragSourceGtk3.cpp M Source/WebKit/UIProcess/API/gtk/DragSourceGtk4.cpp M Source/WebKit/UIProcess/gtk/ClipboardGtk3.cpp M Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp M Source/WebKit/UIProcess/mac/WebViewImpl.mm M Source/WebKitLegacy/mac/DOM/DOM.mm M Source/WebKitLegacy/mac/Misc/WebElementDictionary.mm M Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.mm M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm M Source/WebKitLegacy/mac/WebView/WebHTMLView.mm M Tools/TestWebKitAPI/Tests/WebCore/win/BitmapImage.cpp Log Message: --- Move BitmapImage format conversion to a new class name ImageAdapter https://bugs.webkit.org/show_bug.cgi?id=267254 rdar://120690546 Reviewed by Cameron McCormack. The classes Image and BitmapImage are overloaded with many platform functions. The platform-specific format conversion is not tied to BitmapImage or Image. It relies mostly on the NativeImage. So move the format conversion to a new class named ImageAdapter. Move also BitmapImage::nativeImageOfSize() and framesNativeImages() to this new class since they are only used for image format conversion. * Source/WebCore/Headers.cmake: * Source/WebCore/PlatformWin.cmake: * Source/WebCore/Sources.txt: * Source/WebCore/SourcesCocoa.txt: * Source/WebCore/SourcesGTK.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/dom/DataTransferMac.mm: (WebCore::DataTransfer::createDragImage const): * Source/WebCore/editing/cocoa/HTMLConverter.mm: (fileWrapperForElement): * Source/WebCore/loader/cache/CachedImage.cpp: (WebCore::CachedImage::brokenImage const): * Source/WebCore/platform/ScrollView.cpp: (WebCore::ScrollView::paintPanScrollIcon): * Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm: (WebCore::MediaSessionManagerCocoa::setNowPlayingInfo): * Source/WebCore/platform/cocoa/DragImageCocoa.mm: (WebCore::createDragImageFromImage): * Source/WebCore/platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::~BitmapImage): (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::nativeImageAtIndexCacheIfNeeded): (WebCore::BitmapImage::nativeImage): (WebCore::BitmapImage::nativeImageForCurrentFrame): (WebCore::BitmapImage::draw): (WebCore::BitmapImage::drawPattern): (WebCore::BitmapImage::decode): (WebCore::BitmapImage::dump const): (WebCore::BitmapImage::frameImageAtIndexCacheIfNeeded): Deleted. (WebCore::BitmapImage::nativeImageOfSize): Deleted. (WebCore::BitmapImage::framesNativeImages): Deleted. * Source/WebCore/platform/graphics/BitmapImage.h: * Source/WebCore/platform/graphics/Image.cpp: (WebCore::Image::adapter): (WebCore::Image::invalidateAdapter): (WebCore::Image::fillWithSolidColor): (WebCore::Image::drawTiled): (WebCore::operator<<): (WebCore::BitmapImage::invalidatePlatformData): Deleted. (WebCore::Image::loadPlatformResource): Deleted. * Source/WebCore/platform/graphics/Image.h: (WebCore::Image::frameCount const): (WebCore::Image::nativeImageAtIndex): (WebCore:
[webkit-changes] [WebKit/WebKit] b89b57: Fix timeout in fast/images/animated-image-mp4-cras...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b89b5796147bac47f35c7d50a5ec6c63d2ee184e https://github.com/WebKit/WebKit/commit/b89b5796147bac47f35c7d50a5ec6c63d2ee184e Author: Said Abou-Hallawa Date: 2024-01-29 (Mon, 29 Jan 2024) Changed paths: M LayoutTests/fast/images/animated-image-mp4-crash.html Log Message: --- Fix timeout in fast/images/animated-image-mp4-crash.html https://bugs.webkit.org/show_bug.cgi?id=267571 rdar://121035201 Reviewed by Cameron McCormack. Call "internals.clearMemoryCache()" when initializing the test to reset the animation state of the image. * LayoutTests/fast/images/animated-image-mp4-crash.html: Canonical link: https://commits.webkit.org/273669@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cc161d: Fix timeout in fast/images/decode-animated-image.html
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cc161d1ce2f15fe299de263ac5ee5126b6966524 https://github.com/WebKit/WebKit/commit/cc161d1ce2f15fe299de263ac5ee5126b6966524 Author: Said Abou-Hallawa Date: 2024-01-29 (Mon, 29 Jan 2024) Changed paths: M LayoutTests/fast/images/decode-animated-image.html Log Message: --- Fix timeout in fast/images/decode-animated-image.html https://bugs.webkit.org/show_bug.cgi?id=267570 rdar://121034124 Reviewed by Cameron McCormack. Call "internals.clearMemoryCache()" when initializing the test to reset the animation state of the image. * LayoutTests/fast/images/decode-animated-image.html: Canonical link: https://commits.webkit.org/273668@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0c6288: Remove BitmapImage::updateFromSettings()
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0c6288be7ffe1f75fcd39a6bd2aa10ee6afa993f https://github.com/WebKit/WebKit/commit/0c6288be7ffe1f75fcd39a6bd2aa10ee6afa993f Author: Said Abou-Hallawa Date: 2024-01-25 (Thu, 25 Jan 2024) Changed paths: M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp M Source/WebCore/platform/graphics/BitmapImage.cpp M Source/WebCore/platform/graphics/BitmapImage.h M Source/WebCore/platform/graphics/ImagePaintingOptions.h M Source/WebCore/platform/graphics/ImageTypes.h M Source/WebCore/rendering/BackgroundPainter.cpp M Source/WebCore/rendering/RenderBoxModelObject.cpp M Source/WebCore/rendering/RenderImage.cpp M Source/WebCore/rendering/svg/RenderSVGImage.cpp M Source/WebCore/testing/Internals.cpp Log Message: --- Remove BitmapImage::updateFromSettings() https://bugs.webkit.org/show_bug.cgi?id=267607 rdar://121077174 Reviewed by Cameron McCormack. Calculate all the image painting options before calling BitmapImage::draw(). Remove all the calls to BitmapImage::updateFromSettings() and pass the calculated AllowImageSubsampling and ShowDebugBackground through ImagePaintingOptions. The first frame of an animated image had to be decoded synchronously. In fact this restriction is not needed. The rules to decode the static image and the first frame of an animated image should be the same. Late decoded frames of an animated images was showing a yellow rectangle if showDebugBackground is enabled. This is not really needed since the animation does not advance until the next frame is fully decoded. * Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::drawImage): * Source/WebCore/platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::draw): (WebCore::BitmapImage::shouldUseAsyncDecodingForAnimatedImages const): (WebCore::BitmapImage::subsamplingLevelForScaleFactor): (WebCore::BitmapImage::internalStartAnimation): (WebCore::BitmapImage::advanceAnimation): (WebCore::BitmapImage::decode): (WebCore::BitmapImage::updateFromSettings): Deleted. * Source/WebCore/platform/graphics/BitmapImage.h: * Source/WebCore/platform/graphics/ImagePaintingOptions.h: (WebCore::ImagePaintingOptions::allowImageSubsampling const): (WebCore::ImagePaintingOptions::showDebugBackground const): (WebCore::ImagePaintingOptions::setOption): * Source/WebCore/platform/graphics/ImageTypes.h: * Source/WebCore/rendering/BackgroundPainter.cpp: (WebCore::BackgroundPainter::paintFillLayer): * Source/WebCore/rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::decodingModeForImageDraw const): * Source/WebCore/rendering/RenderImage.cpp: (WebCore::RenderImage::paintIntoRect): * Source/WebCore/rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paintIntoRect): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::imageFrameIndex): Canonical link: https://commits.webkit.org/273528@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9d23c4: [GPU Process] Images with certain colorspaces cann...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9d23c40ee7ce3c80b6d2b40cc534e78cac079019 https://github.com/WebKit/WebKit/commit/9d23c40ee7ce3c80b6d2b40cc534e78cac079019 Author: Said Abou-Hallawa Date: 2024-01-18 (Thu, 18 Jan 2024) Changed paths: A LayoutTests/fast/images/resources/green-100x100-unsupported-output-color-space.jpg A LayoutTests/fast/images/unsupported-output-color-space-expected.html A LayoutTests/fast/images/unsupported-output-color-space.html M Source/WebKit/Shared/ShareableBitmap.cpp M Source/WebKit/Shared/ShareableBitmap.h M Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp Log Message: --- [GPU Process] Images with certain colorspaces cannot be rendered https://bugs.webkit.org/show_bug.cgi?id=266300 rdar://118238178 Reviewed by Cameron McCormack. Check if the color space of the NativeImage is supported by CG for output before creating ShareableBitmap. If it is not supported, fall back to SRGB. * LayoutTests/fast/images/resources/green-100x100-unsupported-output-color-space.jpg: Added. * LayoutTests/fast/images/unsupported-output-color-space-expected.html: Added. * LayoutTests/fast/images/unsupported-output-color-space.html: Added. * Source/WebKit/Shared/ShareableBitmap.cpp: (WebKit::ShareableBitmap::createFromImageDraw): * Source/WebKit/Shared/ShareableBitmap.h: * Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp: (WebKit::createShareableBitmapFromNativeImage) Canonical link: https://commits.webkit.org/273204@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a71e93: [GPU Process] Possible null dereferencing when des...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a71e93715498ea8ea6854bb921d20646b5f99ccc https://github.com/WebKit/WebKit/commit/a71e93715498ea8ea6854bb921d20646b5f99ccc Author: Said Abou-Hallawa Date: 2024-01-11 (Thu, 11 Jan 2024) Changed paths: M Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp Log Message: --- [GPU Process] Possible null dereferencing when destroying the cached RenderingResources of a WebPage https://bugs.webkit.org/show_bug.cgi?id=267388 rdar://120464355 Reviewed by Chris Dumez. Because RemoteResourceCacheProxy stores the cached RenderingResources in a HashMap of WeakPtrs, RemoteResourceCacheProxy::clearRenderingResourceMap() needs to ensure the WeakPtr of the RenderingResource is not null before using it. * Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp: (WebKit::RemoteResourceCacheProxy::clearRenderingResourceMap): Canonical link: https://commits.webkit.org/272919@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 727f55: [Filters] Enable CoreGraphics color matrix filter
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 727f5586dc34ce5d21b7a5ab61cd9d35389de504 https://github.com/WebKit/WebKit/commit/727f5586dc34ce5d21b7a5ab61cd9d35389de504 Author: Said Abou-Hallawa Date: 2024-01-10 (Wed, 10 Jan 2024) Changed paths: M LayoutTests/css3/filters/effect-grayscale.html M LayoutTests/css3/filters/effect-sepia.html M LayoutTests/fast/filter-image/background-filter-image.html M LayoutTests/fast/filter-image/filter-image.html M Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp Log Message: --- [Filters] Enable CoreGraphics color matrix filter https://bugs.webkit.org/show_bug.cgi?id=267354 rdar://120795573 Reviewed by Simon Fraser. Apply the ColorMatrix CGStyle style when it is available to draw the color matrix filter. Fix the failed tests by adjusting the pixel tolerance. * LayoutTests/css3/filters/effect-grayscale.html: * LayoutTests/css3/filters/effect-sepia.html: * LayoutTests/fast/filter-image/background-filter-image.html: * LayoutTests/fast/filter-image/filter-image.html: * Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp: (WebCore::FEColorMatrix::supportedFilterRenderingModes const): Canonical link: https://commits.webkit.org/272891@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 46042d: Implement FELighting applier for Neon
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 46042d525754c1af516aa6b4595ec33d0edf7625 https://github.com/WebKit/WebKit/commit/46042d525754c1af516aa6b4595ec33d0edf7625 Author: Said Abou-Hallawa Date: 2024-01-10 (Wed, 10 Jan 2024) Changed paths: M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj R Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp R Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h A Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNeonParallelApplier.cpp A Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNeonParallelApplier.h M Source/WebCore/platform/graphics/filters/FELighting.cpp M Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareArithmeticApplier.cpp M Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.cpp M Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h A Source/WebCore/platform/graphics/filters/software/FELightingSoftwareParallelApplier.cpp A Source/WebCore/platform/graphics/filters/software/FELightingSoftwareParallelApplier.h Log Message: --- Implement FELighting applier for Neon https://bugs.webkit.org/show_bug.cgi?id=267349 rdar://120791073 Reviewed by Simon Fraser. Add a virtual method to FELightingSoftwareApplier named applyPlatformParallel() and call it from its applyPlatform(). Add two new classes FELightingSoftwareParallelApplier and FELightingNeonParallelApplier and make each one of them implement this method. Move the existing code in FELightingNEON to the new class FELightingNeonParallelApplier. Make FELightingSoftwareParallelApplier for all other platforms. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h: Removed. * Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNeonParallelApplier.cpp: Renamed from Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp. (WebCore::FELightingNeonParallelApplier::feLightingConstants): (WebCore::FELightingNeonParallelApplier::getPowerCoefficients): (WebCore::FELightingNeonParallelApplier::applyPlatformWorker): (WebCore::FELightingNeonParallelApplier::applyPlatformParallel const): * Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNeonParallelApplier.h: Added. * Source/WebCore/platform/graphics/filters/FELighting.cpp: (WebCore::FELighting::createSoftwareApplier const): * Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareArithmeticApplier.cpp: * Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.cpp: (WebCore::FELightingSoftwareApplier::applyPlatform const): (WebCore::FELightingSoftwareApplier::applyPlatformGenericPaint): Deleted. (WebCore::FELightingSoftwareApplier::applyPlatformGenericWorker): Deleted. (WebCore::FELightingSoftwareApplier::applyPlatformGeneric): Deleted. (WebCore::FELightingSoftwareApplier::applyPlatform): Deleted. * Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h: * Source/WebCore/platform/graphics/filters/software/FELightingSoftwareParallelApplier.cpp: Added. (WebCore::FELightingSoftwareParallelApplier::applyPlatformPaint): (WebCore::FELightingSoftwareParallelApplier::applyPlatformWorker): (WebCore::FELightingSoftwareParallelApplier::applyPlatformParallel const): * Source/WebCore/platform/graphics/filters/software/FELightingSoftwareParallelApplier.h: Added. Canonical link: https://commits.webkit.org/272873@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] df6e4e: SVG element is not displayed if it is inside a
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: df6e4e277baa1038e1240ac467b6cc645e8e56e6 https://github.com/WebKit/WebKit/commit/df6e4e277baa1038e1240ac467b6cc645e8e56e6 Author: Said Abou-Hallawa Date: 2024-01-09 (Tue, 09 Jan 2024) Changed paths: A LayoutTests/svg/filters/filter-target-switch-element-expected.svg A LayoutTests/svg/filters/filter-target-switch-element.svg M Source/WebCore/rendering/svg/SVGResources.cpp Log Message: --- SVG element is not displayed if it is inside a element and it has an SVGFilter resource https://bugs.webkit.org/show_bug.cgi?id=267192 rdar://120732837 Reviewed by Simon Fraser. Allow SVGFilter as a resource to the element. The element is a container element which is similar to , and elements. They all create LegacyRenderSVGTransformableContainer as their renderers. * LayoutTests/svg/filters/filter-target-switch-element-expected.svg: Added. * LayoutTests/svg/filters/filter-target-switch-element.svg: Added. * Source/WebCore/rendering/svg/SVGResources.cpp: (WebCore::clipperFilterMaskerTags): Canonical link: https://commits.webkit.org/272831@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ddf4be: [Filters] GraphicsContext filters have to apply cl...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ddf4bec3e947abd7bf96aa06ec84f91e1a32d162 https://github.com/WebKit/WebKit/commit/ddf4bec3e947abd7bf96aa06ec84f91e1a32d162 Author: Said Abou-Hallawa Date: 2023-12-14 (Thu, 14 Dec 2023) Changed paths: A LayoutTests/css3/filters/drop-shadow-filter-overflow-expected.html A LayoutTests/css3/filters/drop-shadow-filter-overflow.html M Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.cpp M Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.h M Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.cpp M Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.h M Source/WebCore/platform/graphics/filters/FilterTargetSwitcher.h M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/RenderLayer.h M Source/WebCore/rendering/RenderLayerFilters.cpp M Source/WebCore/rendering/RenderLayerFilters.h Log Message: --- [Filters] GraphicsContext filters have to apply clipping to the target context before drawing https://bugs.webkit.org/show_bug.cgi?id=266383 rdar://118522654 Reviewed by Simon Fraser. Before applying the filter style and calling `beginTransparencyLayer()`, the clipping rectangle of the target element has to be applied to the destination GraphicsContext. Otherwise the hidden overflow drawing will appear once the `endTransparencyLayer()` is called. RenderLayer::paintLayerContents() needs to calculate the clipping rectangle before calling setupFilters() so it can be passed to FilterStyleTargetSwitcher. beginClipAndDrawSourceImage() and endClipAndDrawSourceImage() will be called when applying CSSFilter. beginDrawSourceImage() and endDrawSourceImage() will be called when applying the top-level SVGFilter since we clip to the bounding rectangle of the root element. * LayoutTests/css3/filters/drop-shadow-filter-overflow-expected.html: Added. * LayoutTests/css3/filters/drop-shadow-filter-overflow.html: Added. * Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.cpp: (WebCore::FilterImageTargetSwitcher::beginClipAndDrawSourceImage): * Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.h: * Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.cpp: (WebCore::FilterStyleTargetSwitcher::beginClipAndDrawSourceImage): * Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.h: * Source/WebCore/platform/graphics/filters/FilterTargetSwitcher.h: (WebCore::FilterTargetSwitcher::beginClipAndDrawSourceImage): Deleted. (WebCore::FilterTargetSwitcher::endClipAndDrawSourceImage): Deleted. (WebCore::FilterTargetSwitcher::beginDrawSourceImage): Deleted. (WebCore::FilterTargetSwitcher::endDrawSourceImage): Deleted. * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::setupFilters): (WebCore::RenderLayer::applyFilters): (WebCore::RenderLayer::paintLayerContents): * Source/WebCore/rendering/RenderLayer.h: * Source/WebCore/rendering/RenderLayerFilters.cpp: (WebCore::RenderLayerFilters::beginFilterEffect): * Source/WebCore/rendering/RenderLayerFilters.h: Canonical link: https://commits.webkit.org/272078@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 42af8a: Don't make the decision to cache a DisplayList for...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 42af8a3d2bb43e40c07b83ce1c6c3a32ab7e08f4 https://github.com/WebKit/WebKit/commit/42af8a3d2bb43e40c07b83ce1c6c3a32ab7e08f4 Author: Said Abou-Hallawa Date: 2023-11-15 (Wed, 15 Nov 2023) Changed paths: M Source/WebCore/rendering/PaintFrequencyTracker.h M Source/WebCore/rendering/RenderLayer.cpp Log Message: --- Don't make the decision to cache a DisplayList for a TextRun depend on the rendering update frame rate https://bugs.webkit.org/show_bug.cgi?id=264654 rdar://118259180 Reviewed by Simon Fraser. Caching a DisplayList for a TextRun should happen if this TextRun is displayed very often (say >= 20) regardless of the current frame rate. * Source/WebCore/rendering/PaintFrequencyTracker.h: (WebCore::PaintFrequencyTracker::track): (WebCore::PaintFrequencyTracker::begin): Deleted. (WebCore::PaintFrequencyTracker::end): Deleted. (WebCore::SinglePaintFrequencyTracking::SinglePaintFrequencyTracking): Deleted. (WebCore::SinglePaintFrequencyTracking::~SinglePaintFrequencyTracking): Deleted. * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayerContents): (WebCore::RenderLayer::calculateClipRects const): Canonical link: https://commits.webkit.org/270781@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 814d89: Implement FECompositeNeonArithmeticApplier
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 814d89056b21895a5c88315ec43a2fcd21e6a5c3 https://github.com/WebKit/WebKit/commit/814d89056b21895a5c88315ec43a2fcd21e6a5c3 Author: Said Abou-Hallawa Date: 2023-11-14 (Tue, 14 Nov 2023) Changed paths: M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj R Source/WebCore/platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h A Source/WebCore/platform/graphics/cpu/arm/filters/FECompositeNeonArithmeticApplier.cpp A Source/WebCore/platform/graphics/cpu/arm/filters/FECompositeNeonArithmeticApplier.h M Source/WebCore/platform/graphics/filters/FEComposite.cpp M Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareApplier.cpp M Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareApplier.h A Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareArithmeticApplier.cpp A Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareArithmeticApplier.h Log Message: --- Implement FECompositeNeonArithmeticApplier https://bugs.webkit.org/show_bug.cgi?id=243432 Reviewed by Simon Fraser. Move the software arithmetic FEComposite applier to a separate applier. Move the FEComposite NEON code to a new applier named FECompositeNeonArithmeticApplier. Make FEComposite::createSoftwareApplier() decide which applier to create. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/graphics/cpu/arm/filters/FECompositeNeonArithmeticApplier.cpp: Renamed from Source/WebCore/platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h. (WebCore::FECompositeNeonArithmeticApplier::FECompositeNeonArithmeticApplier): (WebCore::FECompositeNeonArithmeticApplier::computePixels): (WebCore::FECompositeNeonArithmeticApplier::applyPlatform): (WebCore::FECompositeNeonArithmeticApplier::apply const): * Source/WebCore/platform/graphics/cpu/arm/filters/FECompositeNeonArithmeticApplier.h: Added. * Source/WebCore/platform/graphics/filters/FEComposite.cpp: (WebCore::FEComposite::createSoftwareApplier const): * Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareApplier.cpp: (WebCore::FECompositeSoftwareApplier::FECompositeSoftwareApplier): (WebCore::FECompositeSoftwareApplier::apply const): (WebCore::FECompositeSoftwareApplier::clampByte): Deleted. (WebCore::FECompositeSoftwareApplier::computeArithmeticPixels): Deleted. (WebCore::FECompositeSoftwareApplier::computeArithmeticPixelsUnclamped): Deleted. (WebCore::FECompositeSoftwareApplier::applyPlatformArithmetic): Deleted. (WebCore::FECompositeSoftwareApplier::applyArithmetic const): Deleted. (WebCore::FECompositeSoftwareApplier::applyNonArithmetic const): Deleted. * Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareApplier.h: * Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareArithmeticApplier.cpp: Added. (WebCore::FECompositeSoftwareArithmeticApplier::FECompositeSoftwareArithmeticApplier): (WebCore::FECompositeSoftwareArithmeticApplier::clampByte): (WebCore::FECompositeSoftwareArithmeticApplier::computePixels): (WebCore::FECompositeSoftwareArithmeticApplier::computePixelsUnclamped): (WebCore::FECompositeSoftwareArithmeticApplier::applyPlatform): (WebCore::FECompositeSoftwareArithmeticApplier::apply const): * Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareArithmeticApplier.h: Copied from Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareApplier.h. Canonical link: https://commits.webkit.org/270726@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c708ae: [GPU Process] Allow replaying back a whole Display...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c708ae60f9fa9abf1d383d35fccb149786f50a54 https://github.com/WebKit/WebKit/commit/c708ae60f9fa9abf1d383d35fccb149786f50a54 Author: Said Abou-Hallawa Date: 2023-11-13 (Mon, 13 Nov 2023) Changed paths: M Source/WebCore/platform/graphics/GraphicsContext.cpp M Source/WebCore/platform/graphics/GraphicsContext.h M Source/WebCore/platform/graphics/displaylists/DisplayListItem.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListItem.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/displaylists/DisplayListReplayer.h M Source/WebCore/rendering/TextPainter.cpp 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/GPUProcess/graphics/RemoteResourceCache.h M Source/WebKit/Shared/DisplayListArgumentCoders.serialization.in M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h Log Message: --- [GPU Process] Allow replaying back a whole DisplayList in GPU Process https://bugs.webkit.org/show_bug.cgi?id=260181 rdar://113878782 Reviewed by Cameron McCormack. Add a new DisplayList item called DrawDisplayListItems. Add the needed functions for recording it and replaying it back. The ResourceHeap will not be stored in this item. Instead it will be passed as an extra argument to its apply() method. Add the new method GraphicsContext::drawDisplayListItems() which draws a DisplayList given ResourceHeap and a destination point. In Recorder::drawDisplayListItems() record the use all the ResourceHeap resources and then call recordDrawDisplayListItems(). In RecorderImpl::recordDrawDisplayListItems(), add the item DrawDisplayListItems to the recording DisplayList. In RemoteDisplayListRecorderProxy::recordDrawDisplayListItems(), send the message RemoteDisplayListRecorder.DrawDisplayListItem to GPUProcess. In RemoteDisplayListRecorder::drawDisplayListItems(), create a DrawDisplayListItems item given the received DisplayList. Then call its apply() method given the ResourceHeap of the RemoteResourceCache. TextPainter will call GraphicsContext::drawDisplayListItems() instead of replaying the cached DisplayList back. All DisplayList items have to have ArgumentCoders because DrawDisplayListItems includes a Vector of DisplayListItem which is a std::variant of all the items. * Source/WebCore/platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawDisplayListItems): * Source/WebCore/platform/graphics/GraphicsContext.h: * Source/WebCore/platform/graphics/displaylists/DisplayListItem.cpp: (WebCore::DisplayList::applyItem): * Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp: (WebCore::DisplayList::DrawDisplayListItems::DrawDisplayListItems): (WebCore::DisplayList::DrawDisplayListItems::apply const): (WebCore::DisplayList::DrawDisplayListItems::dump const): (WebCore::DisplayList::PaintFrameForMedia::PaintFrameForMedia): * Source/WebCore/platform/graphics/displaylists/DisplayListItems.h: (WebCore::DisplayList::DrawFilteredImageBuffer::filter const): (WebCore::DisplayList::DrawDisplayListItems::items const): (WebCore::DisplayList::DrawDisplayListItems::destination const): (WebCore::DisplayList::DrawNativeImage::imageSize const): (WebCore::DisplayList::DrawNativeImage::source const): (WebCore::DisplayList::DrawNativeImage::options const): (WebCore::DisplayList::DrawPattern::options const): (WebCore::DisplayList::FillLine::line const): (WebCore::DisplayList::FillArc::arc const): (WebCore::DisplayList::FillQuadCurve::quadCurve const): (WebCore::DisplayList::FillBezierCurve::bezierCurve const): (WebCore::DisplayList::FillPathSegment::segment const): (WebCore::DisplayList::PaintFrameForMedia::destination const): (WebCore::DisplayList::StrokeArc::arc const): (WebCore::DisplayList::StrokeQuadCurve::quadCurve const): (WebCore::DisplayList::StrokeBezierCurve::bezierCurve const): (WebCore::DisplayList::StrokePathSegment::segment const): (WebCore::DisplayList::DrawControlPart::part const): (WebCore::DisplayList::DrawControlPart::type const): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp: (WebCore::DisplayList::Recorder::drawDisplayListItems): * Source/WebCore/platform
[webkit-changes] [WebKit/WebKit] a35a17: REGRESSION ( Sonoma ): [ Sonoma wk2 ] svg/clip-pat...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a35a17b890fb585e951b346513831ed46828c3af https://github.com/WebKit/WebKit/commit/a35a17b890fb585e951b346513831ed46828c3af Author: Said Abou-Hallawa Date: 2023-11-13 (Mon, 13 Nov 2023) Changed paths: M LayoutTests/platform/mac-wk2/TestExpectations M LayoutTests/svg/clip-path/clip-path-objectboundingbox-003-expected.svg M LayoutTests/svg/clip-path/clip-path-objectboundingbox-003.svg Log Message: --- REGRESSION ( Sonoma ): [ Sonoma wk2 ] svg/clip-path/clip-path-objectboundingbox-003.svg is consistent failure. https://bugs.webkit.org/show_bug.cgi?id=263095 rdar://116888428 Unreviewed layout test gardening. Fix the pixel tolerance by making the clipper tighter. * LayoutTests/platform/mac-wk2/TestExpectations: * LayoutTests/svg/clip-path/clip-path-objectboundingbox-003-expected.svg: * LayoutTests/svg/clip-path/clip-path-objectboundingbox-003.svg: Canonical link: https://commits.webkit.org/270664@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f4c2de: REGRESSION(268354@main): Text gets shadow if its c...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f4c2de375a56df1d82f6701bb98623996f26c9a6 https://github.com/WebKit/WebKit/commit/f4c2de375a56df1d82f6701bb98623996f26c9a6 Author: Said Abou-Hallawa Date: 2023-11-08 (Wed, 08 Nov 2023) Changed paths: A LayoutTests/fast/text/text-container-filter-drop-shadow-expected.html A LayoutTests/fast/text/text-container-filter-drop-shadow.html M Source/WebCore/platform/graphics/GraphicsContext.cpp M Source/WebCore/platform/graphics/GraphicsContext.h M Source/WebCore/platform/graphics/GraphicsContextState.cpp M Source/WebCore/platform/graphics/GraphicsContextState.h M Source/WebCore/platform/graphics/ShadowBlur.cpp M Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp M Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp M Source/WebCore/platform/graphics/cg/GraphicsContextCG.h M Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp M Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListItem.h M Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListItems.h 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/rendering/EllipsisBoxPainter.cpp M Source/WebCore/rendering/TextDecorationPainter.cpp M Source/WebCore/rendering/TextPainter.cpp M Source/WebCore/rendering/svg/RenderSVGRect.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGRect.cpp 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/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h M Source/WebKit/WebProcess/WebPage/FindController.cpp M Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp Log Message: --- REGRESSION(268354@main): Text gets shadow if its container has a filter drop-shadow https://bugs.webkit.org/show_bug.cgi?id=264354 rdar://117987393 Reviewed by Simon Fraser. GraphicsContextState used to have two different entities one for drop-shadow and and another one for filter-effect-style. After 266544@main they became one entity represented by GraphicsStyle. This change did not consider the drop-shadow and the filter-effect-style can be two different states and can coexist. So it caused the following problem: If the text does not have text-shadow but its ancestor has filter drop-shadow, the text will rendered with the drop-shadow of its ancestor. To fix this bug, these two states have to be split again so rendering the text does not get confused by the filter effect style. The drop-shadow can still be represented as GraphicsDropShadow. * LayoutTests/fast/text/text-container-filter-drop-shadow-expected.html: Added. * LayoutTests/fast/text/text-container-filter-drop-shadow.html: Added. * Source/WebCore/platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::clearShadow): Deleted. (WebCore::GraphicsContext::hasVisibleShadow const): Deleted. (WebCore::GraphicsContext::hasBlurredShadow const): Deleted. (WebCore::GraphicsContext::hasShadow const): Deleted. * Source/WebCore/platform/graphics/GraphicsContext.h: (WebCore::GraphicsContext::setDropShadow): (WebCore::GraphicsContext::clearDropShadow): (WebCore::GraphicsContext::hasBlurredDropShadow const): (WebCore::GraphicsContext::hasDropShadow const): * Source/WebCore/platform/graphics/GraphicsContextState.cpp: (WebCore::GraphicsContextState::mergeLastChanges): (WebCore::GraphicsContextState::mergeAllChanges): (WebCore::stateChangeName): (WebCore::GraphicsContextState::dump const): (WebCore::GraphicsContextState::dropShadow const): Deleted. * Source/WebCore/platform/graphics/GraphicsContextState.h: (WebCore::GraphicsContextState::dropShadow const): (WebCore::GraphicsContextState::setDropShadow): * Source/WebCore/platform/graphics/ShadowBlur.cpp: (WebCore::ShadowBlur::drawShadowBuffer): (WebCore::ShadowBlur::drawRectShadow): (WebCore::ShadowBlur::drawInsetShadow): * Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContextCairo::didUpdateState): * Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContextCG::fillPath): (WebCore::GraphicsContextCG::strokePath): (WebCore::GraphicsContextCG::fillRect): (WebCore::GraphicsContextCG::setCGShadow): (WebCore::GraphicsContextCG::didUpdateState): (WebCore::GraphicsContextCG::strokeRect
[webkit-changes] [WebKit/WebKit] e2934b: [GPU Process] Ensure that only supported image dec...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e2934b9029d0fb8381f11a719a8c33e7df5b18f8 https://github.com/WebKit/WebKit/commit/e2934b9029d0fb8381f11a719a8c33e7df5b18f8 Author: Said Abou-Hallawa Date: 2023-11-04 (Sat, 04 Nov 2023) Changed paths: M Source/WebCore/platform/graphics/cg/UTIRegistry.cpp M Source/WebCore/platform/graphics/cg/UTIRegistry.h M Source/WebCore/platform/network/mac/UTIUtilities.h M Source/WebCore/platform/network/mac/UTIUtilities.mm M Source/WebKit/GPUProcess/GPUProcess.cpp M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: --- [GPU Process] Ensure that only supported image decoders run in the WebProcess https://bugs.webkit.org/show_bug.cgi?id=256852 rdar://109414332 Reviewed by Brent Fulgham. Ensure that ImageIO is allowed to decode only the (default + additional) supported image types even outside WebKit rendering code path for example displaying a bitmap image in a PDF document. This work will be done for WK2 only. WK1 allows setting the prefrences only after creating the WebView. And we use the prefrences to set the additional supported image types. So there is no way to pass to know additional supported image types when the WebView is created. And ImageIO expects CGImageSourceSetAllowableTypes() to be called only once. * Source/WebCore/platform/graphics/cg/UTIRegistry.cpp: (WebCore::allowableImageTypes): * Source/WebCore/platform/graphics/cg/UTIRegistry.h: * Source/WebCore/platform/network/mac/UTIUtilities.h: * Source/WebCore/platform/network/mac/UTIUtilities.mm: (WebCore::setImageSourceAllowableTypes): * Source/WebKit/GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::initializeGPUProcess): * Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::platformInitialize): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::m_historyItemClient): Canonical link: https://commits.webkit.org/270228@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9216f8: Make SetInlineStroke construct PackedColor::RGBA f...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9216f889c29fbb33af9db6d1954b815a7d3a1c21 https://github.com/WebKit/WebKit/commit/9216f889c29fbb33af9db6d1954b815a7d3a1c21 Author: Said Abou-Hallawa Date: 2023-10-31 (Tue, 31 Oct 2023) Changed paths: M Source/WebCore/platform/graphics/displaylists/DisplayListItems.h Log Message: --- Make SetInlineStroke construct PackedColor::RGBA from SRGBA by calling its constructor https://bugs.webkit.org/show_bug.cgi?id=264000 rdar://117765204 Reviewed by Simon Fraser. PackedColor::RGBA constructor can be used to convert from SRGBA to PackedColor::RGBA in one step. * Source/WebCore/platform/graphics/displaylists/DisplayListItems.h: (WebCore::DisplayList::SetInlineStroke::SetInlineStroke): Canonical link: https://commits.webkit.org/270038@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1034f6: Applying wavy underline text decoration on t...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1034f6e167610d43cd755fad80180c9c08ce23a4 https://github.com/WebKit/WebKit/commit/1034f6e167610d43cd755fad80180c9c08ce23a4 Author: Said Abou-Hallawa Date: 2023-10-31 (Tue, 31 Oct 2023) Changed paths: A LayoutTests/fast/text/del-text-zero-size-wavy-style-expected.txt A LayoutTests/fast/text/del-text-zero-size-wavy-style.html M LayoutTests/fast/text/text-zero-size-wavy-style.html M Source/WebCore/rendering/TextDecorationPainter.cpp Log Message: --- Applying wavy underline text decoration on text will hang if the font size is zero https://bugs.webkit.org/show_bug.cgi?id=263989 rdar://113930569 Reviewed by Simon Fraser. This should complete the intended fix of . TextDecorationPainter::paintLineThrough() can still call strokeWavyTextDecoration() even if the font size is zero. This part was missed from 269493@main. Like bug 260372, text within tags and zero font size will cause WebKit to hang and eventually jetsam by the system. The for-loop in strokeWavyTextDecoration() will never terminate. strokeWavyTextDecoration() should return if any of its parameters is zero. * LayoutTests/fast/text/del-text-zero-size-wavy-style-expected.txt: Added. * LayoutTests/fast/text/del-text-zero-size-wavy-style.html: Added. * LayoutTests/fast/text/text-zero-size-wavy-style.html: * Source/WebCore/rendering/TextDecorationPainter.cpp: (WebCore::strokeWavyTextDecoration): Canonical link: https://commits.webkit.org/270033@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5fb255: REGRESSION(266408@main): JPEG XL does not work in ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5fb255b53fc547d77ec57e9d2d59b9cb8762d59b https://github.com/WebKit/WebKit/commit/5fb255b53fc547d77ec57e9d2d59b9cb8762d59b Author: Said Abou-Hallawa Date: 2023-10-28 (Sat, 28 Oct 2023) Changed paths: M LayoutTests/fast/images/jpegxl-with-color-profile-expected.html M LayoutTests/fast/images/jpegxl-with-color-profile.html M LayoutTests/platform/ios/TestExpectations M LayoutTests/platform/mac/TestExpectations M Source/WebCore/Configurations/WebCore.xcconfig M WebKitLibraries/SDKs/macosx12.0-additions.sdk/SDKSettings.plist M WebKitLibraries/SDKs/macosx13.0-additions.sdk/SDKSettings.plist Log Message: --- REGRESSION(266408@main): JPEG XL does not work in STP and down levels https://bugs.webkit.org/show_bug.cgi?id=263626 rdar://117049172 Reviewed by Alexey Proskuryakov. Revert 266408@main to enable JPEG XL on down levels. Enable JPEG XL layout tests on Apple ports. Elliott Williams provided the SDKSettings changes. * LayoutTests/fast/images/jpegxl-with-color-profile-expected.html: * LayoutTests/fast/images/jpegxl-with-color-profile.html: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac/TestExpectations: * Source/WebCore/Configurations/WebCore.xcconfig: * WebKitLibraries/SDKs/macosx12.0-additions.sdk/SDKSettings.plist: * WebKitLibraries/SDKs/macosx13.0-additions.sdk/SDKSettings.plist: Canonical link: https://commits.webkit.org/269900@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a63893: [ macOS ] Enable image sub sampling for macOS
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a638930cea322577cf7c38673b775d715fe8bef5 https://github.com/WebKit/WebKit/commit/a638930cea322577cf7c38673b775d715fe8bef5 Author: Said Abou-Hallawa Date: 2023-10-27 (Fri, 27 Oct 2023) Changed paths: M Source/WebCore/page/Settings.yaml Log Message: --- [ macOS ] Enable image sub sampling for macOS https://bugs.webkit.org/show_bug.cgi?id=263756 rdar://117561288 Reviewed by Simon Fraser. This will reduce memory allocation and decoding time needed for displaying considerably large images. * Source/WebCore/page/Settings.yaml: Canonical link: https://commits.webkit.org/269875@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9344ec: REGRESSION(268354@main): [ Ventura+ x86_64 wk2 ] i...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9344ec4a1eaa74b1575b263b6c213b900b1f92fd https://github.com/WebKit/WebKit/commit/9344ec4a1eaa74b1575b263b6c213b900b1f92fd Author: Said Abou-Hallawa Date: 2023-10-27 (Fri, 27 Oct 2023) Changed paths: M LayoutTests/imported/blink/css3/filters/effect-drop-shadow-clip-abspos.html M LayoutTests/platform/mac-wk2/TestExpectations Log Message: --- REGRESSION(268354@main): [ Ventura+ x86_64 wk2 ] imported/blink/css3/filters/effect-drop-shadow-clip-abspos.html is a constant ImageOnlyFailure https://bugs.webkit.org/show_bug.cgi?id=262344 rdar://116208472 Unreviewed test gardening. Fix fuzziness in a drop-shadow filter. This difference happens because of enabling the CoreGraphics filter. * LayoutTests/imported/blink/css3/filters/effect-drop-shadow-clip-abspos.html: * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/269852@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 922c03: [GPU Process] REGRESSION: display-p3 stroke color ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 922c037bca6e8cdf1186b3731e3e91a70372333a https://github.com/WebKit/WebKit/commit/922c037bca6e8cdf1186b3731e3e91a70372333a Author: Said Abou-Hallawa Date: 2023-10-23 (Mon, 23 Oct 2023) Changed paths: A LayoutTests/fast/canvas/canvas-line-no-change-display-p3-stroke-expected.html A LayoutTests/fast/canvas/canvas-line-no-change-display-p3-stroke.html M Source/WebCore/platform/graphics/Color.h M Source/WebCore/platform/graphics/displaylists/DisplayListItem.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/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h M Tools/TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp M Tools/TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp Log Message: --- [GPU Process] REGRESSION: display-p3 stroke color in canvas crashes the webpage https://bugs.webkit.org/show_bug.cgi?id=263387 rdar://117226767 Reviewed by Simon Fraser. Recording the inline path data items is enabled only if the state stroke has an inline color or if the stroke color was not changed since last time the state was committed. A crash will happen when the current stroke color is not inline (display-p3 for example) and it has been committed to the destination context in GPUP but the stroke thickness was changed. The item SetInlineStrokeColor tries to get the inline data a non inline color although the current stroke color is not inline and it has not changed. So the crash happens. The fix is to merge the inline stroke changes into one DisplayList item named SetInlineStroke. It has two optional members: the inline color data and the thickness. Each member will be set only if it was changed since last commit. For representing the color in SetInlineStroke, PackedColor::RGBA will be used instead of SRGBA since it is easier to be encoded. * LayoutTests/fast/canvas/canvas-line-no-change-display-p3-stroke-expected.html: Added. * LayoutTests/fast/canvas/canvas-line-no-change-display-p3-stroke.html: Added. * Source/WebCore/platform/graphics/Color.h: (WebCore::Color::tryGetAsPackedInline const): * Source/WebCore/platform/graphics/displaylists/DisplayListItem.h: * Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp: (WebCore::DisplayList::SetInlineStroke::apply const): (WebCore::DisplayList::SetInlineStroke::dump const): (WebCore::DisplayList::SetInlineStrokeColor::apply const): Deleted. (WebCore::DisplayList::SetInlineStrokeColor::dump const): Deleted. (WebCore::DisplayList::SetStrokeThickness::apply const): Deleted. (WebCore::DisplayList::SetStrokeThickness::dump const): Deleted. * Source/WebCore/platform/graphics/displaylists/DisplayListItems.h: (WebCore::DisplayList::SetInlineFillColor::SetInlineFillColor): (WebCore::DisplayList::SetInlineFillColor::color const): (WebCore::DisplayList::SetInlineFillColor::colorData const): (WebCore::DisplayList::SetInlineStroke::SetInlineStroke): (WebCore::DisplayList::SetInlineStroke::color const): (WebCore::DisplayList::SetInlineStroke::colorData const): (WebCore::DisplayList::SetInlineStroke::thickness const): (WebCore::DisplayList::SetInlineStrokeColor::SetInlineStrokeColor): Deleted. (WebCore::DisplayList::SetInlineStrokeColor::color const): Deleted. (WebCore::DisplayList::SetInlineStrokeColor::colorData const): Deleted. (WebCore::DisplayList::SetStrokeThickness::SetStrokeThickness): Deleted. (WebCore::DisplayList::SetStrokeThickness::thickness const): Deleted. * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp: (WebCore::DisplayList::Recorder::appendStateChangeItem): (WebCore::DisplayList::Recorder::buildSetInlineStroke): (WebCore::DisplayList::Recorder::strokePath): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h: * Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp: (WebCore::DisplayList::RecorderImpl::recordSetInlineFillColor): (WebCore::DisplayList::RecorderImpl::recordSetInlineStroke): (WebCore::DisplayList::RecorderImpl::recordStrokeLineWithColorAndThickness): (WebCore::DisplayList::RecorderImpl::recordSetInlineStrokeColor): Deleted. (WebCore::DisplayList::RecorderImpl
[webkit-changes] [WebKit/WebKit] 00f03d: Deeply nested SVG patterns can take log time to in...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 00f03d987c0cec7d2821e3d1086bdf15dc807c0d https://github.com/WebKit/WebKit/commit/00f03d987c0cec7d2821e3d1086bdf15dc807c0d Author: Said Abou-Hallawa Date: 2023-10-19 (Thu, 19 Oct 2023) Changed paths: A LayoutTests/svg/custom/pattern-nested-reference-expected.txt A LayoutTests/svg/custom/pattern-nested-reference.html M Source/WebCore/rendering/svg/RenderSVGResource.cpp M Source/WebCore/rendering/svg/RenderSVGResource.h M Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp M Source/WebCore/rendering/svg/RenderSVGResourceFilter.h M Source/WebCore/rendering/svg/RenderSVGResourceGradient.cpp M Source/WebCore/rendering/svg/RenderSVGResourceGradient.h M Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp M Source/WebCore/rendering/svg/RenderSVGResourceMarker.h M Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp M Source/WebCore/rendering/svg/RenderSVGResourceMasker.h M Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp M Source/WebCore/rendering/svg/RenderSVGResourcePattern.h M Source/WebCore/rendering/svg/RenderSVGResourceSolidColor.h M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.h M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.h Log Message: --- Deeply nested SVG patterns can take log time to invalidate the target element https://bugs.webkit.org/show_bug.cgi?id=263349 (rdar://116532387) Reviewed by Simon Fraser. The resource's clients invalidation does not take account the visited renderers. With nested SVG resources this invalidation can have an exponential complexity. This leads to DoS since loading the SVG or modifying its resources can take minutes to finish. Skipping the visited renderers while invalidating the resource's clients should fix this problem. The complexity of the invalidation will be linear in this case. * LayoutTests/svg/custom/pattern-nested-reference-expected.txt: Added. * LayoutTests/svg/custom/pattern-nested-reference.html: Added. * Source/WebCore/rendering/svg/RenderSVGResource.cpp: (WebCore::RenderSVGResource::removeAllClientsFromCache): (WebCore::removeFromCacheAndInvalidateDependencies): (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidationIfNeeded): * Source/WebCore/rendering/svg/RenderSVGResource.h: * Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::removeAllClientsFromCacheIfNeeded): (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache): Deleted. * Source/WebCore/rendering/svg/RenderSVGResourceFilter.h: * Source/WebCore/rendering/svg/RenderSVGResourceGradient.cpp: (WebCore::RenderSVGResourceGradient::removeAllClientsFromCacheIfNeeded): (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache): Deleted. * Source/WebCore/rendering/svg/RenderSVGResourceGradient.h: * Source/WebCore/rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::removeAllClientsFromCacheIfNeeded): (WebCore::RenderSVGResourceMarker::removeAllClientsFromCache): Deleted. * Source/WebCore/rendering/svg/RenderSVGResourceMarker.h: * Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::removeAllClientsFromCacheIfNeeded): (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache): Deleted. * Source/WebCore/rendering/svg/RenderSVGResourceMasker.h: * Source/WebCore/rendering/svg/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::removeAllClientsFromCacheIfNeeded): (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache): Deleted. * Source/WebCore/rendering/svg/RenderSVGResourcePattern.h: * Source/WebCore/rendering/svg/RenderSVGResourceSolidColor.h: * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.cpp: (WebCore::LegacyRenderSVGResourceClipper::removeAllClientsFromCacheIfNeeded): (WebCore::LegacyRenderSVGResourceClipper::removeAllClientsFromCache): Deleted. * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceClipper.h: * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.cpp: (WebCore::LegacyRenderSVGResourceContainer::markAllClientsForInvalidation): (WebCore::LegacyRenderSVGResourceContainer::markAllClientsForInvalidationIfNeeded): * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceContainer.h: Canonical link: https://commits.webkit.org/269516@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3e6f14: Inline stroking a single PathSegment
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3e6f143c6278c7e306454785343cba29355653ad https://github.com/WebKit/WebKit/commit/3e6f143c6278c7e306454785343cba29355653ad Author: Said Abou-Hallawa Date: 2023-10-18 (Wed, 18 Oct 2023) Changed paths: M Source/WTF/wtf/PlatformHave.h M Source/WTF/wtf/PlatformUse.h M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h M Source/WebCore/platform/graphics/GraphicsContext.h M Source/WebCore/platform/graphics/NullGraphicsContext.h M Source/WebCore/platform/graphics/Path.cpp M Source/WebCore/platform/graphics/Path.h M Source/WebCore/platform/graphics/PathImpl.h M Source/WebCore/platform/graphics/PathSegment.cpp M Source/WebCore/platform/graphics/PathSegment.h M Source/WebCore/platform/graphics/PathStream.cpp M Source/WebCore/platform/graphics/PathStream.h M Source/WebCore/platform/graphics/cairo/PathCairo.cpp M Source/WebCore/platform/graphics/cairo/PathCairo.h M Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp M Source/WebCore/platform/graphics/cg/GraphicsContextCG.h M Source/WebCore/platform/graphics/cg/PathCG.cpp M Source/WebCore/platform/graphics/cg/PathCG.h M Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp 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/rendering/svg/RenderSVGPath.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGPath.cpp 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/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h Log Message: --- Inline stroking a single PathSegment https://bugs.webkit.org/show_bug.cgi?id=262822 rdar://116264934 Reviewed by Kimmo Kinnunen. Like what we do for the single-PathDataLine path, other single-segment path cases should be handled. Instead of sending a separate SetState message in addition to the StrokePath to GPUP, we can piggyback the stroke width and color to StrokePath or StrokePathSegment messages. * Source/WTF/wtf/PlatformHave.h: * Source/WTF/wtf/PlatformUse.h: * Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp: (WebCore::BifurcatedGraphicsContext::fillPathSegment): (WebCore::BifurcatedGraphicsContext::strokePathSegment): * Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h: * Source/WebCore/platform/graphics/GraphicsContext.h: * Source/WebCore/platform/graphics/NullGraphicsContext.h: * Source/WebCore/platform/graphics/Path.cpp: (WebCore::Path::singleDataLine const): Deleted. (WebCore::Path::singleArc const): Deleted. (WebCore::Path::singleQuadCurve const): Deleted. (WebCore::Path::singleBezierCurve const): Deleted. (WebCore::Path::definitelySingleLine const): Deleted. * Source/WebCore/platform/graphics/Path.h: (WebCore::Path::getSingle const): (WebCore::Path::isSingleLine const): (WebCore::Path::singleSegmentIfExists const): Deleted. * Source/WebCore/platform/graphics/PathImpl.h: (WebCore::PathImpl::singleSegment const): (WebCore::PathImpl::singleDataLine const): Deleted. (WebCore::PathImpl::singleArc const): Deleted. (WebCore::PathImpl::singleQuadCurve const): Deleted. (WebCore::PathImpl::singleBezierCurve const): Deleted. * Source/WebCore/platform/graphics/PathSegment.cpp: (WebCore::PathSegment::fastBoundingRect const): (WebCore::PathSegment::createPlatformPath const): * Source/WebCore/platform/graphics/PathSegment.h: (WebCore::PathSegment::get const): * Source/WebCore/platform/graphics/PathStream.cpp: (WebCore::PathStream::singleDataType const): Deleted. (WebCore::PathStream::singleDataLine const): Deleted. (WebCore::PathStream::singleArc const): Deleted. (WebCore::PathStream::singleQuadCurve const): Deleted. (WebCore::PathStream::singleBezierCurve const): Deleted. * Source/WebCore/platform/graphics/PathStream.h: * Source/WebCore/platform/graphics/cairo/PathCairo.cpp: (WebCore::PathCairo::createPlatformPath): * Source/WebCore/platform/graphics/cairo/PathCairo.h: * Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContextCG::fillPathWithGradient): (WebCore::GraphicsContextCG::fillPathWithGradientAndShadow): (WebCore::GraphicsContextCG::fillPath): (WebCore::GraphicsContextCG::strokePathWithGradient): (WebCore::GraphicsContextCG::strokePathWithGradientAndShadow): (WebCore::GraphicsContextCG::strokePath): (WebCore::GraphicsContextCG::fillPathSegment): (WebCore
[webkit-changes] [WebKit/WebKit] 08c99b: Applying wavy underline text decoration will hang ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 08c99bad53db78c7c665218e5fba8c86b1980ed7 https://github.com/WebKit/WebKit/commit/08c99bad53db78c7c665218e5fba8c86b1980ed7 Author: Said Abou-Hallawa Date: 2023-10-18 (Wed, 18 Oct 2023) Changed paths: A LayoutTests/fast/text/text-zero-size-wavy-style-expected.txt A LayoutTests/fast/text/text-zero-size-wavy-style.html M Source/WebCore/rendering/TextDecorationPainter.cpp Log Message: --- Applying wavy underline text decoration will hang if the font size is zero https://bugs.webkit.org/show_bug.cgi?id=260372 rdar://113930569 Reviewed by Cameron McCormack. Underline and overline text decoration should be ignored if the font size is zero. * LayoutTests/fast/text/text-zero-size-wavy-style-expected.txt: Added. * LayoutTests/fast/text/text-zero-size-wavy-style.html: Added. * Source/WebCore/rendering/TextDecorationPainter.cpp: (WebCore::strokeWavyTextDecoration): (WebCore::TextDecorationPainter::paintBackgroundDecorations): Canonical link: https://commits.webkit.org/269493@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 485231: [ Sonoma arm64 ] css3/filters/effect-blur-hw.html ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 485231878ea3b1e5ea55508bfc47fd099815edfc https://github.com/WebKit/WebKit/commit/485231878ea3b1e5ea55508bfc47fd099815edfc Author: Said Abou-Hallawa Date: 2023-10-10 (Tue, 10 Oct 2023) Changed paths: M LayoutTests/css3/filters/effect-blur-hw-expected.html M LayoutTests/css3/filters/effect-blur-hw.html M LayoutTests/platform/mac/TestExpectations Log Message: --- [ Sonoma arm64 ] css3/filters/effect-blur-hw.html is a consistent failure https://bugs.webkit.org/show_bug.cgi?id=262750 rdar://116551869 Reviewed by Simon Fraser. The last image is clipped in the expected page. Its filter has a GaussianBlur effect (std = 10). The height of the target element is 90 pixels and the filter element has outsets of 10% of the target element. So the top and bottom outset are both equal to 9 pixels. This outset is not enough for this filter. So the fix is to increase the dimension of the filter by 20% instead. * LayoutTests/css3/filters/effect-blur-hw-expected.html: * LayoutTests/css3/filters/effect-blur-hw.html: * LayoutTests/platform/mac/TestExpectations: Canonical link: https://commits.webkit.org/269152@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3c7d6d: REGRESSION (Sonoma): [ Sonoma wk1 ] fast/images/an...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3c7d6d4973ff4bb03d59c71552fb4949a4098a03 https://github.com/WebKit/WebKit/commit/3c7d6d4973ff4bb03d59c71552fb4949a4098a03 Author: Said Abou-Hallawa Date: 2023-10-09 (Mon, 09 Oct 2023) Changed paths: M LayoutTests/fast/images/animated-webp-as-image.html M LayoutTests/platform/mac-wk1/TestExpectations Log Message: --- REGRESSION (Sonoma): [ Sonoma wk1 ] fast/images/animated-webp-as-image.html is a consistent failure https://bugs.webkit.org/show_bug.cgi?id=262908 rdar://114345450 Unreviewed test gardening. Fix fuzziness in text in this test. The difference is not related to the animated WebP image. * LayoutTests/fast/images/animated-webp-as-image.html: * LayoutTests/platform/mac-wk1/TestExpectations: Canonical link: https://commits.webkit.org/269086@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 526ba6: Remove Path::polygonPathFromPoints()
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 526ba602e6bb7c944366954db3bb75bf986a8e0d https://github.com/WebKit/WebKit/commit/526ba602e6bb7c944366954db3bb75bf986a8e0d Author: Said Abou-Hallawa Date: 2023-10-03 (Tue, 03 Oct 2023) Changed paths: M Source/WebCore/platform/DictationCaretAnimator.cpp M Source/WebCore/platform/graphics/Path.cpp M Source/WebCore/platform/graphics/Path.h Log Message: --- Remove Path::polygonPathFromPoints() https://bugs.webkit.org/show_bug.cgi?id=262563 rdar://116414788 Reviewed by Simon Fraser. It is only used once and it can be replaced by a public constructor. * Source/WebCore/platform/DictationCaretAnimator.cpp: (WebCore::DictationCaretAnimator::makeDictationTailConePath const): * Source/WebCore/platform/graphics/Path.cpp: (WebCore::Path::polygonPathFromPoints): Deleted. * Source/WebCore/platform/graphics/Path.h: Canonical link: https://commits.webkit.org/268809@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] aedb83: REGRESSION(268354@main): [ Ventura+ x86_64 wk2 ] i...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: aedb83f1d1f2cb7daf6ff99df7f45522bda4e8a4 https://github.com/WebKit/WebKit/commit/aedb83f1d1f2cb7daf6ff99df7f45522bda4e8a4 Author: Said Abou-Hallawa Date: 2023-10-03 (Tue, 03 Oct 2023) Changed paths: M LayoutTests/imported/blink/css3/filters/effect-drop-shadow-clip-abspos.html M LayoutTests/platform/mac-wk2/TestExpectations Log Message: --- REGRESSION(268354@main): [ Ventura+ x86_64 wk2 ] imported/blink/css3/filters/effect-drop-shadow-clip-abspos.html is the constant ImageOnlyFailure https://bugs.webkit.org/show_bug.cgi?id=262344 rdar://116208472 Unreviewed test gardening. Fix fuzziness in a drop-shadow filter. * LayoutTests/imported/blink/css3/filters/effect-drop-shadow-clip-abspos.html: * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/268792@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 75f426: [CSS Masking] SVG masks are not working as 'mask-i...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 75f4265f6339b84c2552ac0bdf1d27596560f701 https://github.com/WebKit/WebKit/commit/75f4265f6339b84c2552ac0bdf1d27596560f701 Author: Said Abou-Hallawa Date: 2023-09-28 (Thu, 28 Sep 2023) Changed paths: M LayoutTests/TestExpectations A LayoutTests/css3/masking/mask-reference-png-fragment-expected.html A LayoutTests/css3/masking/mask-reference-png-fragment.html A LayoutTests/css3/masking/resources/red-100x100.png A LayoutTests/http/tests/css/css-masking/mask-external-svg-fragment-expected.html A LayoutTests/http/tests/css/css-masking/mask-external-svg-fragment.html A LayoutTests/http/tests/css/css-masking/mask-external-svg-image-expected.html A LayoutTests/http/tests/css/css-masking/mask-external-svg-image.html A LayoutTests/http/tests/css/css-masking/mask-external-svg-mask-expected.html A LayoutTests/http/tests/css/css-masking/mask-external-svg-mask.html A LayoutTests/http/tests/css/css-masking/mask-inline-svg-image-expected.html A LayoutTests/http/tests/css/css-masking/mask-inline-svg-image.html A LayoutTests/http/tests/css/css-masking/mask-inline-svg-mask-expected.html A LayoutTests/http/tests/css/css-masking/mask-inline-svg-mask.html A LayoutTests/http/tests/css/css-masking/resources/heart.svg A LayoutTests/http/tests/css/css-masking/resources/star-heart-fragments.svg A LayoutTests/http/tests/css/css-masking/resources/star-heart-masks.svg A LayoutTests/http/tests/css/css-masking/resources/star.svg M LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1d.html M LayoutTests/platform/mac-wk1/TestExpectations M LayoutTests/platform/wpe/TestExpectations M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/css/CSSImageValue.cpp M Source/WebCore/platform/graphics/Image.cpp M Source/WebCore/platform/graphics/Image.h M Source/WebCore/rendering/BorderPainter.cpp M Source/WebCore/rendering/CSSFilter.cpp M Source/WebCore/rendering/InlineBoxPainter.cpp M Source/WebCore/rendering/ReferencedSVGResources.cpp M Source/WebCore/rendering/ReferencedSVGResources.h M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/RenderElement.cpp M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/RenderLayerBacking.cpp M Source/WebCore/rendering/style/FillLayer.cpp M Source/WebCore/rendering/style/FillLayer.h M Source/WebCore/rendering/style/NinePieceImage.cpp M Source/WebCore/rendering/style/StyleCachedImage.cpp M Source/WebCore/rendering/style/StyleCachedImage.h M Source/WebCore/rendering/style/StyleImage.h M Source/WebCore/rendering/style/StyleMultiImage.cpp M Source/WebCore/rendering/style/StyleMultiImage.h M Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp M Source/WebCore/rendering/svg/RenderSVGResourceMasker.h M Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp M Source/WebCore/rendering/svg/SVGResources.cpp M Source/WebCore/svg/graphics/SVGImage.cpp M Source/WebCore/svg/graphics/SVGImage.h A Source/WebCore/svg/graphics/SVGResourceImage.cpp A Source/WebCore/svg/graphics/SVGResourceImage.h Log Message: --- [CSS Masking] SVG masks are not working as 'mask-image' https://bugs.webkit.org/show_bug.cgi?id=260732 rdar://114465545 Reviewed by Simon Fraser. Implement CSS masking when it references an SVG masker. There seven cases for mask-image values that need to be considered: 1. Bitmap image 2. Bitmap image fragment 3. External SVG image 4. External SVG image fragment 5. External SVG image mask 6. Inline data URL image 7. Inline SVG image mask StyleCachedImage will be adjusted to take into account the seventh case. Functions like StyleCachedImage::isLoaded() and StyleCachedImage::canRender() will have to handle the new case where StyleCachedImage represents an inline referenced SVG masker. So isLoaded() needs to a take a RenderElement to be able to resolve the imageURL. A new super-class of GeneratedImage named SVGResourceImage will be introduced to handle drawing the SVG resource given its renderer. SVGResourceImage will handle the cases of external and inline SVG resources. We can't know whether the ID associated with an external image is a fragment ID or a mask ID in an SVGImage till the CachedImage is loaded. StyleCachedImage::image() is called only after the image is completely loaded. So it can decide to create an SVGResourceImage or to let the CachedImage creates its Image. * LayoutTests/TestExpectations: Some of the WPT tests have been marked as ImageOnlyFailure in this patch because the expected results are now working as expected but the tests are not. Unfortunately the tests and the expected results are both using mask-image. So without this change they match because they both draw
[webkit-changes] [WebKit/WebKit] c9652a: [GPU Process] Ensure that only supported image dec...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c9652add6ae4f3b544496ffde359510dd71b65ee https://github.com/WebKit/WebKit/commit/c9652add6ae4f3b544496ffde359510dd71b65ee Author: Said Abou-Hallawa Date: 2023-09-28 (Thu, 28 Sep 2023) Changed paths: M Source/WebCore/platform/graphics/cg/UTIRegistry.cpp M Source/WebCore/platform/graphics/cg/UTIRegistry.h M Source/WebCore/platform/network/mac/UTIUtilities.h M Source/WebCore/platform/network/mac/UTIUtilities.mm M Source/WebKit/GPUProcess/GPUProcess.cpp M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: --- [GPU Process] Ensure that only supported image decoders run in the WebProcess https://bugs.webkit.org/show_bug.cgi?id=256852 rdar://109414332 Reviewed by Brent Fulgham. Ensure that ImageIO is allowed to decode only the (default + additional) supported image types even outside WebKit rendering code path for example displaying a bitmap image in a PDF document. This work will be done for WK2 only. WK1 allows setting the prefrences only after creating the WebView. And We use the prefrences to set the additional supported image types. So there is no way to pass to know additional supported image types when the WebView is created. And ImageIO expects CGImageSourceSetAllowableTypes() to be called only once. * Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp: (WebCore::ImageDecoderCG::encodedDataStatus const): * Source/WebCore/platform/graphics/cg/UTIRegistry.cpp: (WebCore::allowableImageTypes): * Source/WebCore/platform/graphics/cg/UTIRegistry.h: * Source/WebCore/platform/network/mac/UTIUtilities.h: * Source/WebCore/platform/network/mac/UTIUtilities.mm: (WebCore::setImageSourceAllowableTypes): * Source/WebKit/GPUProcess/GPUProcess.cpp: (WebKit::GPUProcess::initializeGPUProcess): * Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::platformInitialize): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::m_appHighlightsVisible): Canonical link: https://commits.webkit.org/268617@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 318e17: [Filters] Enable CoreGraphics drop shadow filter
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 318e17617453d0d42d4cd3f8d425634422516e7c https://github.com/WebKit/WebKit/commit/318e17617453d0d42d4cd3f8d425634422516e7c Author: Said Abou-Hallawa Date: 2023-09-22 (Fri, 22 Sep 2023) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp M Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp Log Message: --- [Filters] Enable CoreGraphics drop shadow filter https://bugs.webkit.org/show_bug.cgi?id=261925 rdar://98820279 Reviewed by Cameron McCormack. Software filters use ImageBuffers to generate the result of their applying to the target element. These buffers can take significant amount of memory if the target element is large or the number of effects are big. CoreGraphics provides a better way to apply FilterEffects. A CGStyle can be used to apply the FilterEffect to the current drawing. Also beginTransparencyLayer()/ endTransparencyLayer() can be used to force applying the FilterEffect only when composting the layer to the destination GraphicsContext. This will treat the drawing commands between beginning and ending the transparency layer as a unit of drawing. Although ColorMatrix and GussianBlur CGStyles are available on macOS Sonoma and iOS 17, only DropShadow style will be enabled by this patch. The other styles will be enabled in future patches after fixing the expected fuzziness. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp: (WebCore::FEColorMatrix::supportedFilterRenderingModes const): * Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp: (WebCore::FEGaussianBlur::supportedFilterRenderingModes const): Canonical link: https://commits.webkit.org/268354@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 942e7a: Unreviewed, fix build break after 268350@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 942e7a9eb528690b477252d25d21d7d9fd6fdaa3 https://github.com/WebKit/WebKit/commit/942e7a9eb528690b477252d25d21d7d9fd6fdaa3 Author: Said Abou-Hallawa Date: 2023-09-22 (Fri, 22 Sep 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm Log Message: --- Unreviewed, fix build break after 268350@main * Tools/TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm: Canonical link: https://commits.webkit.org/268353@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a73cf0: [Filters] Do not clip the destination context when...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a73cf0548cd6e04f725ac36102b13cb4890781da https://github.com/WebKit/WebKit/commit/a73cf0548cd6e04f725ac36102b13cb4890781da Author: Said Abou-Hallawa Date: 2023-09-22 (Fri, 22 Sep 2023) Changed paths: A LayoutTests/css3/filters/drop-shadow-child-clipped-expected.html A LayoutTests/css3/filters/drop-shadow-child-clipped.html M LayoutTests/fast/filter-image/clipped-filter.html M Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.h M Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.h M Source/WebCore/platform/graphics/filters/FilterTargetSwitcher.h M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/RenderLayerFilters.cpp M Source/WebCore/rendering/RenderLayerFilters.h M Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp Log Message: --- [Filters] Do not clip the destination context when compositing the filter style transparency layers https://bugs.webkit.org/show_bug.cgi?id=261926 rdar://115901634 Reviewed by Simon Fraser. Clipping is not needed at that time because it has to be applied to the filter style transparency layers before drawing the target element. If this unneeded clipping is applied, removing this clipping will overlap with ending the transparency layers. This will end up calling GraphicsContext::restore() with the wrong purpose. Rename FilterTargetSwitcher::needsRedrawSourceImage() to hasSourceImage() and flip its meaning. This will make differentiating software filters from style filters clearer. When hasSourceImage() is true, this means the target element is drawn to an ImageBuffer. * LayoutTests/css3/filters/drop-shadow-child-clipped-expected.html: Added. * LayoutTests/css3/filters/drop-shadow-child-clipped.html: Added. * LayoutTests/fast/filter-image/clipped-filter.html: * Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.h: * Source/WebCore/platform/graphics/filters/FilterStyleTargetSwitcher.h: (): Deleted. * Source/WebCore/platform/graphics/filters/FilterTargetSwitcher.h: (WebCore::FilterTargetSwitcher::hasSourceImage const): (WebCore::FilterTargetSwitcher::needsRedrawSourceImage const): Deleted. * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::applyFilters): * Source/WebCore/rendering/RenderLayerFilters.cpp: (WebCore::RenderLayerFilters::hasSourceImage const): (WebCore::RenderLayerFilters::beginFilterEffect): (WebCore::RenderLayerFilters::needsRedrawSourceImage const): Deleted. * Source/WebCore/rendering/RenderLayerFilters.h: * Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::applyResource): Canonical link: https://commits.webkit.org/268341@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 39763b: [Filters] Filters with outsets have to repaint all...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 39763b0eba704c47027dffc65c907386376c8590 https://github.com/WebKit/WebKit/commit/39763b0eba704c47027dffc65c907386376c8590 Author: Said Abou-Hallawa Date: 2023-09-21 (Thu, 21 Sep 2023) Changed paths: A LayoutTests/css3/filters/drop-shadow-target-clipped-expected.html A LayoutTests/css3/filters/drop-shadow-target-clipped.html M Source/WebCore/rendering/RenderLayerFilters.cpp M Source/WebCore/rendering/RenderLayerFilters.h Log Message: --- [Filters] Filters with outsets have to repaint all the filterRegion if GraphicsStyles are used https://bugs.webkit.org/show_bug.cgi?id=261856 rdar://115817290 Reviewed by Simon Fraser. The bounding box of a target element might all be clipped. But a filter effect, like drop shadow, may still be visible in the current viewport. If GraphicsStyles are used, we need to redraw the whole filterRegion. * LayoutTests/css3/filters/drop-shadow-target-clipped-expected.html: Added. * LayoutTests/css3/filters/drop-shadow-target-clipped.html: Added. * Source/WebCore/rendering/RenderLayerFilters.cpp: (WebCore::RenderLayerFilters::needsRedrawSourceImage const): (WebCore::RenderLayerFilters::beginFilterEffect): * Source/WebCore/rendering/RenderLayerFilters.h: Canonical link: https://commits.webkit.org/268282@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cbbe52: [CSS Masking] SVG masks are not working as 'mask-i...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cbbe5238d695fcf62431ab47772f5f4fe25a0559 https://github.com/WebKit/WebKit/commit/cbbe5238d695fcf62431ab47772f5f4fe25a0559 Author: Said Abou-Hallawa Date: 2023-09-21 (Thu, 21 Sep 2023) Changed paths: M LayoutTests/TestExpectations A LayoutTests/css3/masking/mask-reference-png-fragment-expected.html A LayoutTests/css3/masking/mask-reference-png-fragment.html A LayoutTests/css3/masking/resources/red-100x100.png A LayoutTests/http/tests/css/css-masking/mask-external-svg-fragment-expected.html A LayoutTests/http/tests/css/css-masking/mask-external-svg-fragment.html A LayoutTests/http/tests/css/css-masking/mask-external-svg-image-expected.html A LayoutTests/http/tests/css/css-masking/mask-external-svg-image.html A LayoutTests/http/tests/css/css-masking/mask-external-svg-mask-expected.html A LayoutTests/http/tests/css/css-masking/mask-external-svg-mask.html A LayoutTests/http/tests/css/css-masking/mask-inline-svg-image-expected.html A LayoutTests/http/tests/css/css-masking/mask-inline-svg-image.html A LayoutTests/http/tests/css/css-masking/mask-inline-svg-mask-expected.html A LayoutTests/http/tests/css/css-masking/mask-inline-svg-mask.html A LayoutTests/http/tests/css/css-masking/resources/heart.svg A LayoutTests/http/tests/css/css-masking/resources/star-heart-fragments.svg A LayoutTests/http/tests/css/css-masking/resources/star-heart-masks.svg A LayoutTests/http/tests/css/css-masking/resources/star.svg M LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-opacity-1d.html M LayoutTests/platform/mac-wk1/TestExpectations M LayoutTests/platform/wpe/TestExpectations M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/css/CSSImageValue.cpp M Source/WebCore/platform/graphics/Image.cpp M Source/WebCore/platform/graphics/Image.h M Source/WebCore/rendering/BorderPainter.cpp M Source/WebCore/rendering/CSSFilter.cpp M Source/WebCore/rendering/InlineBoxPainter.cpp M Source/WebCore/rendering/ReferencedSVGResources.cpp M Source/WebCore/rendering/ReferencedSVGResources.h M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/RenderElement.cpp M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/RenderLayerBacking.cpp M Source/WebCore/rendering/style/FillLayer.cpp M Source/WebCore/rendering/style/FillLayer.h M Source/WebCore/rendering/style/NinePieceImage.cpp M Source/WebCore/rendering/style/StyleCachedImage.cpp M Source/WebCore/rendering/style/StyleCachedImage.h M Source/WebCore/rendering/style/StyleImage.h M Source/WebCore/rendering/style/StyleMultiImage.cpp M Source/WebCore/rendering/style/StyleMultiImage.h M Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp M Source/WebCore/rendering/svg/RenderSVGResourceMasker.h M Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp M Source/WebCore/rendering/svg/SVGResources.cpp M Source/WebCore/svg/graphics/SVGImage.cpp M Source/WebCore/svg/graphics/SVGImage.h A Source/WebCore/svg/graphics/SVGResourceImage.cpp A Source/WebCore/svg/graphics/SVGResourceImage.h Log Message: --- [CSS Masking] SVG masks are not working as 'mask-image' https://bugs.webkit.org/show_bug.cgi?id=260732 rdar://114465545 Reviewed by Simon Fraser. Implement CSS masking when it references an SVG masker. There seven cases for mask-image values that need to be considered: 1. Bitmap image 2. Bitmap image fragment 3. External SVG image 4. External SVG image fragment 5. External SVG image mask 6. Inline data URL image 7. Inline SVG image mask StyleCachedImage will be adjusted to take into account the seventh case. Functions like StyleCachedImage::isLoaded() and StyleCachedImage::canRender() will have to handle the new case where StyleCachedImage represents an inline referenced SVG masker. So isLoaded() needs to a take a RenderElement to be able to resolve the imageURL. A new super-class of GeneratedImage named SVGResourceImage will be introduced to handle drawing the SVG resource given its renderer. SVGResourceImage will handle the cases of external and inline SVG resources. We can't know whether the ID associated with an external image is a fragment ID or a mask ID in an SVGImage till the CachedImage is loaded. StyleCachedImage::image() is called only after the image is completely loaded. So it can decide to create an SVGResourceImage or to let the CachedImage creates its Image. * LayoutTests/TestExpectations: Some of the WPT tests have been marked as ImageOnlyFailure in this patch because the expected results are now working as expected but the tests are not. Unfortunately the tests and the expected results are both using mask-image. So without this change they match because they both draw
[webkit-changes] [WebKit/WebKit] db985e: [Filters] Don't override the alpha channel of the ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: db985ec58914e7fe75e5d947e31bcb4f8e82a545 https://github.com/WebKit/WebKit/commit/db985ec58914e7fe75e5d947e31bcb4f8e82a545 Author: Said Abou-Hallawa Date: 2023-09-20 (Wed, 20 Sep 2023) Changed paths: M Source/WebCore/platform/graphics/GraphicsStyle.cpp M Source/WebCore/platform/graphics/GraphicsStyle.h M Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp M Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp M Source/WebCore/platform/graphics/filters/FEDropShadow.cpp M Source/WebCore/rendering/TextPainter.cpp Log Message: --- [Filters] Don't override the alpha channel of the GraphicsDropShadow color by the shadow opacity https://bugs.webkit.org/show_bug.cgi?id=261841 rdar://115812347 Reviewed by Cameron McCormack. The shadow opacity should be applied to GraphicsContext before setting the drop shadow style. The color of the drop shadow should preserve its alpha channel. * Source/WebCore/platform/graphics/GraphicsStyle.cpp: (WebCore::operator<<): * Source/WebCore/platform/graphics/GraphicsStyle.h: (WebCore::GraphicsDropShadow::encode const): (WebCore::GraphicsDropShadow::decode): * Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContextCG::setCGShadow): * Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp: (WebCore::DrawGlyphsRecorder::updateShadow): * Source/WebCore/platform/graphics/filters/FEDropShadow.cpp: (WebCore::FEDropShadow::createGraphicsStyle const): * Source/WebCore/rendering/TextPainter.cpp: Canonical link: https://commits.webkit.org/268233@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] dd7184: [Gardening]: Fix possible false assertion in some ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: dd718445002250b7bd5490ce53fa692e52586852 https://github.com/WebKit/WebKit/commit/dd718445002250b7bd5490ce53fa692e52586852 Author: Said Abou-Hallawa Date: 2023-09-08 (Fri, 08 Sep 2023) Changed paths: M Source/WebCore/platform/graphics/GraphicsContextState.cpp Log Message: --- [Gardening]: Fix possible false assertion in some layout tests after 266772@main https://bugs.webkit.org/show_bug.cgi?id=261296 rdar://115138846 Unreviewed test gardening. Remove an optimization which can re-purpose GraphicsContextState incorrectly when it is cloned for recording a GlyphBuffer for a TextRun. * Source/WebCore/platform/graphics/GraphicsContextState.cpp: (WebCore::GraphicsContextState::repurpose): Canonical link: https://commits.webkit.org/267803@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7d3126: Associate a purpose for each GraphicsContextState ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7d3126b3705a8d90653f9efad3c6d7246307bd09 https://github.com/WebKit/WebKit/commit/7d3126b3705a8d90653f9efad3c6d7246307bd09 Author: Said Abou-Hallawa Date: 2023-09-08 (Fri, 08 Sep 2023) Changed paths: M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h M Source/WebCore/platform/graphics/FontCascade.cpp M Source/WebCore/platform/graphics/GraphicsContext.cpp M Source/WebCore/platform/graphics/GraphicsContext.h M Source/WebCore/platform/graphics/GraphicsContextState.cpp M Source/WebCore/platform/graphics/GraphicsContextState.h M Source/WebCore/platform/graphics/NullGraphicsContext.h M Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp M Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h M Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp M Source/WebCore/platform/graphics/cg/GraphicsContextCG.h M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h M Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp M Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h Log Message: --- Associate a purpose for each GraphicsContextState in the context state stack https://bugs.webkit.org/show_bug.cgi?id=261296 rdar://115138846 Reviewed by Simon Fraser. We internally call GraphicsContext::save() when we begin a transparency layer and we call GraphicsContext::restore() when we end the transparency layer. Differentiating when this happens from normal save/restore will make it easy to unwind the stack of the GraphicsContextState and the transparency layers in the right order. * Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp: (WebCore::BifurcatedGraphicsContext::save): (WebCore::BifurcatedGraphicsContext::restore): (WebCore::BifurcatedGraphicsContext::beginTransparencyLayer): (WebCore::BifurcatedGraphicsContext::endTransparencyLayer): * Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h: * Source/WebCore/platform/graphics/FontCascade.cpp: (WebCore::FontCascade::displayListForTextRun const): * Source/WebCore/platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::save): (WebCore::GraphicsContext::restore): * Source/WebCore/platform/graphics/GraphicsContext.h: * Source/WebCore/platform/graphics/GraphicsContextState.cpp: (WebCore::GraphicsContextState::repurpose): (WebCore::GraphicsContextState::clone const): (WebCore::GraphicsContextState::cloneForRecording const): Deleted. (WebCore::GraphicsContextState::didBeginTransparencyLayer): Deleted. * Source/WebCore/platform/graphics/GraphicsContextState.h: (WebCore::GraphicsContextState::purpose const): * Source/WebCore/platform/graphics/NullGraphicsContext.h: * Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContextCairo::save): (WebCore::GraphicsContextCairo::restore): * Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h: * Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContextCG::save): (WebCore::GraphicsContextCG::restore): (WebCore::GraphicsContextCG::beginTransparencyLayer): (WebCore::GraphicsContextCG::endTransparencyLayer): * Source/WebCore/platform/graphics/cg/GraphicsContextCG.h: * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp: (WebCore::DisplayList::Recorder::save): (WebCore::DisplayList::Recorder::restore): (WebCore::DisplayList::Recorder::beginTransparencyLayer): (WebCore::DisplayList::Recorder::endTransparencyLayer): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h: (WebCore::DisplayList::Recorder::ContextState::cloneForTransparencyLayer const): (WebCore::DisplayList::Recorder::ContextState::ContextState): Deleted. * Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp: (Nicosia::CairoOperationRecorder::save): (Nicosia::CairoOperationRecorder::restore): * Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h: Canonical link: https://commits.webkit.org/267790@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 46e9c0: Rename DisplayList::DisplayListItem to DisplayList...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 46e9c071bff4d625b0d214b50e06c48c5ce542fa https://github.com/WebKit/WebKit/commit/46e9c071bff4d625b0d214b50e06c48c5ce542fa Author: Said Abou-Hallawa Date: 2023-08-29 (Tue, 29 Aug 2023) Changed paths: M Source/WebCore/Headers.cmake M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/platform/graphics/displaylists/DisplayList.cpp M Source/WebCore/platform/graphics/displaylists/DisplayList.h A Source/WebCore/platform/graphics/displaylists/DisplayListItem.cpp A Source/WebCore/platform/graphics/displaylists/DisplayListItem.h M Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListItems.h M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h M Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.h M Tools/TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp Log Message: --- Rename DisplayList::DisplayListItem to DisplayList::Item and move it to a separate file https://bugs.webkit.org/show_bug.cgi?id=260668 rdar://114391530 Reviewed by Kimmo Kinnunen. Remove the redundancy in the name and create dedicated source and header files for the DisplayList::Item. Move its existing functions from DisplayListItems.cpp and DisplayListReplayer.cpp to the new files. * Source/WebCore/Headers.cmake: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/graphics/displaylists/DisplayList.cpp: (WebCore::DisplayList::DisplayList::append): (WebCore::DisplayList::DisplayList::asText const): (WebCore::DisplayList::DisplayList::dump const): * Source/WebCore/platform/graphics/displaylists/DisplayList.h: (WebCore::DisplayList::DisplayList::items const): (WebCore::DisplayList::DisplayList::items): * Source/WebCore/platform/graphics/displaylists/DisplayListItem.cpp: Copied from Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.cpp. (WebCore::DisplayList::isValid): (WebCore::DisplayList::applyImageBufferItem): (WebCore::DisplayList::applyNativeImageItem): (WebCore::DisplayList::applySourceImageItem): (WebCore::DisplayList::applySetStateItem): (WebCore::DisplayList::applyDrawGlyphs): (WebCore::DisplayList::applyDrawDecomposedGlyphs): (WebCore::DisplayList::applyItem): (WebCore::DisplayList::shouldDumpItem): (WebCore::DisplayList::dumpItem): (WebCore::DisplayList::operator<<): * Source/WebCore/platform/graphics/displaylists/DisplayListItem.h: Added. * Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp: (WebCore::DisplayList::shouldDumpDisplayListItem): Deleted. (WebCore::DisplayList::dumpDisplayListItem): Deleted. * Source/WebCore/platform/graphics/displaylists/DisplayListItems.h: (WebCore::DisplayList::isValid): Deleted. (WebCore::DisplayList::operator<<): Deleted. * Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h: (WebCore::DisplayList::RecorderImpl::append): * Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.cpp: (WebCore::DisplayList::Replayer::Replayer): (WebCore::DisplayList::Replayer::replay): (WebCore::DisplayList::applyImageBufferItem): Deleted. (WebCore::DisplayList::applyNativeImageItem): Deleted. (WebCore::DisplayList::applySourceImageItem): Deleted. (WebCore::DisplayList::applySetStateItem): Deleted. (WebCore::DisplayList::applyDrawGlyphs): Deleted. (WebCore::DisplayList::applyDrawDecomposedGlyphs): Deleted. (WebCore::DisplayList::Replayer::applyItem): Deleted. * Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.h: * Tools/TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/267431@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2f7775: Remove InMemoryDisplayList
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2f7775558dc854a5ccbf94798d75f1ace93dbccd https://github.com/WebKit/WebKit/commit/2f7775558dc854a5ccbf94798d75f1ace93dbccd Author: Said Abou-Hallawa Date: 2023-08-23 (Wed, 23 Aug 2023) Changed paths: M Source/WebCore/Headers.cmake M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/html/HTMLCanvasElement.cpp M Source/WebCore/platform/graphics/FontCascade.cpp M Source/WebCore/platform/graphics/FontCascade.h M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h M Source/WebCore/platform/graphics/displaylists/DisplayList.cpp M Source/WebCore/platform/graphics/displaylists/DisplayList.h M Source/WebCore/platform/graphics/displaylists/DisplayListDrawingContext.h M Source/WebCore/platform/graphics/displaylists/DisplayListImageBuffer.h R Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp R Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.h R Source/WebCore/platform/graphics/displaylists/DisplayListItemBufferIdentifier.h R Source/WebCore/platform/graphics/displaylists/DisplayListItemType.cpp R Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h M Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListItems.h R Source/WebCore/platform/graphics/displaylists/DisplayListIterator.cpp R Source/WebCore/platform/graphics/displaylists/DisplayListIterator.h M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h M Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.h R Source/WebCore/platform/graphics/displaylists/InMemoryDisplayList.cpp R Source/WebCore/platform/graphics/displaylists/InMemoryDisplayList.h M Source/WebCore/rendering/GlyphDisplayListCache.cpp M Source/WebCore/rendering/GlyphDisplayListCache.h M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp M Tools/TestWebKitAPI/Tests/WebCore/DisplayListRecorderTests.cpp M Tools/TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp M Tools/TestWebKitAPI/Tests/WebCore/cg/BifurcatedGraphicsContextTestsCG.cpp M Tools/TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp Log Message: --- Remove InMemoryDisplayList https://bugs.webkit.org/show_bug.cgi?id=260213 rdar://113921399 Reviewed by Kimmo Kinnunen and Wenson Hsieh. Make DisplayList hold a Vector of DisplayList items. There is no need for its read and write clients anymore. They were used in the past to share the recorded DisplayList items with GPU Process through a ring buffer. After introducing the StreamConnection, using the DisplayList became limited to the TextPainter recording. Simplifying this code will allow replaying back a whole DisplayList in GPU Process all at once. * Source/WebCore/Headers.cmake: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/html/HTMLCanvasElement.cpp: * Source/WebCore/platform/graphics/FontCascade.cpp: (WebCore::FontCascade::displayListForTextRun const): * Source/WebCore/platform/graphics/FontCascade.h: (WebCore::FontCascade::displayListForTextRun): * Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::recursiveCommitChanges): (WebCore::GraphicsLayerCA::platformCALayerPaintContents): * Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h: * Source/WebCore/platform/graphics/displaylists/DisplayList.cpp: (WebCore::DisplayList::DisplayList::append): (WebCore::DisplayList::DisplayList::shrinkToFit): (WebCore::DisplayList::DisplayList::clear): (WebCore::DisplayList::DisplayList::isEmpty const): (WebCore::DisplayList::DisplayList::cacheImageBuffer): (WebCore::DisplayList::DisplayList::cacheNativeImage): (WebCore::DisplayList::DisplayList::cacheFont): (WebCore::DisplayList::DisplayList::cacheDecomposedGlyphs): (WebCore::DisplayList::DisplayList::cacheGradient): (WebCore::DisplayList::DisplayList::cacheFilter): (WebCore::DisplayList::DisplayList::asText const): (WebCore::DisplayList::DisplayList::dump const): (WebCore::DisplayList::DisplayList::description const): Deleted. (WebCore::DisplayList::DisplayList::DisplayList): Deleted. (WebCore::DisplayList::m_items): Deleted. (WebCore::DisplayList::DisplayList::operator=): Deleted. (WebCore::DisplayList::DisplayList::shouldDumpForFlags): Deleted. (WebCore::DisplayList::DisplayList::sizeInBytes const): Deleted. (WebCore::DisplayList::DisplayList::itemBuffer): Deleted. (WebCore::DisplayList::DisplayList::setItemBufferReadingClient): Deleted. (WebCore
[webkit-changes] [WebKit/WebKit] e5cffa: ResourceHeap clean-up
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e5cffaf13292c4932f8f4a3c023ff19ee286e15c https://github.com/WebKit/WebKit/commit/e5cffaf13292c4932f8f4a3c023ff19ee286e15c Author: Said Abou-Hallawa Date: 2023-08-21 (Mon, 21 Aug 2023) Changed paths: M Source/WebCore/platform/graphics/displaylists/DisplayList.h M Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in M Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp M Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp M Tools/TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp Log Message: --- ResourceHeap clean-up https://bugs.webkit.org/show_bug.cgi?id=260404 rdar://114103796 Reviewed by Kimmo Kinnunen. All rendering resource objects have RenderingResourceIdentifiers. So there is no need to pass this identifier when caching the resource object in ResourceHeap. It can be just retrieved from the resource object itself. * Source/WebCore/platform/graphics/displaylists/DisplayList.h: (WebCore::DisplayList::DisplayList::cacheImageBuffer): (WebCore::DisplayList::DisplayList::cacheNativeImage): (WebCore::DisplayList::DisplayList::cacheFont): (WebCore::DisplayList::DisplayList::cacheDecomposedGlyphs): (WebCore::DisplayList::DisplayList::cacheGradient): (WebCore::DisplayList::DisplayList::cacheFilter): * Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h: (WebCore::DisplayList::ResourceHeap::add): * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::didCreateImageBuffer): (WebKit::RemoteRenderingBackend::moveToImageBuffer): (WebKit::RemoteRenderingBackend::createImageBuffer): (WebKit::RemoteRenderingBackend::cacheNativeImage): (WebKit::RemoteRenderingBackend::cacheFont): (WebKit::RemoteRenderingBackend::cacheFontCustomPlatformData): (WebKit::RemoteRenderingBackend::cacheDecomposedGlyphs): (WebKit::RemoteRenderingBackend::cacheGradient): (WebKit::RemoteRenderingBackend::cacheFilter): * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h: * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in: * Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp: (WebKit::RemoteResourceCache::cacheImageBuffer): (WebKit::RemoteResourceCache::cacheNativeImage): (WebKit::RemoteResourceCache::cacheDecomposedGlyphs): (WebKit::RemoteResourceCache::cacheGradient): (WebKit::RemoteResourceCache::cacheFilter): (WebKit::RemoteResourceCache::cacheFont): (WebKit::RemoteResourceCache::cacheFontCustomPlatformData): * Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp: (WebKit::RemoteRenderingBackendProxy::cacheGradient): (WebKit::RemoteRenderingBackendProxy::cacheFilter): * Tools/TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/267117@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d5ada7: Remove LocalResourceHeap and QualifiedResourceHeap
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d5ada78e4261372ca6fb26a7ae6d12f9d73f5d9c https://github.com/WebKit/WebKit/commit/d5ada78e4261372ca6fb26a7ae6d12f9d73f5d9c Author: Said Abou-Hallawa Date: 2023-08-18 (Fri, 18 Aug 2023) Changed paths: M Source/WebCore/platform/graphics/displaylists/DisplayList.cpp M Source/WebCore/platform/graphics/displaylists/DisplayList.h M Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h M Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.cpp M Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.cpp M Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.cpp R Source/WebKit/GPUProcess/graphics/QualifiedRenderingResourceIdentifier.h R Source/WebKit/GPUProcess/graphics/QualifiedResourceHeap.h M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in M Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp M Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h M Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp M Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp M Tools/TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp Log Message: --- Remove LocalResourceHeap and QualifiedResourceHeap https://bugs.webkit.org/show_bug.cgi?id=260283 rdar://113983207 Reviewed by Kimmo Kinnunen. Move all the implementation of LocalResourceHeap to ResourceHeap. Replace QualifiedResourceHeap with ResourceHeap since qualifying the HashMap key RenderingResourceIdentifier with the ProcessIdentifer provides a redundant protection. Remove the ProcessIdentifer member of RemoteResourceCache since the owner RemoteRenderingBackend never changes it. * Source/WebCore/platform/graphics/displaylists/DisplayList.cpp: (WebCore::DisplayList::DisplayList::clear): * Source/WebCore/platform/graphics/displaylists/DisplayList.h: * Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h: (WebCore::DisplayList::ResourceHeap::add): (WebCore::DisplayList::ResourceHeap::getImageBuffer const): (WebCore::DisplayList::ResourceHeap::getNativeImage const): (WebCore::DisplayList::ResourceHeap::getSourceImage const): (WebCore::DisplayList::ResourceHeap::getDecomposedGlyphs const): (WebCore::DisplayList::ResourceHeap::getGradient const): (WebCore::DisplayList::ResourceHeap::getFilter const): (WebCore::DisplayList::ResourceHeap::getFont const): (WebCore::DisplayList::ResourceHeap::getFontCustomPlatformData const): (WebCore::DisplayList::ResourceHeap::resources const): (WebCore::DisplayList::ResourceHeap::removeImageBuffer): (WebCore::DisplayList::ResourceHeap::removeRenderingResource): (WebCore::DisplayList::ResourceHeap::removeFont): (WebCore::DisplayList::ResourceHeap::removeFontCustomPlatformData): (WebCore::DisplayList::ResourceHeap::clearAllResources): (WebCore::DisplayList::ResourceHeap::clearAllImageResources): (WebCore::DisplayList::ResourceHeap::clearAllDrawingResources): (WebCore::DisplayList::ResourceHeap::get const): (WebCore::DisplayList::ResourceHeap::remove): (WebCore::DisplayList::ResourceHeap::checkInvariants const): (WebCore::DisplayList::LocalResourceHeap::add): Deleted. (WebCore::DisplayList::LocalResourceHeap::clear): Deleted. (WebCore::DisplayList::LocalResourceHeap::get const): Deleted. * Source/WebKit/GPUProcess/ShapeDetection/RemoteBarcodeDetector.cpp: (WebKit::RemoteBarcodeDetector::detect): * Source/WebKit/GPUProcess/ShapeDetection/RemoteFaceDetector.cpp: (WebKit::RemoteFaceDetector::detect): * Source/WebKit/GPUProcess/ShapeDetection/RemoteTextDetector.cpp: (WebKit::RemoteTextDetector::detect): * Source/WebKit/GPUProcess/graphics/QualifiedRenderingResourceIdentifier.h: Removed. * Source/WebKit/GPUProcess/graphics/QualifiedResourceHeap.h: Removed. * Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::RemoteDisplayListRecorder): (WebKit::RemoteDisplayListRecorder::startListeningForIPC): (WebKit::RemoteDisplayListRecorder::stopListeningForIPC): (WebKit::RemoteDisplayListRecorder::setState): (WebKit::RemoteDisplayListRecorder::clipToImageBuffer): (WebKit::RemoteDisplayListRecorder::drawFilteredImageBufferInternal): (WebKit::RemoteDisplayListRecorder::drawFilteredImageBuffer): (WebKit::RemoteDisplayListRecorder::drawGlyphs): (WebKit
[webkit-changes] [WebKit/WebKit] 92815d: Remove unnecessary release assertion from mixed co...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 92815d03cb2a184e37abcb5a23d94f86d6fd54de https://github.com/WebKit/WebKit/commit/92815d03cb2a184e37abcb5a23d94f86d6fd54de Author: Ryan Reno Date: 2023-08-08 (Tue, 08 Aug 2023) Changed paths: M Source/WebCore/loader/MixedContentChecker.cpp Log Message: --- Remove unnecessary release assertion from mixed content checker. https://bugs.webkit.org/show_bug.cgi?id=258303 Reviewed by Brent Fulgham. We now check the entire frame tree for mixed content checks for all resources loads. An assertion that a document has a frame is no longer valid in general. This assertion was originally added in 215749@main in an attempt to cover an untestable case. This replaces the assert with a null check. * Source/WebCore/loader/MixedContentChecker.cpp: (WebCore::foundMixedContentInFrameTree): Originally-landed-as: 259548.841@safari-7615-branch (74f32c21189a). rdar://113285455 Canonical link: https://commits.webkit.org/266682@main Commit: a7d489f726c292c67933e32de013a15343c47b89 https://github.com/WebKit/WebKit/commit/a7d489f726c292c67933e32de013a15343c47b89 Author: Said Abou-Hallawa Date: 2023-08-08 (Tue, 08 Aug 2023) Changed paths: A LayoutTests/css3/filters/filter-visited-links-expected.html A LayoutTests/css3/filters/filter-visited-links.html M Source/WebCore/rendering/PaintPhase.h M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/StyledMarkedText.cpp M Source/WebCore/rendering/TextDecorationPainter.cpp M Source/WebCore/rendering/TextDecorationPainter.h M Source/WebCore/rendering/TextPaintStyle.cpp M Source/WebCore/rendering/style/RenderStyle.cpp M Source/WebCore/rendering/style/RenderStyle.h Log Message: --- Prevent SVG filters from leaking visited hyperlinks https://bugs.webkit.org/show_bug.cgi?id=257822 rdar://109749006 Reviewed by Simon Fraser. We should prevent websites from learning which sites have been visited via SVG filters on hyperlinks, per the attack described in https://arxiv.org/abs/2305.12784. This can be acheived by ignoring the visited links color when a filter is applied to the anchor element. * LayoutTests/css3/filters/filter-visited-links-expected.html: Added. * LayoutTests/css3/filters/filter-visited-links.html: Added. * Source/WebCore/rendering/PaintPhase.h: * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayerContents): (WebCore::RenderLayer::paintForegroundForFragments): (WebCore::RenderLayer::calculateClipRects const): * Source/WebCore/rendering/StyledMarkedText.cpp: (WebCore::resolveStyleForMarkedText): (WebCore::StyledMarkedText::computeStyleForUnmarkedMarkedText): * Source/WebCore/rendering/TextDecorationPainter.cpp: (WebCore::collectStylesForRenderer): (WebCore::TextDecorationPainter::decorationColor): (WebCore::TextDecorationPainter::stylesForRenderer): * Source/WebCore/rendering/TextDecorationPainter.h: (WebCore::TextDecorationPainter::decorationColor): (WebCore::TextDecorationPainter::stylesForRenderer): * Source/WebCore/rendering/TextPaintStyle.cpp: (WebCore::computeTextPaintStyle): * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::visitedDependentColor const): (WebCore::RenderStyle::visitedDependentColorWithColorFilter const): * Source/WebCore/rendering/style/RenderStyle.h: (WebCore::RenderStyle::visitedDependentColor): (WebCore::RenderStyle::visitedDependentColorWithColorFilter): Originally-landed-as: 259548.820@safari-7615-branch (89399f0f4614). rdar://113224260 Canonical link: https://commits.webkit.org/266683@main Compare: https://github.com/WebKit/WebKit/compare/0902da843aea...a7d489f726c2 ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3dc74d: SVG rect with rx or ry set to zero is drawn incorr...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3dc74d79ceb7bd7fe9cb76a3952a5ee42c41b705 https://github.com/WebKit/WebKit/commit/3dc74d79ceb7bd7fe9cb76a3952a5ee42c41b705 Author: Said Abou-Hallawa Date: 2023-08-07 (Mon, 07 Aug 2023) Changed paths: A LayoutTests/svg/custom/rect-radius-constraints-expected.svg A LayoutTests/svg/custom/rect-radius-constraints.svg M Source/WebCore/rendering/svg/SVGPathData.cpp Log Message: --- SVG rect with rx or ry set to zero is drawn incorrectly https://bugs.webkit.org/show_bug.cgi?id=259772 rdar://113396109 Reviewed by Nikolas Zimmermann. According to the SVG rect element specs [1], when rx or ry is set to negative, the other corner radius value is used. If rx or ry is set to zero, no rounded corner is drawn for the rect. [1] https://www.w3.org/TR/SVG2/geometry.html#RxProperty * LayoutTests/svg/custom/rect-radius-constraints-expected.svg: Added. * LayoutTests/svg/custom/rect-radius-constraints.svg: Added. * Source/WebCore/rendering/svg/SVGPathData.cpp: (WebCore::pathFromRectElement): Canonical link: https://commits.webkit.org/266641@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c9b0bf: Path::applyElements() should not trigger creation ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c9b0bf147c95ffa9390e93b6b784e28ada34bc9f https://github.com/WebKit/WebKit/commit/c9b0bf147c95ffa9390e93b6b784e28ada34bc9f Author: Said Abou-Hallawa Date: 2023-08-03 (Thu, 03 Aug 2023) Changed paths: M Source/WebCore/platform/graphics/Path.cpp M Source/WebCore/platform/graphics/PathImpl.h M Source/WebCore/platform/graphics/PathSegment.cpp M Source/WebCore/platform/graphics/PathSegment.h M Source/WebCore/platform/graphics/PathSegmentData.h M Source/WebCore/platform/graphics/PathStream.cpp M Source/WebCore/platform/graphics/PathStream.h M Source/WebCore/platform/graphics/cairo/PathCairo.cpp M Source/WebCore/platform/graphics/cairo/PathCairo.h M Source/WebCore/platform/graphics/cg/PathCG.cpp M Source/WebCore/platform/graphics/cg/PathCG.h Log Message: --- Path::applyElements() should not trigger creation of a platform path for simple segments https://bugs.webkit.org/show_bug.cgi?id=259795 rdar://113355740 Reviewed by Simon Fraser. Allow enumrating PathStream if it consist only of Move/Line/Quadratic/Cubic/Close segments without creating the platform path. Transform single segment and PathStream-based paths in place when applyElements() is called, to avoid the overhead of generating a platform path. If other segment types are in the path, continue to convert to a platform path first. * Source/WebCore/platform/graphics/Path.cpp: (WebCore::Path::closeSubpath): (WebCore::Path::applyElements const): * Source/WebCore/platform/graphics/PathImpl.h: * Source/WebCore/platform/graphics/PathSegment.cpp: (WebCore::PathSegment::canApplyElements const): (WebCore::PathSegment::applyElements const): * Source/WebCore/platform/graphics/PathSegment.h: * Source/WebCore/platform/graphics/PathSegmentData.h: (WebCore::PathArcTo::applyElements const): Deleted. (WebCore::PathArc::applyElements const): Deleted. (WebCore::PathEllipse::applyElements const): Deleted. (WebCore::PathEllipseInRect::applyElements const): Deleted. (WebCore::PathRect::applyElements const): Deleted. (WebCore::PathRoundedRect::applyElements const): Deleted. (WebCore::PathDataArc::applyElements const): Deleted. * Source/WebCore/platform/graphics/PathStream.cpp: (WebCore::PathStream::applyElements const): * Source/WebCore/platform/graphics/PathStream.h: * Source/WebCore/platform/graphics/cairo/PathCairo.cpp: (WebCore::PathCairo::applyElements const): * Source/WebCore/platform/graphics/cairo/PathCairo.h: * Source/WebCore/platform/graphics/cg/PathCG.cpp: (WebCore::PathCG::applyElements const): * Source/WebCore/platform/graphics/cg/PathCG.h: Canonical link: https://commits.webkit.org/266564@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes