Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Filters] Generate serializers for Filter and FilterEffects #8314

Conversation

shallawa
Copy link
Contributor

@shallawa shallawa commented Jan 6, 2023

c4f56fe

[Filters] Generate serializers for Filter and FilterEffects
https://bugs.webkit.org/show_bug.cgi?id=250220
rdar://103960558

Reviewed by Alex Christensen.

Also remove FilterReference and replace it with Ref<Filter> and move the superclass
coders to WebCoreArgumentCoders.

* Source/WebCore/Headers.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/filters/DistantLightSource.h:
(WebCore::DistantLightSource::encode const): Deleted.
(WebCore::DistantLightSource::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEBlend.h:
(WebCore::FEBlend::encode const): Deleted.
(WebCore::FEBlend::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEColorMatrix.h:
(WebCore::FEColorMatrix::encode const): Deleted.
(WebCore::FEColorMatrix::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEComponentTransfer.h:
(WebCore::ComponentTransferFunction::encode const): Deleted.
(WebCore::ComponentTransferFunction::decode): Deleted.
(WebCore::FEComponentTransfer::encode const): Deleted.
(WebCore::FEComponentTransfer::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEComposite.h:
(WebCore::FEComposite::encode const): Deleted.
(WebCore::FEComposite::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h:
(WebCore::FEConvolveMatrix::encode const): Deleted.
(WebCore::FEConvolveMatrix::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEDiffuseLighting.cpp:
* Source/WebCore/platform/graphics/filters/FEDiffuseLighting.h:
(WebCore::FEDiffuseLighting::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEDisplacementMap.h:
(WebCore::FEDisplacementMap::encode const): Deleted.
(WebCore::FEDisplacementMap::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEDropShadow.h:
(WebCore::FEDropShadow::encode const): Deleted.
(WebCore::FEDropShadow::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEFlood.h:
(WebCore::FEFlood::encode const): Deleted.
(WebCore::FEFlood::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEGaussianBlur.h:
(WebCore::FEGaussianBlur::encode const): Deleted.
(WebCore::FEGaussianBlur::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEImage.h:
(WebCore::FEImage::encode const): Deleted.
(WebCore::FEImage::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FELighting.h:
(WebCore::FELighting::lightSource const):
(WebCore::FELighting::encode const): Deleted.
(WebCore::FELighting::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEMerge.h:
(WebCore::FEMerge::encode const): Deleted.
(WebCore::FEMerge::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEMorphology.h:
(WebCore::FEMorphology::encode const): Deleted.
(WebCore::FEMorphology::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEOffset.h:
(WebCore::FEOffset::encode const): Deleted.
(WebCore::FEOffset::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FESpecularLighting.cpp:
* Source/WebCore/platform/graphics/filters/FESpecularLighting.h:
(WebCore::FESpecularLighting::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FETurbulence.h:
(WebCore::FETurbulence::encode const): Deleted.
(WebCore::FETurbulence::decode): Deleted.
* Source/WebCore/platform/graphics/filters/Filter.h:
(isType):
* Source/WebCore/platform/graphics/filters/PointLightSource.h:
(WebCore::PointLightSource::encode const): Deleted.
(WebCore::PointLightSource::decode): Deleted.
* Source/WebCore/platform/graphics/filters/SpotLightSource.h:
(WebCore::SpotLightSource::encode const): Deleted.
(WebCore::SpotLightSource::decode): Deleted.
* 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/WebCore/svg/graphics/filters/SVGFilterExpression.h:
* Source/WebCore/svg/graphics/filters/SVGFilterExpressionReference.h: Copied from Source/WebCore/svg/graphics/filters/SVGFilterExpression.h.
(WebCore::SVGFilterExpressionNode::encode const):
(WebCore::SVGFilterExpressionNode::decode):
* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawFilteredImageBuffer):
* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h:
* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::getFilteredImageForImageBuffer):
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
* Source/WebKit/Platform/IPC/FilterReference.h: Removed.
* Source/WebKit/Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<LightSource>::encode):
(IPC::ArgumentCoder<LightSource>::decode):
(IPC::ArgumentCoder<FilterFunction>::encode):
(IPC::ArgumentCoder<FilterFunction>::decode):
(IPC::ArgumentCoder<FilterEffect>::encode):
(IPC::ArgumentCoder<FilterEffect>::decode):
(IPC::ArgumentCoder<CSSFilter>::encode):
(IPC::ArgumentCoder<CSSFilter>::decode):
(IPC::ArgumentCoder<SVGFilter>::encode):
(IPC::ArgumentCoder<SVGFilter>::decode):
(IPC::ArgumentCoder<Filter>::encode):
(IPC::ArgumentCoder<Filter>::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordDrawFilteredImageBuffer):
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::getFilteredImage):

Canonical link: https://commits.webkit.org/259862@main

c822841

Misc iOS, tvOS & watchOS macOS Linux Windows
βœ… πŸ§ͺ style βœ… πŸ›  ios βœ… πŸ›  mac βœ… πŸ›  wpe βœ… πŸ›  πŸ§ͺ win
βœ… πŸ§ͺ bindings βœ… πŸ›  ios-sim βœ… πŸ›  mac-AS-debug βœ… πŸ›  gtk βœ… πŸ›  wincairo
βœ… πŸ§ͺ webkitperl βœ… πŸ§ͺ ios-wk2 βœ… πŸ§ͺ api-mac βœ… πŸ§ͺ gtk-wk2
βœ… πŸ§ͺ webkitpy βœ… πŸ§ͺ api-ios βœ… πŸ§ͺ mac-wk1 ❌ πŸ§ͺ api-gtk
βœ… πŸ›  tv βœ… πŸ§ͺ mac-wk2
βœ… πŸ›  tv-sim   πŸ§ͺ mac-AS-debug-wk2
βœ… πŸ›  watch βœ… πŸ§ͺ mac-wk2-stress
βœ… πŸ›  πŸ§ͺ merge βœ… πŸ›  watch-sim

@shallawa shallawa requested a review from cdumez as a code owner January 6, 2023 19:15
@shallawa shallawa self-assigned this Jan 6, 2023
@shallawa shallawa added the Layout and Rendering For bugs with layout and rendering of Web pages. label Jan 6, 2023
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Jan 6, 2023
@shallawa shallawa removed the merging-blocked Applied to prevent a change from being merged label Jan 6, 2023
@shallawa shallawa force-pushed the eng/Filters-Generate-serializers-for-Filter-and-FilterEffects branch from 3bc0fb2 to 64efd2e Compare January 6, 2023 23:10
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Jan 7, 2023
@shallawa shallawa removed the merging-blocked Applied to prevent a change from being merged label Feb 4, 2023
@shallawa shallawa force-pushed the eng/Filters-Generate-serializers-for-Filter-and-FilterEffects branch from 64efd2e to c822841 Compare February 4, 2023 18:34
@shallawa shallawa added the merge-queue Applied to send a pull request to merge-queue label Feb 5, 2023
https://bugs.webkit.org/show_bug.cgi?id=250220
rdar://103960558

Reviewed by Alex Christensen.

Also remove FilterReference and replace it with Ref<Filter> and move the superclass
coders to WebCoreArgumentCoders.

* Source/WebCore/Headers.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/filters/DistantLightSource.h:
(WebCore::DistantLightSource::encode const): Deleted.
(WebCore::DistantLightSource::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEBlend.h:
(WebCore::FEBlend::encode const): Deleted.
(WebCore::FEBlend::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEColorMatrix.h:
(WebCore::FEColorMatrix::encode const): Deleted.
(WebCore::FEColorMatrix::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEComponentTransfer.h:
(WebCore::ComponentTransferFunction::encode const): Deleted.
(WebCore::ComponentTransferFunction::decode): Deleted.
(WebCore::FEComponentTransfer::encode const): Deleted.
(WebCore::FEComponentTransfer::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEComposite.h:
(WebCore::FEComposite::encode const): Deleted.
(WebCore::FEComposite::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEConvolveMatrix.h:
(WebCore::FEConvolveMatrix::encode const): Deleted.
(WebCore::FEConvolveMatrix::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEDiffuseLighting.cpp:
* Source/WebCore/platform/graphics/filters/FEDiffuseLighting.h:
(WebCore::FEDiffuseLighting::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEDisplacementMap.h:
(WebCore::FEDisplacementMap::encode const): Deleted.
(WebCore::FEDisplacementMap::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEDropShadow.h:
(WebCore::FEDropShadow::encode const): Deleted.
(WebCore::FEDropShadow::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEFlood.h:
(WebCore::FEFlood::encode const): Deleted.
(WebCore::FEFlood::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEGaussianBlur.h:
(WebCore::FEGaussianBlur::encode const): Deleted.
(WebCore::FEGaussianBlur::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEImage.h:
(WebCore::FEImage::encode const): Deleted.
(WebCore::FEImage::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FELighting.h:
(WebCore::FELighting::lightSource const):
(WebCore::FELighting::encode const): Deleted.
(WebCore::FELighting::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEMerge.h:
(WebCore::FEMerge::encode const): Deleted.
(WebCore::FEMerge::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEMorphology.h:
(WebCore::FEMorphology::encode const): Deleted.
(WebCore::FEMorphology::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FEOffset.h:
(WebCore::FEOffset::encode const): Deleted.
(WebCore::FEOffset::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FESpecularLighting.cpp:
* Source/WebCore/platform/graphics/filters/FESpecularLighting.h:
(WebCore::FESpecularLighting::decode): Deleted.
* Source/WebCore/platform/graphics/filters/FETurbulence.h:
(WebCore::FETurbulence::encode const): Deleted.
(WebCore::FETurbulence::decode): Deleted.
* Source/WebCore/platform/graphics/filters/Filter.h:
(isType):
* Source/WebCore/platform/graphics/filters/PointLightSource.h:
(WebCore::PointLightSource::encode const): Deleted.
(WebCore::PointLightSource::decode): Deleted.
* Source/WebCore/platform/graphics/filters/SpotLightSource.h:
(WebCore::SpotLightSource::encode const): Deleted.
(WebCore::SpotLightSource::decode): Deleted.
* 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/WebCore/svg/graphics/filters/SVGFilterExpression.h:
* Source/WebCore/svg/graphics/filters/SVGFilterExpressionReference.h: Copied from Source/WebCore/svg/graphics/filters/SVGFilterExpression.h.
(WebCore::SVGFilterExpressionNode::encode const):
(WebCore::SVGFilterExpressionNode::decode):
* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawFilteredImageBuffer):
* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h:
* Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::getFilteredImageForImageBuffer):
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
* Source/WebKit/Platform/IPC/FilterReference.h: Removed.
* Source/WebKit/Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<LightSource>::encode):
(IPC::ArgumentCoder<LightSource>::decode):
(IPC::ArgumentCoder<FilterFunction>::encode):
(IPC::ArgumentCoder<FilterFunction>::decode):
(IPC::ArgumentCoder<FilterEffect>::encode):
(IPC::ArgumentCoder<FilterEffect>::decode):
(IPC::ArgumentCoder<CSSFilter>::encode):
(IPC::ArgumentCoder<CSSFilter>::decode):
(IPC::ArgumentCoder<SVGFilter>::encode):
(IPC::ArgumentCoder<SVGFilter>::decode):
(IPC::ArgumentCoder<Filter>::encode):
(IPC::ArgumentCoder<Filter>::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordDrawFilteredImageBuffer):
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::getFilteredImage):

Canonical link: https://commits.webkit.org/259862@main
@webkit-early-warning-system webkit-early-warning-system force-pushed the eng/Filters-Generate-serializers-for-Filter-and-FilterEffects branch from c822841 to c4f56fe Compare February 5, 2023 01:33
@webkit-commit-queue
Copy link
Collaborator

Committed 259862@main (c4f56fe): https://commits.webkit.org/259862@main

Reviewed commits have been landed. Closing PR #8314 and removing active labels.

@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Feb 5, 2023
@webkit-early-warning-system webkit-early-warning-system merged commit c4f56fe into WebKit:main Feb 5, 2023
@shallawa shallawa deleted the eng/Filters-Generate-serializers-for-Filter-and-FilterEffects branch May 9, 2023 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Layout and Rendering For bugs with layout and rendering of Web pages.
Projects
None yet
5 participants