Changeset 160657 in webkit


Ignore:
Timestamp:
Dec 16, 2013 12:47:00 PM (10 years ago)
Author:
andersca@apple.com
Message:

UserData should encode and decode API::Data objects
https://bugs.webkit.org/show_bug.cgi?id=125799

Reviewed by Beth Dakin.

  • Shared/APIData.cpp: Added.

(API::Data::encode):
(API::Data::decode):

  • Shared/APIData.h:
  • Shared/UserData.cpp:

(WebKit::UserData::encode):
(WebKit::UserData::decode):

  • WebKit2.xcodeproj/project.pbxproj:
Location:
trunk/Source/WebKit2
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r160653 r160657  
     12013-12-16  Anders Carlsson  <andersca@apple.com>
     2
     3        UserData should encode and decode API::Data objects
     4        https://bugs.webkit.org/show_bug.cgi?id=125799
     5
     6        Reviewed by Beth Dakin.
     7
     8        * Shared/APIData.cpp: Added.
     9        (API::Data::encode):
     10        (API::Data::decode):
     11        * Shared/APIData.h:
     12        * Shared/UserData.cpp:
     13        (WebKit::UserData::encode):
     14        (WebKit::UserData::decode):
     15        * WebKit2.xcodeproj/project.pbxproj:
     16
    1172013-12-16  Anders Carlsson  <andersca@apple.com>
    218
  • trunk/Source/WebKit2/Shared/APIData.h

    r160653 r160657  
    3131#include <wtf/Forward.h>
    3232#include <wtf/Vector.h>
     33
     34namespace IPC {
     35class ArgumentDecoder;
     36class ArgumentEncoder;
     37}
    3338
    3439namespace API {
     
    7075    IPC::DataReference dataReference() const { return IPC::DataReference(m_bytes, m_size); }
    7176
     77    void encode(IPC::ArgumentEncoder&) const;
     78    static bool decode(IPC::ArgumentDecoder&, RefPtr<API::Object>&);
     79
    7280private:
    7381    Data(const unsigned char* bytes, size_t size, FreeDataFunction freeDataFunction, const void* context)
  • trunk/Source/WebKit2/Shared/UserData.cpp

    r160608 r160657  
    2828
    2929#include "APIArray.h"
     30#include "APIData.h"
    3031#include "APIFrameHandle.h"
    3132#include "APIGeometry.h"
     
    119120        break;
    120121
     122    case API::Object::Type::Data:
     123        static_cast<const API::Data&>(object).encode(encoder);
     124        break;
     125   
    121126    case API::Object::Type::Dictionary: {
    122127        auto& dictionary = static_cast<const ImmutableDictionary&>(object);
     
    204209        break;
    205210
     211    case API::Object::Type::Data:
     212        if (!API::Data::decode(decoder, result))
     213            return false;
     214        break;
     215
    206216    case API::Object::Type::Dictionary: {
    207217        uint64_t size;
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r160653 r160657  
    225225                1AAB0379185A7C6A00EDF501 /* MessageSender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AAB0377185A7C6A00EDF501 /* MessageSender.cpp */; };
    226226                1AAB037A185A7C6A00EDF501 /* MessageSender.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAB0378185A7C6A00EDF501 /* MessageSender.h */; };
     227                1AAB037C185F99D800EDF501 /* APIData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AAB037B185F99D800EDF501 /* APIData.cpp */; };
    227228                1AAB4A8D1296F0A20023952F /* SandboxExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAB4A8C1296F0A20023952F /* SandboxExtension.h */; };
    228229                1AAB4AAA1296F1540023952F /* SandboxExtensionMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AAB4AA91296F1540023952F /* SandboxExtensionMac.mm */; };
     
    17741775                1AAB0377185A7C6A00EDF501 /* MessageSender.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MessageSender.cpp; sourceTree = "<group>"; };
    17751776                1AAB0378185A7C6A00EDF501 /* MessageSender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageSender.h; sourceTree = "<group>"; };
     1777                1AAB037B185F99D800EDF501 /* APIData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = APIData.cpp; sourceTree = "<group>"; };
    17761778                1AAB4A8C1296F0A20023952F /* SandboxExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SandboxExtension.h; sourceTree = "<group>"; };
    17771779                1AAB4AA91296F1540023952F /* SandboxExtensionMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SandboxExtensionMac.mm; sourceTree = "<group>"; };
     
    34693471                                BC64696E11DBE603006455B0 /* APIArray.h */,
    34703472                                1A3DD205125E5A2F004515E6 /* APIClient.h */,
     3473                                1AAB037B185F99D800EDF501 /* APIData.cpp */,
    34713474                                51578B821209ECEF00A37C4A /* APIData.h */,
    34723475                                1AC1336F18566C7C00F3EC05 /* APIFrameHandle.cpp */,
     
    34793482                                1AC1336D18565D2B00F3EC05 /* APIPageHandle.cpp */,
    34803483                                1AC1336B18565C7A00F3EC05 /* APIPageHandle.h */,
     3484                                BCF04C8E11FF9F6E00F86A58 /* APIString.h */,
    34813485                                A7D792D51767CB6E00881CBE /* ActivityAssertion.cpp */,
    34823486                                A7D792D41767CB0900881CBE /* ActivityAssertion.h */,
     
    36063610                                F634445512A885C8000612D8 /* WebSecurityOrigin.h */,
    36073611                                A72D5D7F1236CBA800A88B15 /* WebSerializedScriptValue.h */,
    3608                                 BCF04C8E11FF9F6E00F86A58 /* APIString.h */,
    36093612                                C0337DD7127A51B6008FF4F4 /* WebTouchEvent.cpp */,
    36103613                                BCDB86C01200FB97007254BE /* WebURL.h */,
     
    71357138                                755422CB180650020046F6A8 /* WebOriginDataManager.cpp in Sources */,
    71367139                                BCA8C6A811E3BA5F00812FB7 /* InjectedBundlePageLoaderClient.cpp in Sources */,
     7140                                1AAB037C185F99D800EDF501 /* APIData.cpp in Sources */,
    71377141                                BC8147AA12F64CDA007B2C32 /* InjectedBundlePagePolicyClient.cpp in Sources */,
    71387142                                659C551E130006410025C0C2 /* InjectedBundlePageResourceLoadClient.cpp in Sources */,
Note: See TracChangeset for help on using the changeset viewer.