Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ef90833ee0ee96d9983960f95bac5691316dd254
https://github.com/WebKit/WebKit/commit/ef90833ee0ee96d9983960f95bac5691316dd254
Author: Claudio Saavedra <[email protected]>
Date: 2026-08-19 (Wed, 19 Aug 2026)
Changed paths:
M Source/WebKit/PlatformGTK.cmake
M Source/WebKit/PlatformWPE.cmake
M Source/WebKit/Scripts/generate-serializers.py
M Source/WebKit/Scripts/webkit/opaque_ipc_types.tracking.in
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/glib/ArgumentCodersGLib.cpp
M Source/WebKit/Shared/glib/ArgumentCodersGLib.h
A Source/WebKit/Shared/glib/CoreIPCGVariant.cpp
A Source/WebKit/Shared/glib/CoreIPCGVariant.h
A Source/WebKit/Shared/glib/CoreIPCGVariant.serialization.in
M Source/WebKit/SourcesGTK.txt
M Source/WebKit/SourcesWPE.txt
Log Message:
-----------
[GLIB] Add GRefPtrWrapper support to generate-serializers and generate
GVariant IPC serialization
https://bugs.webkit.org/show_bug.cgi?id=317939
Reviewed by Michael Catanzaro.
This adds GRefPtrWrapper to generate-serializers.py, which can be used to
generate a serializer for a type that is wrapped by GRefPtr. The
coding for such a type passes first for generated code that takes care
of unwrapping/wrapping a GRefPtr.
Use this to generate the serialization for GVariant, which now uses
GRefPtrWrapper=GVariant and a CoreIPC wrapper.
Also add unit-test coverage for the new generator, which apparently
also had outdated generated files; regenerate to update those as well.
These generated files can be used during review to check the consistency
of the GRefPtrWrapper-generated code.
Covered by existing API tests (for WebProcessUserExtensions user
messages, for example, which test GVariant IPC).
* Source/WebKit/PlatformGTK.cmake:
* Source/WebKit/PlatformWPE.cmake:
* Source/WebKit/Scripts/generate-serializers.py:
(SerializedType.__init__):
(SerializedType.namespace_and_name):
(SerializedType.should_skip_forward_declare):
(generate_header):
(generate_one_impl):
* Source/WebKit/Scripts/webkit/opaque_ipc_types.tracking.in:
* Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp:
(IPC::ArgumentCoder<GRefPtr<GFooBar>>::encode):
(IPC::ArgumentCoder<GRefPtr<GFooBar>>::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/glib/ArgumentCodersGLib.cpp:
(IPC::ArgumentCoder<GRefPtr<GVariant>>::encode): Deleted.
(IPC::ArgumentCoder<GRefPtr<GVariant>>::decode): Deleted.
* Source/WebKit/Shared/glib/ArgumentCodersGLib.h:
* Source/WebKit/Shared/glib/CoreIPCGVariant.cpp: Copied from
Source/WebKit/Shared/glib/ArgumentCodersGLib.h.
(WebKit::CoreIPCGVariant::CoreIPCGVariant):
(WebKit::CoreIPCGVariant::data const):
(WebKit::CoreIPCGVariant::operator GRefPtr<GVariant> const):
* Source/WebKit/Shared/glib/CoreIPCGVariant.h: Copied from
Source/WebKit/Shared/glib/ArgumentCodersGLib.h.
(WebKit::CoreIPCGVariant::typeString const):
* Source/WebKit/Shared/glib/CoreIPCGVariant.serialization.in: Added.
* Source/WebKit/SourcesGTK.txt:
* Source/WebKit/SourcesWPE.txt:
Canonical link: https://commits.webkit.org/319460@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications