[webkit-changes] [WebKit/WebKit] 6be143: Generate serializers for NSArray, NSDictionary, an...

Brady Eidson noreply at github.com
Sun Nov 12 23:14:17 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6be1434f578ebcb90ea96a1c71bca5348812e60a
      https://github.com/WebKit/WebKit/commit/6be1434f578ebcb90ea96a1c71bca5348812e60a
  Author: Brady Eidson <beidson at apple.com>
  Date:   2023-11-12 (Sun, 12 Nov 2023)

  Changed paths:
    M Source/WebCore/platform/mac/SerializedPlatformDataCueMac.h
    M Source/WebCore/platform/mac/SerializedPlatformDataCueMac.mm
    M Source/WebKit/Platform/IPC/Decoder.h
    M Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.h
    M Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm
    M Source/WebKit/Shared/Cocoa/CoreIPCArray.h
    A Source/WebKit/Shared/Cocoa/CoreIPCArray.mm
    M Source/WebKit/Shared/Cocoa/CoreIPCArray.serialization.in
    M Source/WebKit/Shared/Cocoa/CoreIPCCFType.h
    M Source/WebKit/Shared/Cocoa/CoreIPCColor.h
    M Source/WebKit/Shared/Cocoa/CoreIPCDictionary.h
    A Source/WebKit/Shared/Cocoa/CoreIPCDictionary.mm
    M Source/WebKit/Shared/Cocoa/CoreIPCDictionary.serialization.in
    M Source/WebKit/Shared/Cocoa/CoreIPCFont.h
    A Source/WebKit/Shared/Cocoa/CoreIPCFont.mm
    M Source/WebKit/Shared/Cocoa/CoreIPCFont.serialization.in
    M Source/WebKit/Shared/Cocoa/CoreIPCNSCFObject.h
    M Source/WebKit/Shared/Cocoa/CoreIPCNSCFObject.mm
    M Source/WebKit/Shared/Cocoa/CoreIPCNSCFObject.serialization.in
    M Source/WebKit/Shared/Cocoa/CoreIPCSecureCoding.h
    M Source/WebKit/Shared/Cocoa/CoreIPCString.h
    M Source/WebKit/Shared/Cocoa/CoreIPCURL.h
    M Source/WebKit/Shared/cf/CoreIPCNumber.h
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Tools/TestWebKitAPI/Tests/IPC/IPCSerialization.mm

  Log Message:
  -----------
  Generate serializers for NSArray, NSDictionary, and NSFont
https://bugs.webkit.org/show_bug.cgi?id=264696

Reviewed by Alex Christensen.

Now that we have the base CoreIPCNSCFObject wrapper and .serialization.in files for fundamental NS types, we can:
- Turn NSArray into a "Vector of CoreIPCNSCFObjects"
- Turn NSDictionary into a "Vector of key/value pairs where the keys and values are CoreIPCNSCFObjects"
- Directly serialize NSFont/UIFont, since we used an NSDictionary to do so before

* Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.h:
* Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm:
(IPC::isSerializableValue):
(IPC::encodeObjectDirectly<NSArray>): Deleted.
(IPC::decodeObjectDirectlyRequiringAllowedClasses<NSArray>): Deleted.
(IPC::encodeObjectDirectly<NSDictionary>): Deleted.
(IPC::id>>): Deleted.
(IPC::decodeObjectDirectlyRequiringAllowedClasses<NSDictionary>): Deleted.
(IPC::encodeObjectDirectly<WebCore::CocoaFont>): Deleted.
(IPC::decodeObjectDirectlyRequiringAllowedClasses<WebCore::CocoaFont>): Deleted.
* Source/WebKit/Shared/Cocoa/CoreIPCArray.h:
(WebKit::CoreIPCArray::CoreIPCArray):
(WebKit::CoreIPCArray::toID): Deleted.
* Source/WebKit/Shared/Cocoa/CoreIPCArray.mm: Copied from Source/WebKit/Shared/Cocoa/CoreIPCDictionary.h.
(WebKit::CoreIPCArray::CoreIPCArray):
(WebKit::CoreIPCArray::toID const):
* Source/WebKit/Shared/Cocoa/CoreIPCArray.serialization.in:
* Source/WebKit/Shared/Cocoa/CoreIPCDictionary.h:
(WebKit::CoreIPCDictionary::CoreIPCDictionary):
(WebKit::CoreIPCDictionary::toID): Deleted.
* Source/WebKit/Shared/Cocoa/CoreIPCDictionary.mm: Copied from Source/WebKit/Shared/Cocoa/CoreIPCNSCFObject.h.
(WebKit::CoreIPCDictionary::CoreIPCDictionary):
(WebKit::CoreIPCDictionary::toID const):
* Source/WebKit/Shared/Cocoa/CoreIPCDictionary.serialization.in:
* Source/WebKit/Shared/Cocoa/CoreIPCFont.h:
(WebKit::CoreIPCFont::CoreIPCFont):
(WebKit::CoreIPCFont::toID): Deleted.
* Source/WebKit/Shared/Cocoa/CoreIPCFont.mm: Copied from Source/WebKit/Shared/Cocoa/CoreIPCArray.h.
(WebKit::CoreIPCFont::toID const):
* Source/WebKit/Shared/Cocoa/CoreIPCFont.serialization.in:
* Source/WebKit/Shared/Cocoa/CoreIPCNSCFObject.h:
* Source/WebKit/Shared/Cocoa/CoreIPCNSCFObject.mm:
(WebKit::CoreIPCNSCFObject::valueIsAllowed):
* Source/WebKit/Shared/Cocoa/CoreIPCNSCFObject.serialization.in:
* Source/WebKit/Shared/Cocoa/CoreIPCSecureCoding.h:
(WebKit::CoreIPCSecureCoding::objectClass):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/IPC/IPCSerialization.mm:
(operator==):
(TEST):

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




More information about the webkit-changes mailing list