Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 8b4884931b2c0f8412cff37d9b8ae7724736b2f2
https://github.com/WebKit/WebKit/commit/8b4884931b2c0f8412cff37d9b8ae7724736b2f2
Author: Sihui Liu <[email protected]>
Date: 2024-09-12 (Thu, 12 Sep 2024)
Changed paths:
M Source/WebKit/Scripts/generate-serializers.py
M Source/WebKit/Scripts/webkit/messages_unittest.py
M Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.h
M Source/WebKit/Scripts/webkit/tests/GeneratedWebKitSecureCoding.cpp
M Source/WebKit/Scripts/webkit/tests/GeneratedWebKitSecureCoding.h
M Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp
M Source/WebKit/Scripts/webkit/tests/MessageNames.cpp
M Source/WebKit/Scripts/webkit/tests/MessageNames.h
M Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp
M Source/WebKit/Scripts/webkit/tests/TestSerializedType.serialization.in
M Source/WebKit/Scripts/webkit/tests/WebKitPlatformGeneratedSerializers.cpp
Log Message:
-----------
Only use WKKeyedCoder for encoding when secure coding class is not specified
https://bugs.webkit.org/show_bug.cgi?id=279457
rdar://135631932
Reviewed by Alex Christensen.
The existing implementation expects _webKitPropertyListData to return a
dictionary that matches the declaration in
existing CoreIPC*.serialization.in file, when _webKitPropertyListData selector
exists. However, a class could add
support for _webKitPropertyListData independently, and the result may not match
the existing declaration, which could
lead to breakage in existing WebKit clients. To avoid such issue, now we only
allow to use WKKeyedCoder for types that
have WKKeyedCoder support and do not specify secure coding class. When a class
adds implementation for
_webKitPropertyListData, the WKKeyedCoder coding will still be in use, and we
could explicitly enable the new encoding
format by updating CoreIPC*.serialization.in file and specifying secure
encoding class later.
Also, update tests with new auto-generated files.
* Source/WebKit/Scripts/generate-serializers.py:
(generate_webkit_secure_coding_impl):
(generate_webkit_secure_coding_impl.is):
* Source/WebKit/Scripts/webkit/messages_unittest.py:
* Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.h:
* Source/WebKit/Scripts/webkit/tests/GeneratedWebKitSecureCoding.cpp:
(WebKit::dictionaryForWebKitSecureCodingTypeFromWKKeyedCoder):
(WebKit::dictionaryForWebKitSecureCodingType):
(WebKit::CoreIPCAVOutputContext::toID const):
(WebKit::CoreIPCNSSomeFoundationType::toID const):
(WebKit::NSSomeOtherFoundationType):
(WebKit::NSSomeOtherFoundationType::toID const):
(WebKit::CoreIPCDDScannerResult::toID const):
* Source/WebKit/Scripts/webkit/tests/GeneratedWebKitSecureCoding.h:
* Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
(IPC::jsValueForArguments):
(IPC::messageArgumentDescriptions):
* Source/WebKit/Scripts/webkit/tests/MessageNames.cpp:
* Source/WebKit/Scripts/webkit/tests/MessageNames.h:
* Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp:
(WebKit::allSerializedTypes):
* Source/WebKit/Scripts/webkit/tests/TestSerializedType.serialization.in:
* Source/WebKit/Scripts/webkit/tests/WebKitPlatformGeneratedSerializers.cpp:
(IPC::NSSomeOtherFoundationType>::encode):
(IPC::NSSomeOtherFoundationType>::decode):
Canonical link: https://commits.webkit.org/283566@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes