[webkit-changes] [WebKit/WebKit] e1be83: Remove the libavif project

2024-08-06 Thread Said Abou-Hallawa
  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...

2024-08-06 Thread Said Abou-Hallawa
  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...

2024-08-01 Thread Said Abou-Hallawa
  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

2024-07-30 Thread Said Abou-Hallawa
  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...

2024-07-04 Thread Said Abou-Hallawa
  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...

2024-07-01 Thread Said Abou-Hallawa
  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...

2024-06-23 Thread Said Abou-Hallawa
  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...

2024-06-22 Thread Said Abou-Hallawa
  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

2024-06-20 Thread Said Abou-Hallawa
  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

2024-06-19 Thread Said Abou-Hallawa
  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...

2024-06-19 Thread Said Abou-Hallawa
  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

2024-06-18 Thread Said Abou-Hallawa
  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...

2024-06-17 Thread Said Abou-Hallawa
  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...

2024-06-11 Thread Said Abou-Hallawa
  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

2024-06-04 Thread Said Abou-Hallawa
  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...

2024-06-04 Thread Said Abou-Hallawa
  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...

2024-05-31 Thread Said Abou-Hallawa
  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...

2024-05-29 Thread Said Abou-Hallawa
  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...

2024-05-28 Thread Said Abou-Hallawa
  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...

2024-05-25 Thread Said Abou-Hallawa
  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...

2024-05-22 Thread Said Abou-Hallawa
  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...

2024-05-21 Thread Said Abou-Hallawa
  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

2024-05-21 Thread Said Abou-Hallawa
  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...

2024-05-15 Thread Said Abou-Hallawa
  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...

2024-05-15 Thread Said Abou-Hallawa
  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...

2024-05-14 Thread Said Abou-Hallawa
  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...

2024-05-14 Thread Said Abou-Hallawa
  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 ...

2024-05-13 Thread Said Abou-Hallawa
  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....

2024-05-08 Thread Said Abou-Hallawa
  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...

2024-05-06 Thread Said Abou-Hallawa
  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...

2024-05-01 Thread Said Abou-Hallawa
  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...

2024-05-01 Thread Said Abou-Hallawa
  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...

2024-04-30 Thread Said Abou-Hallawa
  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...

2024-04-29 Thread Said Abou-Hallawa
  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

2024-04-25 Thread Said Abou-Hallawa
  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 ...

2024-04-23 Thread Said Abou-Hallawa
  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...

2024-04-22 Thread Said Abou-Hallawa
  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...

2024-04-16 Thread Said Abou-Hallawa
  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...

2024-04-11 Thread Said Abou-Hallawa
  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...

2024-04-10 Thread Said Abou-Hallawa
  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...

2024-04-04 Thread Said Abou-Hallawa
  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, ...

2024-04-01 Thread Said Abou-Hallawa
  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...

2024-03-29 Thread Said Abou-Hallawa
  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 ...

2024-03-27 Thread Said Abou-Hallawa
  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...

2024-03-26 Thread Said Abou-Hallawa
  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...

2024-03-25 Thread Said Abou-Hallawa
  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...

2024-03-21 Thread Said Abou-Hallawa
  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...

2024-03-21 Thread Said Abou-Hallawa
  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...

2024-03-15 Thread Said Abou-Hallawa
  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...

2024-03-03 Thread Said Abou-Hallawa
  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

2024-02-24 Thread Said Abou-Hallawa
  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...

2024-02-21 Thread Said Abou-Hallawa
  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...

2024-02-15 Thread Said Abou-Hallawa
  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

2024-02-02 Thread Said Abou-Hallawa
  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 ...

2024-01-30 Thread Said Abou-Hallawa
  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...

2024-01-29 Thread Said Abou-Hallawa
  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

2024-01-29 Thread Said Abou-Hallawa
  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()

2024-01-25 Thread Said Abou-Hallawa
  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...

2024-01-18 Thread Said Abou-Hallawa
  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...

2024-01-11 Thread Said Abou-Hallawa
  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

2024-01-10 Thread Said Abou-Hallawa
  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

2024-01-10 Thread Said Abou-Hallawa
  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

2024-01-09 Thread Said Abou-Hallawa
  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...

2023-12-14 Thread Said Abou-Hallawa
  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...

2023-11-15 Thread Said Abou-Hallawa
  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

2023-11-14 Thread Said Abou-Hallawa
  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...

2023-11-13 Thread Said Abou-Hallawa
  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...

2023-11-13 Thread Said Abou-Hallawa
  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...

2023-11-08 Thread Said Abou-Hallawa
  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...

2023-11-04 Thread Said Abou-Hallawa
  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...

2023-10-31 Thread Said Abou-Hallawa
  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...

2023-10-31 Thread Said Abou-Hallawa
  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 ...

2023-10-28 Thread Said Abou-Hallawa
  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

2023-10-27 Thread Said Abou-Hallawa
  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...

2023-10-27 Thread Said Abou-Hallawa
  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 ...

2023-10-23 Thread Said Abou-Hallawa
  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...

2023-10-19 Thread Said Abou-Hallawa
  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

2023-10-18 Thread Said Abou-Hallawa
  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 ...

2023-10-18 Thread Said Abou-Hallawa
  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 ...

2023-10-10 Thread Said Abou-Hallawa
  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...

2023-10-09 Thread Said Abou-Hallawa
  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()

2023-10-03 Thread Said Abou-Hallawa
  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...

2023-10-03 Thread Said Abou-Hallawa
  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...

2023-09-28 Thread Said Abou-Hallawa
  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...

2023-09-28 Thread Said Abou-Hallawa
  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

2023-09-23 Thread Said Abou-Hallawa
  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

2023-09-22 Thread Said Abou-Hallawa
  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...

2023-09-22 Thread Said Abou-Hallawa
  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...

2023-09-21 Thread Said Abou-Hallawa
  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...

2023-09-21 Thread Said Abou-Hallawa
  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 ...

2023-09-20 Thread Said Abou-Hallawa
  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 ...

2023-09-08 Thread Said Abou-Hallawa
  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 ...

2023-09-08 Thread Said Abou-Hallawa
  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...

2023-08-29 Thread Said Abou-Hallawa
  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

2023-08-23 Thread Said Abou-Hallawa
  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

2023-08-21 Thread Said Abou-Hallawa
  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

2023-08-18 Thread Said Abou-Hallawa
  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...

2023-08-08 Thread Said Abou-Hallawa
  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...

2023-08-07 Thread Said Abou-Hallawa
  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 ...

2023-08-03 Thread Said Abou-Hallawa
  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


  1   2   3   >