Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 49361c471c5c6f924cf002cde4b99e93b35c6a5b
      
https://github.com/WebKit/WebKit/commit/49361c471c5c6f924cf002cde4b99e93b35c6a5b
  Author: Alex Christensen <achristen...@apple.com>
  Date:   2025-06-10 (Tue, 10 Jun 2025)

  Changed paths:
    M Source/WebCore/platform/graphics/filters/FELighting.h
    M 
Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.cpp
    M Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp
    M Source/WebCore/svg/SVGFESpecularLightingElement.cpp
    M Source/WebKit/Scripts/generate-serializers.py
    M Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp
    M Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp
    M Source/WebKit/Scripts/webkit/tests/TestSerializedType.serialization.in
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  FELighting.lightSource shouldn't return a Ref
https://bugs.webkit.org/show_bug.cgi?id=294261
rdar://152957868

Reviewed by Ryosuke Niwa.

LightSource is a pure virtual class, so decoder.decode<WebCore::LightSource>()
can't return anything but decoder.decode<Ref<WebCore::LightSource>>() can.
I added a bit of logic to the decoder generator to detect if we are decoding a
class with subclasses and decode a Ref<T> instead of a T.

Many thanks to Anne van Kesteren for finding this issue.

* Source/WebCore/platform/graphics/filters/FELighting.h:
(WebCore::FELighting::lightSource const):
* 
Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.cpp:
(WebCore::FELightingSoftwareApplier::apply const):
* Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
* Source/WebCore/svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
* Source/WebKit/Scripts/generate-serializers.py:
(decode_cf_type):
(should_decode_ref):
(decode_type):
(decode_type.is):
(generate_one_impl):
(generate_impl):
* Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp:
(IPC::ArgumentCoder<Namespace::CommonClass>::encode):
(IPC::ArgumentCoder<Namespace::CommonClass>::decode):
* Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp:
(WebKit::enumValueForIPCTestAPI):
(WebKit::allSerializedTypes):
* Source/WebKit/Scripts/webkit/tests/TestSerializedType.serialization.in:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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

Reply via email to