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

Reply via email to