Changeset 70612 in webkit


Ignore:
Timestamp:
Oct 26, 2010 10:29:25 PM (13 years ago)
Author:
ddkilzer@apple.com
Message:

Extract use of NSKeyedUnarchiver from WebArchiveDumpSupport.mm

Reviewed by Adam Roben.

Part 2 of 4: <http://webkit.org/b/48278> Convert DumpRenderTree webarchive code to CoreFoundation

There is no equivalent to NSKeyedUnarchiver in CoreFoundation,
so extract it into a platform-specific source file.

  • DumpRenderTree/mac/WebArchiveDumpSupport.h:

(unarchiveNSURLResponseFromResponseData): Added declaration.

  • DumpRenderTree/mac/WebArchiveDumpSupport.mm:

(convertWebResourceResponseToDictionary): Extracted code to
unarchiveNSURLResponseFromResponseData() in
WebArchiveDumpSupportMac.mm. Updated logic to return early if
nil is returned from unarchiveNSURLResponseFromResponseData().

  • DumpRenderTree/mac/WebArchiveDumpSupportMac.mm:

(unarchiveNSURLResponseFromResponseData): Added. Extracted
code from convertWebResourceResponseToDictionary() in
WebArchiveDumpSupport.mm.

Location:
trunk/WebKitTools
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r70611 r70612  
     12010-10-26  David Kilzer  <ddkilzer@apple.com>
     2
     3        Extract use of NSKeyedUnarchiver from WebArchiveDumpSupport.mm
     4
     5        Reviewed by Adam Roben.
     6
     7        Part 2 of 4: <http://webkit.org/b/48278> Convert DumpRenderTree webarchive code to CoreFoundation
     8
     9        There is no equivalent to NSKeyedUnarchiver in CoreFoundation,
     10        so extract it into a platform-specific source file.
     11
     12        * DumpRenderTree/mac/WebArchiveDumpSupport.h:
     13        (unarchiveNSURLResponseFromResponseData): Added declaration.
     14        * DumpRenderTree/mac/WebArchiveDumpSupport.mm:
     15        (convertWebResourceResponseToDictionary): Extracted code to
     16        unarchiveNSURLResponseFromResponseData() in
     17        WebArchiveDumpSupportMac.mm.  Updated logic to return early if
     18        nil is returned from unarchiveNSURLResponseFromResponseData().
     19        * DumpRenderTree/mac/WebArchiveDumpSupportMac.mm:
     20        (unarchiveNSURLResponseFromResponseData): Added.  Extracted
     21        code from convertWebResourceResponseToDictionary() in
     22        WebArchiveDumpSupport.mm.
     23
    1242010-10-26  David Kilzer  <ddkilzer@apple.com>
    225
  • trunk/WebKitTools/DumpRenderTree/mac/WebArchiveDumpSupport.h

    r70611 r70612  
    2929#include <CoreFoundation/CoreFoundation.h>
    3030
     31@class NSData;
    3132@class NSString;
     33@class NSURLResponse;
    3234@class WebArchive;
    3335
     
    3739#pragma mark Platform-specific methods
    3840
     41NSURLResponse *unarchiveNSURLResponseFromResponseData(NSData *responseData);
    3942CFArrayRef supportedNonImageMIMETypes();
    4043
  • trunk/WebKitTools/DumpRenderTree/mac/WebArchiveDumpSupport.mm

    r70611 r70612  
    9393static void convertWebResourceResponseToDictionary(NSMutableDictionary *propertyList)
    9494{
    95     NSURLResponse *response = nil;
    9695    NSData *responseData = [propertyList objectForKey:@"WebResourceResponse"]; // WebResourceResponseKey in WebResource.m
    97     if ([responseData isKindOfClass:[NSData class]]) {
    98         // Decode NSURLResponse
    99         NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:responseData];
    100         response = [unarchiver decodeObjectForKey:@"WebResourceResponse"]; // WebResourceResponseKey in WebResource.m
    101         [unarchiver finishDecoding];
    102         [unarchiver release];
    103     }       
     96    if (![responseData isKindOfClass:[NSData class]])
     97        return;
     98
     99    NSURLResponse *response = unarchiveNSURLResponseFromResponseData(responseData);
     100    if (!response)
     101        return;
    104102
    105103    NSMutableDictionary *responseDictionary = [[NSMutableDictionary alloc] init];
  • trunk/WebKitTools/DumpRenderTree/mac/WebArchiveDumpSupportMac.mm

    r70611 r70612  
    2626#import "WebArchiveDumpSupport.h"
    2727
     28#import <Foundation/Foundation.h>
    2829#import <WebKit/WebHTMLRepresentation.h>
     30#import <wtf/RetainPtr.h>
     31
     32NSURLResponse *unarchiveNSURLResponseFromResponseData(NSData *responseData)
     33{
     34    // Decode NSURLResponse
     35    RetainPtr<NSKeyedUnarchiver> unarchiver(AdoptNS, [[NSKeyedUnarchiver alloc] initForReadingWithData:responseData]);
     36    NSURLResponse *response = [unarchiver.get() decodeObjectForKey:@"WebResourceResponse"]; // WebResourceResponseKey in WebResource.m
     37    [unarchiver.get() finishDecoding];
     38
     39    return response;
     40}
    2941
    3042CFArrayRef supportedNonImageMIMETypes()
Note: See TracChangeset for help on using the changeset viewer.