⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 176362 in webkit


Ignore:
Timestamp:
Nov 19, 2014, 4:02:22 PM (12 years ago)
Author:
andersca@apple.com
Message:

Add a version of API::Data::createWithoutCopying that takes an NSData
​https://bugs.webkit.org/show_bug.cgi?id=138893

Reviewed by Dan Bernstein.

  • Shared/APIData.h:
  • Shared/Cocoa/APIDataCocoa.mm: Added.

(API::Data::createWithoutCopying):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
(releaseNSData): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):

Location:
trunk/Source/WebKit2
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r176356 r176362  
     12014-11-19  Anders Carlsson  <andersca@apple.com>
     2
     3        Add a version of API::Data::createWithoutCopying that takes an NSData
     4        https://bugs.webkit.org/show_bug.cgi?id=138893
     5
     6        Reviewed by Dan Bernstein.
     7
     8        * Shared/APIData.h:
     9        * Shared/Cocoa/APIDataCocoa.mm: Added.
     10        (API::Data::createWithoutCopying):
     11        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
     12        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
     13        (releaseNSData): Deleted.
     14        * WebKit2.xcodeproj/project.pbxproj:
     15        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
     16        (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):
     17
    1182014-11-19  Beth Dakin  <bdakin@apple.com>
    219
  • trunk/Source/WebKit2/Shared/APIData.h

    r160657 r176362  
    3737}
    3838
     39OBJC_CLASS NSData;
     40
    3941namespace API {
    4042
    … …  
    6466        return create(buffer.data(), buffer.size());
    6567    }
     68
     69#if PLATFORM(COCOA)
     70    static PassRefPtr<Data> createWithoutCopying(RetainPtr<NSData>);
     71#endif
    6672
    6773    ~Data()
  • trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm

    r171816 r176362  
    237237}
    238238
    239 static void releaseNSData(unsigned char*, const void* data)
    240 {
    241     [(NSData *)data release];
    242 }
    243 
    244239- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL userData:(id)userData
    245240{
    … …  
    248243        // FIXME: This should copy the data.
    249244        [data retain];
    250         apiData = API::Data::createWithoutCopying((const unsigned char*)[data bytes], [data length], releaseNSData, data);
     245        apiData = API::Data::createWithoutCopying(data);
    251246    }
    252247
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r176352 r176362  
    170170                1A1E093418861D3800D2DC49 /* WebProgressTrackerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A1E093218861D3800D2DC49 /* WebProgressTrackerClient.h */; };
    171171                1A1EC69E1872092100B951F0 /* ImportanceAssertion.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A1EC69D1872092100B951F0 /* ImportanceAssertion.h */; };
     172                1A1EF1991A1D5B420023200A /* APIDataCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A1EF1971A1D5B420023200A /* APIDataCocoa.mm */; };
    172173                1A1FEC1C1627B45700700F6D /* WebConnectionMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A1FEC1A1627B45600700F6D /* WebConnectionMessageReceiver.cpp */; };
    173174                1A1FEC1D1627B45700700F6D /* WebConnectionMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A1FEC1B1627B45700700F6D /* WebConnectionMessages.h */; };
    … …  
    21342135                1A1E093218861D3800D2DC49 /* WebProgressTrackerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProgressTrackerClient.h; sourceTree = "<group>"; };
    21352136                1A1EC69D1872092100B951F0 /* ImportanceAssertion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImportanceAssertion.h; sourceTree = "<group>"; };
     2137                1A1EF1971A1D5B420023200A /* APIDataCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = APIDataCocoa.mm; sourceTree = "<group>"; };
    21362138                1A1FA251127A0E4F0050E709 /* NPRemoteObjectMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NPRemoteObjectMap.h; sourceTree = "<group>"; };
    21372139                1A1FA252127A0E4F0050E709 /* NPRemoteObjectMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NPRemoteObjectMap.cpp; sourceTree = "<group>"; };
    … …  
    51345136                        isa = PBXGroup;
    51355137                        children = (
     5138                                1A1EF1971A1D5B420023200A /* APIDataCocoa.mm */,
    51365139                                378E1A3B181ED6FF0031007A /* APIObject.mm */,
    51375140                                37BEC4DF19491486008B4286 /* CompletionHandlerCallChecker.h */,
    … …  
    90519054                                1A3D610113A7CC2A00F95D4E /* PluginModuleInfo.cpp in Sources */,
    90529055                                1A043977124D034800FFBFB5 /* PluginProcess.cpp in Sources */,
     9056                                1A1EF1991A1D5B420023200A /* APIDataCocoa.mm in Sources */,
    90539057                                1A1B0EB518A424950038481A /* WKNavigationResponse.mm in Sources */,
    90549058                                1A0EC907124C0AB8007EF4A5 /* PluginProcessConnection.cpp in Sources */,
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm

    r174231 r176362  
    456456            [archiver finishEncoding];
    457457
    458             userData = API::Data::createWithoutCopying((const unsigned char*)[data bytes], [data length], releaseNSData, data.leakRef()).leakRef();
     458            userData = API::Data::createWithoutCopying(WTF::move(data));
    459459        }
    460460
    … …  
    481481        }
    482482
    483         static void releaseNSData(unsigned char*, const void* untypedData)
    484         {
    485             [(NSData *)untypedData release];
    486         }
    487 
    488483        virtual void willBeginInputSession(WebPage*, Element* element, WebFrame* frame, RefPtr<API::Object>& userData) override
    489484        {
Note: See TracChangeset for help on using the changeset viewer.