diff options
Diffstat (limited to 'WebKit/mac/Storage/WebDatabaseManager.mm')
| -rw-r--r-- | WebKit/mac/Storage/WebDatabaseManager.mm | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/WebKit/mac/Storage/WebDatabaseManager.mm b/WebKit/mac/Storage/WebDatabaseManager.mm index a84f235..8c5e8a2 100644 --- a/WebKit/mac/Storage/WebDatabaseManager.mm +++ b/WebKit/mac/Storage/WebDatabaseManager.mm @@ -49,6 +49,8 @@ NSString *WebDatabaseDidModifyOriginNotification = @"WebDatabaseDidModifyOriginN NSString *WebDatabaseDidModifyDatabaseNotification = @"WebDatabaseDidModifyDatabaseNotification"; NSString *WebDatabaseIdentifierKey = @"WebDatabaseIdentifierKey"; +static NSString *databasesDirectoryPath(); + @implementation WebDatabaseManager + (WebDatabaseManager *) sharedWebDatabaseManager @@ -107,18 +109,28 @@ NSString *WebDatabaseIdentifierKey = @"WebDatabaseIdentifierKey"; DatabaseTracker::tracker().deleteAllDatabases(); } -- (void)deleteOrigin:(WebSecurityOrigin *)origin +- (BOOL)deleteOrigin:(WebSecurityOrigin *)origin { - DatabaseTracker::tracker().deleteOrigin([origin _core]); + return DatabaseTracker::tracker().deleteOrigin([origin _core]); } -- (void)deleteDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin +- (BOOL)deleteDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin { - DatabaseTracker::tracker().deleteDatabase([origin _core], databaseIdentifier); + return DatabaseTracker::tracker().deleteDatabase([origin _core], databaseIdentifier); } @end +static NSString *databasesDirectoryPath() +{ + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + NSString *databasesDirectory = [defaults objectForKey:WebDatabaseDirectoryDefaultsKey]; + if (!databasesDirectory || ![databasesDirectory isKindOfClass:[NSString class]]) + databasesDirectory = @"~/Library/WebKit/Databases"; + + return [databasesDirectory stringByStandardizingPath]; +} + void WebKitInitializeDatabasesIfNecessary() { static BOOL initialized = NO; @@ -126,13 +138,7 @@ void WebKitInitializeDatabasesIfNecessary() return; // Set the database root path in WebCore - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - - NSString *databasesDirectory = [defaults objectForKey:WebDatabaseDirectoryDefaultsKey]; - if (!databasesDirectory || ![databasesDirectory isKindOfClass:[NSString class]]) - databasesDirectory = @"~/Library/WebKit/Databases"; - - DatabaseTracker::tracker().setDatabaseDirectoryPath([databasesDirectory stringByStandardizingPath]); + DatabaseTracker::initializeTracker(databasesDirectoryPath()); // Set the DatabaseTrackerClient DatabaseTracker::tracker().setClient(WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient()); |
