diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
commit | 9364f22aed35e1a1e9d07c121510f80be3ab0502 (patch) | |
tree | d49911209b132da58d838efa852daf28d516df21 /WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm | |
parent | 87eb0cb35bad8784770ebc807e6c982432e47107 (diff) | |
download | external_webkit-9364f22aed35e1a1e9d07c121510f80be3ab0502.zip external_webkit-9364f22aed35e1a1e9d07c121510f80be3ab0502.tar.gz external_webkit-9364f22aed35e1a1e9d07c121510f80be3ab0502.tar.bz2 |
Initial Contribution
Diffstat (limited to 'WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm')
-rw-r--r-- | WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm b/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm index 4d5ea72..6df150d 100644 --- a/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm +++ b/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm @@ -550,17 +550,15 @@ static void convertWebResourceDataToString(NSMutableDictionary *resource) } } -static void normalizeWebResourceURL(NSMutableString *webResourceURL) +static void normalizeWebResourceURL(NSMutableString *webResourceURL, NSString *oldURLBase) { - static int fileUrlLength = [@"file://" length]; - NSRange layoutTestsWebArchivePathRange = [webResourceURL rangeOfString:@"/LayoutTests/" options:NSBackwardsSearch]; - if (layoutTestsWebArchivePathRange.location == NSNotFound) - return; - NSRange currentWorkingDirectoryRange = NSMakeRange(fileUrlLength, layoutTestsWebArchivePathRange.location - fileUrlLength); - [webResourceURL replaceCharactersInRange:currentWorkingDirectoryRange withString:@""]; + [webResourceURL replaceOccurrencesOfString:oldURLBase + withString:@"file://" + options:NSLiteralSearch + range:NSMakeRange(0, [webResourceURL length])]; } -static void convertWebResourceResponseToDictionary(NSMutableDictionary *propertyList) +static void convertWebResourceResponseToDictionary(NSMutableDictionary *propertyList, NSString *oldURLBase) { NSURLResponse *response = nil; NSData *responseData = [propertyList objectForKey:@"WebResourceResponse"]; // WebResourceResponseKey in WebResource.m @@ -575,7 +573,7 @@ static void convertWebResourceResponseToDictionary(NSMutableDictionary *property NSMutableDictionary *responseDictionary = [[NSMutableDictionary alloc] init]; NSMutableString *urlString = [[[response URL] description] mutableCopy]; - normalizeWebResourceURL(urlString); + normalizeWebResourceURL(urlString, oldURLBase); [responseDictionary setObject:urlString forKey:@"URL"]; [urlString release]; @@ -610,6 +608,9 @@ static NSString *serializeWebArchiveToXML(WebArchive *webArchive) if (!propertyList) return errorString; + // Normalize WebResourceResponse and WebResourceURL values in plist for testing + NSString *cwdURL = [@"file://" stringByAppendingString:[[[NSFileManager defaultManager] currentDirectoryPath] stringByExpandingTildeInPath]]; + NSMutableArray *resources = [NSMutableArray arrayWithCapacity:1]; [resources addObject:propertyList]; @@ -618,7 +619,7 @@ static NSString *serializeWebArchiveToXML(WebArchive *webArchive) [resources removeObjectAtIndex:0]; NSMutableDictionary *mainResource = [resourcePropertyList objectForKey:@"WebMainResource"]; - normalizeWebResourceURL([mainResource objectForKey:@"WebResourceURL"]); + normalizeWebResourceURL([mainResource objectForKey:@"WebResourceURL"], cwdURL); convertWebResourceDataToString(mainResource); // Add subframeArchives to list for processing @@ -630,8 +631,8 @@ static NSString *serializeWebArchiveToXML(WebArchive *webArchive) NSEnumerator *enumerator = [subresources objectEnumerator]; NSMutableDictionary *subresourcePropertyList; while ((subresourcePropertyList = [enumerator nextObject])) { - normalizeWebResourceURL([subresourcePropertyList objectForKey:@"WebResourceURL"]); - convertWebResourceResponseToDictionary(subresourcePropertyList); + normalizeWebResourceURL([subresourcePropertyList objectForKey:@"WebResourceURL"], cwdURL); + convertWebResourceResponseToDictionary(subresourcePropertyList, cwdURL); convertWebResourceDataToString(subresourcePropertyList); } } |