[webkit-changes] [WebKit/WebKit] ef78ea: Generate serializes for ObjectIdentifier (by addin...
Brady Eidson
noreply at github.com
Thu Sep 28 18:06:38 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ef78eaa134b5c063abbe9664a9b365eca1ef82e8
https://github.com/WebKit/WebKit/commit/ef78eaa134b5c063abbe9664a9b365eca1ef82e8
Author: Brady Eidson <beidson at apple.com>
Date: 2023-09-28 (Thu, 28 Sep 2023)
Changed paths:
M Source/JavaScriptCore/runtime/Microtask.h
M Source/WTF/wtf/ObjectIdentifier.h
M Source/WebCore/Modules/cache/DOMCacheIdentifier.h
M Source/WebCore/Modules/fetch/FetchIdentifier.h
M Source/WebCore/Modules/filesystemaccess/FileSystemHandleIdentifier.h
M Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandleIdentifier.h
M Source/WebCore/Modules/filesystemaccess/WorkerFileSystemStorageConnectionCallbackIdentifier.h
M Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.h
M Source/WebCore/Modules/permissions/MainThreadPermissionObserverIdentifier.h
M Source/WebCore/Modules/push-api/PushSubscriptionIdentifier.h
M Source/WebCore/Modules/speech/SpeechRecognitionConnectionClientIdentifier.h
M Source/WebCore/Modules/web-locks/WebLockIdentifier.h
M Source/WebCore/Modules/websockets/WebSocketIdentifier.h
M Source/WebCore/accessibility/AXCoreObject.h
M Source/WebCore/dom/BroadcastChannelIdentifier.h
M Source/WebCore/dom/ElementIdentifier.h
M Source/WebCore/dom/PortIdentifier.h
M Source/WebCore/editing/TextManipulationItemIdentifier.h
M Source/WebCore/editing/TextManipulationToken.h
M Source/WebCore/editing/cocoa/AttributedString.h
M Source/WebCore/page/GlobalWindowIdentifier.h
M Source/WebCore/page/SecurityOriginData.h
M Source/WebCore/page/cocoa/ImageOverlayDataDetectionResultIdentifier.h
M Source/WebCore/platform/MediaSessionGroupIdentifier.h
M Source/WebCore/platform/MediaUniqueIdentifier.h
M Source/WebCore/platform/ProcessIdentifier.h
M Source/WebCore/platform/graphics/ImageDecoderIdentifier.h
M Source/WebCore/platform/graphics/InbandGenericCueIdentifier.h
M Source/WebCore/platform/graphics/LayerHostingContextIdentifier.h
M Source/WebCore/platform/graphics/RenderingResourceIdentifier.h
M Source/WebCore/platform/graphics/mac/DisplayConfigurationMonitor.h
M Source/WebCore/platform/mediastream/RTCDataChannelLocalIdentifier.h
M Source/WebCore/platform/mediastream/RealtimeMediaSourceIdentifier.h
M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCSocketIdentifier.h
M Source/WebCore/platform/text/TextCheckingRequestIdentifier.h
M Source/WebCore/workers/service/ServiceWorkerIdentifier.h
M Source/WebCore/workers/service/ServiceWorkerTypes.h
M Source/WebCore/workers/service/background-fetch/BackgroundFetchRecordIdentifier.h
M Source/WebCore/workers/shared/SharedWorkerIdentifier.h
M Source/WebCore/worklets/WorkletGlobalScope.h
M Source/WebKit/GPUProcess/media/RemoteMediaResourceIdentifier.h
M Source/WebKit/GPUProcess/media/RemoteSourceBufferIdentifier.h
M Source/WebKit/GPUProcess/media/TrackPrivateRemoteIdentifier.h
M Source/WebKit/NetworkProcess/CustomProtocols/LegacyCustomProtocolID.h
M Source/WebKit/NetworkProcess/Downloads/DownloadID.h
M Source/WebKit/NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementNetworkLoaderCocoa.mm
M Source/WebKit/Platform/IPC/Connection.h
M Source/WebKit/Platform/IPC/DaemonCoders.cpp
M Source/WebKit/Scripts/generate-serializers.py
M Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp
M Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.h
M Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp
M Source/WebKit/Scripts/webkit/tests/TestSerializedType.serialization.in
M Source/WebKit/Shared/ContentWorldShared.h
M Source/WebKit/Shared/Extensions/WebExtensionControllerIdentifier.h
M Source/WebKit/Shared/ShapeDetectionIdentifier.h
M Source/WebKit/Shared/WTFArgumentCoders.serialization.in
M Source/WebKit/Shared/WebGPU/WebGPUIdentifier.h
M Source/WebKit/Shared/WebsiteData/QuotaIncreaseRequestIdentifier.h
M Source/WebKit/Shared/XR/XRDeviceIdentifier.h
M Source/WebKit/Shared/wc/WCContentBufferIdentifier.h
M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.h
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
M Source/WebKit/WebProcess/GPU/graphics/GraphicsContextGLIdentifier.h
M Source/WebKit/WebProcess/GPU/graphics/RenderingBackendIdentifier.h
M Source/WebKit/WebProcess/GPU/graphics/wc/WCLayerTreeHostIdentifier.h
M Source/WebKit/WebProcess/GPU/media/RemoteAudioHardwareListenerIdentifier.h
M Source/WebKit/WebProcess/GPU/media/RemoteAudioSessionIdentifier.h
M Source/WebKit/WebProcess/GPU/media/RemoteCDMIdentifier.h
M Source/WebKit/WebProcess/GPU/media/RemoteCDMInstanceIdentifier.h
M Source/WebKit/WebProcess/GPU/media/RemoteCDMInstanceSessionIdentifier.h
M Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMIdentifier.h
M Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSessionIdentifier.h
M Source/WebKit/WebProcess/GPU/media/RemoteMediaSourceIdentifier.h
M Source/WebKit/WebProcess/GPU/media/RemoteRemoteCommandListenerIdentifier.h
M Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameIdentifier.h
M Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitIdentifier.h
M Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderIdentifier.h
M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayerIdentifier.h
M Source/WebKit/WebProcess/GPU/webrtc/VideoDecoderIdentifier.h
M Source/WebKit/WebProcess/GPU/webrtc/VideoEncoderIdentifier.h
M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCResolverIdentifier.h
M Source/WebKit/WebProcess/Storage/RetrieveRecordResponseBodyCallbackIdentifier.h
M Source/WebKit/WebProcess/WebStorage/StorageAreaImplIdentifier.h
M Source/WebKit/WebProcess/WebStorage/StorageAreaMapIdentifier.h
M Source/WebKit/WebProcess/WebStorage/StorageNamespaceIdentifier.h
Log Message:
-----------
Generate serializes for ObjectIdentifier (by adding the ability to generate serializers for template specializations)
https://bugs.webkit.org/show_bug.cgi?id=262251
rdar://116159092
Reviewed by Alex Christensen.
This seems like a huge, complicated patch just to add generated serialization of what is essentially a uint64_t wrapper.
And it is.
But in doing so, it let me flesh out adding support for templates to generate-serializers.py
Lack of template support is something we've had to work around before, but no more! Hopefully!
(Sadly this also had to touch all the sites for identifiers that tagged with a raw enum,
as raw enums cannot be forward declared)
* Source/JavaScriptCore/runtime/Microtask.h:
(): Deleted.
* Source/WTF/wtf/ObjectIdentifier.h:
(WTF::ObjectIdentifierGenericBase::encode const): Deleted.
(WTF::ObjectIdentifierGenericBase::decode): Deleted.
(WTF::ObjectIdentifierGeneric::decode): Deleted.
* Source/WebCore/Modules/cache/DOMCacheIdentifier.h:
(): Deleted.
* Source/WebCore/Modules/fetch/FetchIdentifier.h:
(): Deleted.
* Source/WebCore/Modules/filesystemaccess/FileSystemHandleIdentifier.h:
(): Deleted.
* Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandleIdentifier.h:
(): Deleted.
* Source/WebCore/Modules/filesystemaccess/WorkerFileSystemStorageConnectionCallbackIdentifier.h:
(): Deleted.
* Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.h:
* Source/WebCore/Modules/permissions/MainThreadPermissionObserverIdentifier.h:
(): Deleted.
* Source/WebCore/Modules/push-api/PushSubscriptionIdentifier.h:
(): Deleted.
* Source/WebCore/Modules/speech/SpeechRecognitionConnectionClientIdentifier.h:
(): Deleted.
* Source/WebCore/Modules/web-locks/WebLockIdentifier.h:
(): Deleted.
* Source/WebCore/Modules/websockets/WebSocketIdentifier.h:
(): Deleted.
* Source/WebCore/accessibility/AXCoreObject.h:
* Source/WebCore/dom/BroadcastChannelIdentifier.h:
(): Deleted.
* Source/WebCore/dom/ElementIdentifier.h:
(): Deleted.
* Source/WebCore/dom/PortIdentifier.h:
(): Deleted.
* Source/WebCore/editing/TextManipulationItemIdentifier.h:
(): Deleted.
* Source/WebCore/editing/TextManipulationToken.h:
* Source/WebCore/editing/cocoa/AttributedString.h:
* Source/WebCore/page/GlobalWindowIdentifier.h:
(): Deleted.
* Source/WebCore/page/SecurityOriginData.h:
(): Deleted.
* Source/WebCore/page/cocoa/ImageOverlayDataDetectionResultIdentifier.h:
(): Deleted.
* Source/WebCore/platform/MediaSessionGroupIdentifier.h:
(): Deleted.
* Source/WebCore/platform/MediaUniqueIdentifier.h:
(): Deleted.
* Source/WebCore/platform/ProcessIdentifier.h:
(): Deleted.
* Source/WebCore/platform/graphics/ImageDecoderIdentifier.h:
(): Deleted.
* Source/WebCore/platform/graphics/InbandGenericCueIdentifier.h:
(): Deleted.
* Source/WebCore/platform/graphics/LayerHostingContextIdentifier.h:
(): Deleted.
* Source/WebCore/platform/graphics/RenderingResourceIdentifier.h:
(): Deleted.
* Source/WebCore/platform/graphics/mac/DisplayConfigurationMonitor.h:
* Source/WebCore/platform/mediastream/RTCDataChannelLocalIdentifier.h:
(): Deleted.
* Source/WebCore/platform/mediastream/RealtimeMediaSourceIdentifier.h:
(): Deleted.
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCSocketIdentifier.h:
(): Deleted.
* Source/WebCore/platform/text/TextCheckingRequestIdentifier.h:
(): Deleted.
* Source/WebCore/workers/service/ServiceWorkerIdentifier.h:
(): Deleted.
* Source/WebCore/workers/service/ServiceWorkerTypes.h:
(): Deleted.
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRecordIdentifier.h:
(): Deleted.
* Source/WebCore/workers/shared/SharedWorkerIdentifier.h:
(): Deleted.
* Source/WebCore/worklets/WorkletGlobalScope.h:
* Source/WebKit/GPUProcess/media/RemoteMediaResourceIdentifier.h:
(): Deleted.
* Source/WebKit/GPUProcess/media/RemoteSourceBufferIdentifier.h:
(): Deleted.
* Source/WebKit/GPUProcess/media/TrackPrivateRemoteIdentifier.h:
(): Deleted.
* Source/WebKit/NetworkProcess/CustomProtocols/LegacyCustomProtocolID.h:
(): Deleted.
* Source/WebKit/NetworkProcess/Downloads/DownloadID.h:
(): Deleted.
* Source/WebKit/NetworkProcess/PrivateClickMeasurement/cocoa/PrivateClickMeasurementNetworkLoaderCocoa.mm:
(): Deleted.
* Source/WebKit/Platform/IPC/Connection.h:
* Source/WebKit/Platform/IPC/DaemonCoders.cpp:
(WebKit::Daemon::Coder<WebCore::PushSubscriptionIdentifier>::encode):
(WebKit::Daemon::Coder<WebCore::PushSubscriptionIdentifier>::decode):
* Source/WebKit/Scripts/generate-serializers.py:
(Template):
(Template.__init__):
(Template.forward_declaration):
(Template.specialization):
(SerializedType.__init__):
(SerializedType.should_skip_forward_declare):
(one_argument_coder_declaration):
(argument_coder_declarations):
(generate_header):
(construct_type):
(construct_type.is):
(generate_one_impl):
(generate_impl):
(parse_serialized_types):
* Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp:
(IPC::ArgumentCoder<WebKit::TemplateTest<WebKit::Fabulous>>::encode):
(IPC::ArgumentCoder<WebKit::TemplateTest<WebKit::Fabulous>>::decode):
(IPC::ArgumentCoder<WebKit::TemplateTest<WebCore::Amazing>>::encode):
(IPC::ArgumentCoder<WebKit::TemplateTest<WebCore::Amazing>>::decode):
(IPC::ArgumentCoder<WebKit::TemplateTest<JSC::Incredible>>::encode):
(IPC::ArgumentCoder<WebKit::TemplateTest<JSC::Incredible>>::decode):
(IPC::ArgumentCoder<WebKit::TemplateTest<Testing::StorageSize>>::encode):
(IPC::ArgumentCoder<WebKit::TemplateTest<Testing::StorageSize>>::decode):
* Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.h:
* Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp:
(WebKit::allSerializedTypes):
* Source/WebKit/Scripts/webkit/tests/TestSerializedType.serialization.in:
* Source/WebKit/Shared/ContentWorldShared.h:
(): Deleted.
* Source/WebKit/Shared/Extensions/WebExtensionControllerIdentifier.h:
(): Deleted.
* Source/WebKit/Shared/ShapeDetectionIdentifier.h:
(): Deleted.
* Source/WebKit/Shared/WTFArgumentCoders.serialization.in:
* Source/WebKit/Shared/WebGPU/WebGPUIdentifier.h:
(): Deleted.
* Source/WebKit/Shared/WebsiteData/QuotaIncreaseRequestIdentifier.h:
(): Deleted.
* Source/WebKit/Shared/XR/XRDeviceIdentifier.h:
(): Deleted.
* Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.h:
* Source/WebKit/UIProcess/WebURLSchemeHandler.cpp:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
* Source/WebKit/WebProcess/GPU/graphics/GraphicsContextGLIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RenderingBackendIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteAudioHardwareListenerIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteAudioSessionIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteCDMIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteCDMInstanceIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteCDMInstanceSessionIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSessionIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteMediaSourceIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteRemoteCommandListenerIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/webrtc/MediaRecorderIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayerIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/webrtc/VideoDecoderIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/GPU/webrtc/VideoEncoderIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCResolverIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/Storage/RetrieveRecordResponseBodyCallbackIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/WebStorage/StorageAreaImplIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/WebStorage/StorageAreaMapIdentifier.h:
(): Deleted.
* Source/WebKit/WebProcess/WebStorage/StorageNamespaceIdentifier.h:
(): Deleted.
Canonical link: https://commits.webkit.org/268623@main
More information about the webkit-changes
mailing list