Changeset 66676 in webkit


Ignore:
Timestamp:
Sep 2, 2010 11:32:14 AM (14 years ago)
Author:
weinig@apple.com
Message:

Add WKMutableDictionary API for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=45117

Reviewed by Anders Carlsson.

Add WKMutableDictionary API that inherits from WKDictionaryRef
the same way WKMutableArrayRef inherits from WKArrayRef.

  • Shared/ImmutableDictionary.h:

(WebKit::ImmutableDictionary::get):
(WebKit::ImmutableDictionary::isMutable):

  • Shared/MutableDictionary.cpp: Added.

(WebKit::MutableDictionary::MutableDictionary):
(WebKit::MutableDictionary::~MutableDictionary):
(WebKit::MutableDictionary::add):
(WebKit::MutableDictionary::set):

  • Shared/MutableDictionary.h: Added.

(WebKit::MutableDictionary::create):
(WebKit::MutableDictionary::isMutable):

  • UIProcess/API/C/WKAPICast.h:

(toWK):

  • UIProcess/API/C/WKBase.h:
  • UIProcess/API/C/WKMutableDictionary.cpp: Added.

(WKMutableDictionaryCreate):
(WKDictionaryIsMutable):
(WKDictionaryAddItem):
(WKDictionarySetItem):

  • UIProcess/API/C/WKMutableDictionary.h: Added.
  • UIProcess/API/C/WebKit2.h:
  • WebKit2.pro:
  • WebKit2.xcodeproj/project.pbxproj:
  • win/WebKit2.vcproj:
  • win/WebKit2Generated.make:
