diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:05:15 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:05:15 -0800 |
commit | 1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353 (patch) | |
tree | 4457a7306ea5acb43fe05bfe0973b1f7faf97ba2 /WebKit/mac/Misc/WebKitNSStringExtras.m | |
parent | 9364f22aed35e1a1e9d07c121510f80be3ab0502 (diff) | |
download | external_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.zip external_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.tar.gz external_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.tar.bz2 |
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'WebKit/mac/Misc/WebKitNSStringExtras.m')
-rw-r--r-- | WebKit/mac/Misc/WebKitNSStringExtras.m | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/WebKit/mac/Misc/WebKitNSStringExtras.m b/WebKit/mac/Misc/WebKitNSStringExtras.m index 940e63c..157069a 100644 --- a/WebKit/mac/Misc/WebKitNSStringExtras.m +++ b/WebKit/mac/Misc/WebKitNSStringExtras.m @@ -35,6 +35,7 @@ #import <WebCore/WebCoreTextRenderer.h> #import <unicode/uchar.h> +#import <sys/param.h> @implementation NSString (WebKitExtras) @@ -322,22 +323,38 @@ static BOOL canUseFastRenderer(const UniChar *buffer, unsigned length) if ([[fileManager _webkit_startupVolumeName] isEqualToString:volumeName]) { // Startup volume name is included in path, remove it. [pathComponents removeObjectAtIndex:1]; - } else if ([[fileManager directoryContentsAtPath:@"/Volumes"] containsObject:volumeName]) { + } else if ([[fileManager contentsOfDirectoryAtPath:@"/Volumes" error:NULL] containsObject:volumeName]) { // Path starts with other volume name, prepend "/Volumes". [pathComponents insertObject:@"Volumes" atIndex:1]; - } else { + } else // It's valid. return self; - } NSString *path = [NSString pathWithComponents:pathComponents]; - if (![fileManager fileExistsAtPath:path]) { + if (![fileManager fileExistsAtPath:path]) // File at canonicalized path doesn't exist, return original. return self; - } return path; } ++ (NSString *)_webkit_localCacheDirectoryWithBundleIdentifier:(NSString*)bundleIdentifier +{ + NSString* cacheDir = nil; + +#ifdef BUILDING_ON_TIGER + cacheDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; +#else + char cacheDirectory[MAXPATHLEN]; + size_t cacheDirectoryLen = confstr(_CS_DARWIN_USER_CACHE_DIR, cacheDirectory, MAXPATHLEN); + + if (cacheDirectoryLen) + cacheDir = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:cacheDirectory length:cacheDirectoryLen - 1]; +#endif + + return [cacheDir stringByAppendingPathComponent:bundleIdentifier]; +} + + @end |