Location:
trunk/WebKit2
Files:
4 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit2/ChangeLog

    r66673 r66676  
     12010-09-02  Sam Weinig  <sam@webkit.org>
     2
     3        Reviewed by Anders Carlsson.
     4
     5        Add WKMutableDictionary API for WebKit2
     6        https://bugs.webkit.org/show_bug.cgi?id=45117
     7
     8        Add WKMutableDictionary API that inherits from WKDictionaryRef
     9        the same way WKMutableArrayRef inherits from WKArrayRef.
     10
     11        * Shared/ImmutableDictionary.h:
     12        (WebKit::ImmutableDictionary::get):
     13        (WebKit::ImmutableDictionary::isMutable):
     14        * Shared/MutableDictionary.cpp: Added.
     15        (WebKit::MutableDictionary::MutableDictionary):
     16        (WebKit::MutableDictionary::~MutableDictionary):
     17        (WebKit::MutableDictionary::add):
     18        (WebKit::MutableDictionary::set):
     19        * Shared/MutableDictionary.h: Added.
     20        (WebKit::MutableDictionary::create):
     21        (WebKit::MutableDictionary::isMutable):
     22        * UIProcess/API/C/WKAPICast.h:
     23        (toWK):
     24        * UIProcess/API/C/WKBase.h:
     25        * UIProcess/API/C/WKMutableDictionary.cpp: Added.
     26        (WKMutableDictionaryCreate):
     27        (WKDictionaryIsMutable):
     28        (WKDictionaryAddItem):
     29        (WKDictionarySetItem):
     30        * UIProcess/API/C/WKMutableDictionary.h: Added.
     31        * UIProcess/API/C/WebKit2.h:
     32        * WebKit2.pro:
     33        * WebKit2.xcodeproj/project.pbxproj:
     34        * win/WebKit2.vcproj:
     35        * win/WebKit2Generated.make:
     36
    1372010-09-02  Jessie Berlin  <jberlin@apple.com>
    238
  • trunk/WebKit2/Shared/ImmutableDictionary.h

    r65675 r66676  
    4343    static const Type APIType = TypeDictionary;
    4444
    45     typedef HashMap<WTF::String, RefPtr<APIObject> > MapType;
     45    typedef HashMap<String, RefPtr<APIObject> > MapType;
    4646
    4747    static PassRefPtr<ImmutableDictionary> create()
     
    5656
    5757    template<typename T>
    58     T* get(const WTF::String& key)
     58    T* get(const String& key)
    5959    {
    6060        RefPtr<APIObject> item = m_map.get(key);
     
    6868    }
    6969
    70     APIObject* get(const WTF::String& key)
     70    APIObject* get(const String& key)
    7171    {
    7272        return m_map.get(key).get();
     
    7777    size_t size() { return m_map.size(); }
    7878
    79 private:
     79    virtual bool isMutable() { return false; }
     80
     81protected:
    8082    ImmutableDictionary();
    8183    enum AdoptTag { Adopt };
  • trunk/WebKit2/UIProcess/API/C/WKAPICast.h

    r66638 r66676  
    4444class ImmutableDictionary;
    4545class MutableArray;
     46class MutableDictionary;
    4647class WebBackForwardList;
    4748class WebBackForwardListItem;
     
    7071template<> struct APITypeInfo<WKFrameRef>                       { typedef WebFrameProxy* ImplType; };
    7172template<> struct APITypeInfo<WKMutableArrayRef>                { typedef MutableArray* ImplType; };
     73template<> struct APITypeInfo<WKMutableDictionaryRef>           { typedef MutableDictionary* ImplType; };
    7274template<> struct APITypeInfo<WKNavigationDataRef>              { typedef WebNavigationData* ImplType; };
    7375template<> struct APITypeInfo<WKPageNamespaceRef>               { typedef WebPageNamespace* ImplType; };
     
    8688template<> struct ImplTypeInfo<ImmutableDictionary*>            { typedef WKDictionaryRef APIType; };
    8789template<> struct ImplTypeInfo<MutableArray*>                   { typedef WKMutableArrayRef APIType; };
     90template<> struct ImplTypeInfo<MutableDictionary*>              { typedef WKMutableDictionaryRef APIType; };
    8891template<> struct ImplTypeInfo<WebBackForwardList*>             { typedef WKBackForwardListRef APIType; };
    8992template<> struct ImplTypeInfo<WebBackForwardListItem*>         { typedef WKBackForwardListItemRef APIType; };
     
    125128inline typename WebKit::APITypeInfo<T>::ImplType toWK(T t)
    126129{
     130    // An example of the conversions that take place:
    127131    // const struct OpaqueWKArray* -> const struct OpaqueWKArray -> struct OpaqueWKArray -> struct OpaqueWKArray* -> ImmutableArray*
    128132   
  • trunk/WebKit2/UIProcess/API/C/WKBase.h

    r66639 r66676  
    3939typedef struct OpaqueWKArray* WKMutableArrayRef;
    4040
     41typedef const struct OpaqueWKDictionary* WKDictionaryRef;
     42typedef struct OpaqueWKDictionary* WKMutableDictionaryRef;
     43
    4144typedef const struct OpaqueWKBackForwardList* WKBackForwardListRef;
    4245typedef const struct OpaqueWKBackForwardListItem* WKBackForwardListItemRef;
    4346typedef const struct OpaqueWKContext* WKContextRef;
    4447typedef const struct OpaqueWKData* WKDataRef;
    45 typedef const struct OpaqueWKDictionary* WKDictionaryRef;
    4648typedef const struct OpaqueWKError* WKErrorRef;
    4749typedef const struct OpaqueWKFormSubmissionListener* WKFormSubmissionListenerRef;
  • trunk/WebKit2/UIProcess/API/C/WebKit2.h

    r66436 r66676  
    3535#include <WebKit2/WKContext.h>
    3636#include <WebKit2/WKData.h>
    37 #include <WebKit2/WKDictionary.h>
    3837#include <WebKit2/WKError.h>
    3938#include <WebKit2/WKFormSubmissionListener.h>
    4039#include <WebKit2/WKFrame.h>
    4140#include <WebKit2/WKFramePolicyListener.h>
     41#include <WebKit2/WKMutableArray.h>
     42#include <WebKit2/WKMutableDictionary.h>
    4243#include <WebKit2/WKNavigationData.h>
    4344#include <WebKit2/WKPage.h>
     
    4748#include <WebKit2/WKURL.h>
    4849#include <WebKit2/WKURLRequest.h>
     50#include <WebKit2/WKURLResponse.h>
    4951
    5052#if !__APPLE__ || __OBJC__
  • trunk/WebKit2/WebKit2.pro

    r66638 r66676  
    160160    Shared/ImmutableDictionary.h \
    161161    Shared/MutableArray.h \
     162    Shared/MutableDictionary.h \
    162163    Shared/NotImplemented.h \
    163164    Shared/qt/WebEventFactoryQt.h \
     
    270271    Shared/ImmutableDictionary.cpp \
    271272    Shared/MutableArray.cpp \
     273    Shared/MutableDictionary.cpp \
    272274    Shared/VisitedLinkTable.cpp \
    273275    Shared/WebEventConversion.cpp \
  • trunk/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r66638 r66676  
    252252                BCB0AD33122F285800B1341E /* MutableArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC8049D122F0D6B00103529 /* MutableArray.cpp */; };
    253253                BCB0AD34122F285800B1341E /* MutableArray.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC8049E122F0D6B00103529 /* MutableArray.h */; };
     254                BCB0AEE9122F53E300B1341E /* MutableDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB0AEE7122F53E300B1341E /* MutableDictionary.h */; };
     255                BCB0AEEA122F53E300B1341E /* MutableDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB0AEE8122F53E300B1341E /* MutableDictionary.cpp */; };
     256                BCB0AF3512301DFB00B1341E /* WKMutableDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB0AF3312301DFB00B1341E /* WKMutableDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; };
     257                BCB0AF3612301DFB00B1341E /* WKMutableDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB0AF3412301DFB00B1341E /* WKMutableDictionary.cpp */; };
    254258                BCB28CC0120233D9007D99BC /* InjectedBundleMessageKinds.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB28CBF120233D9007D99BC /* InjectedBundleMessageKinds.h */; };
    255259                BCB63478116BF10600603215 /* WebKit2.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB63477116BF10600603215 /* WebKit2.h */; settings = {ATTRIBUTES = (Public, ); }; };
     
    611615                BCA8C9DA11E4086500812FB7 /* WebBackForwardControllerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebBackForwardControllerClient.h; sourceTree = "<group>"; };
    612616                BCA8C9DB11E4086500812FB7 /* WebBackForwardControllerClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebBackForwardControllerClient.cpp; sourceTree = "<group>"; };
     617                BCB0AEE7122F53E300B1341E /* MutableDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MutableDictionary.h; sourceTree = "<group>"; };
     618                BCB0AEE8122F53E300B1341E /* MutableDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MutableDictionary.cpp; sourceTree = "<group>"; };
     619                BCB0AF3312301DFB00B1341E /* WKMutableDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKMutableDictionary.h; sourceTree = "<group>"; };
     620                BCB0AF3412301DFB00B1341E /* WKMutableDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKMutableDictionary.cpp; sourceTree = "<group>"; };
    613621                BCB28CBF120233D9007D99BC /* InjectedBundleMessageKinds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundleMessageKinds.h; sourceTree = "<group>"; };
    614622                BCB63477116BF10600603215 /* WebKit2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKit2.h; sourceTree = "<group>"; };
     
    901909                                BCC8049D122F0D6B00103529 /* MutableArray.cpp */,
    902910                                BCC8049E122F0D6B00103529 /* MutableArray.h */,
     911                                BCB0AEE8122F53E300B1341E /* MutableDictionary.cpp */,
     912                                BCB0AEE7122F53E300B1341E /* MutableDictionary.h */,
    903913                                BCC57161115ADB42001CCAF9 /* NotImplemented.h */,
    904914                                1A0F29C9120B37160053D1B9 /* VisitedLinkTable.cpp */,
     
    11391149                                BCC804A2122F0E7B00103529 /* WKMutableArray.cpp */,
    11401150                                BCC804A1122F0E7B00103529 /* WKMutableArray.h */,
     1151                                BCB0AF3412301DFB00B1341E /* WKMutableDictionary.cpp */,
     1152                                BCB0AF3312301DFB00B1341E /* WKMutableDictionary.h */,
    11411153                                BCF69FA81176D1CB00471A52 /* WKNavigationData.cpp */,
    11421154                                BCF69FA71176D1CB00471A52 /* WKNavigationData.h */,
     
    15711583                                BCB0AD2D122F284300B1341E /* WKMutableArray.h in Headers */,
    15721584                                BCB0AD34122F285800B1341E /* MutableArray.h in Headers */,
     1585                                BCB0AEE9122F53E300B1341E /* MutableDictionary.h in Headers */,
     1586                                BCB0AF3512301DFB00B1341E /* WKMutableDictionary.h in Headers */,
    15731587                        );
    15741588                        runOnlyForDeploymentPostprocessing = 0;
     
    18051819                                BCB0AD2E122F284700B1341E /* WKMutableArray.cpp in Sources */,
    18061820                                BCB0AD33122F285800B1341E /* MutableArray.cpp in Sources */,
     1821                                BCB0AEEA122F53E300B1341E /* MutableDictionary.cpp in Sources */,
     1822                                BCB0AF3612301DFB00B1341E /* WKMutableDictionary.cpp in Sources */,
    18071823                        );
    18081824                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebKit2/win/WebKit2.vcproj

    r66638 r66676  
    434434                        </File>
    435435                        <File
     436                                RelativePath="..\Shared\MutableDictionary.cpp"
     437                                >
     438                        </File>
     439                        <File
     440                                RelativePath="..\Shared\MutableDictionary.h"
     441                                >
     442                        </File>
     443                        <File
    436444                                RelativePath="..\Shared\NotImplemented.h"
    437445                                >
     
    13371345                                        <File
    13381346                                                RelativePath="..\UIProcess\API\C\WKMutableArray.h"
     1347                                                >
     1348                                        </File>
     1349                                        <File
     1350                                                RelativePath="..\UIProcess\API\C\WKMutableDictionary.cpp"
     1351                                                >
     1352                                        </File>
     1353                                        <File
     1354                                                RelativePath="..\UIProcess\API\C\WKMutableDictionary.h"
    13391355                                                >
    13401356                                        </File>
  • trunk/WebKit2/win/WebKit2Generated.make

    r66638 r66676  
    1717    xcopy /y /d "..\UIProcess\API\C\WKNavigationData.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
    1818    xcopy /y /d "..\UIProcess\API\C\WKMutableArray.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
     19    xcopy /y /d "..\UIProcess\API\C\WKMutableDictionary.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
    1920    xcopy /y /d "..\UIProcess\API\C\WKPage.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
    2021    xcopy /y /d "..\UIProcess\API\C\WKPageNamespace.h" "$(WEBKITOUTPUTDIR)\include\WebKit2"
Note: See TracChangeset for help on using the changeset viewer.