summaryrefslogtreecommitdiffstats
path: root/WebKit/mac/Storage/WebDatabaseManager.mm
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/mac/Storage/WebDatabaseManager.mm')
-rw-r--r--WebKit/mac/Storage/WebDatabaseManager.mm139
1 files changed, 0 insertions, 139 deletions
diff --git a/WebKit/mac/Storage/WebDatabaseManager.mm b/WebKit/mac/Storage/WebDatabaseManager.mm
deleted file mode 100644
index fa9eea6..0000000
--- a/WebKit/mac/Storage/WebDatabaseManager.mm
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "WebDatabaseManagerPrivate.h"
-#import "WebDatabaseManagerInternal.h"
-
-#import "WebDatabaseTrackerClient.h"
-#import "WebSecurityOriginInternal.h"
-
-#import <WebCore/DatabaseTracker.h>
-#import <WebCore/SecurityOrigin.h>
-
-using namespace WebCore;
-
-NSString *WebDatabaseDirectoryDefaultsKey = @"WebDatabaseDirectory";
-
-NSString *WebDatabaseDisplayNameKey = @"WebDatabaseDisplayNameKey";
-NSString *WebDatabaseExpectedSizeKey = @"WebDatabaseExpectedSizeKey";
-NSString *WebDatabaseUsageKey = @"WebDatabaseUsageKey";
-
-NSString *WebDatabaseDidModifyOriginNotification = @"WebDatabaseDidModifyOriginNotification";
-NSString *WebDatabaseDidModifyDatabaseNotification = @"WebDatabaseDidModifyDatabaseNotification";
-NSString *WebDatabaseIdentifierKey = @"WebDatabaseIdentifierKey";
-
-@implementation WebDatabaseManager
-
-+ (WebDatabaseManager *) sharedWebDatabaseManager
-{
- static WebDatabaseManager *sharedManager = [[WebDatabaseManager alloc] init];
- return sharedManager;
-}
-
-- (NSArray *)origins
-{
- Vector<RefPtr<SecurityOrigin> > coreOrigins;
- DatabaseTracker::tracker().origins(coreOrigins);
- NSMutableArray *webOrigins = [[NSMutableArray alloc] initWithCapacity:coreOrigins.size()];
-
- for (unsigned i = 0; i < coreOrigins.size(); ++i) {
- WebSecurityOrigin *webOrigin = [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:coreOrigins[i].get()];
- [webOrigins addObject:webOrigin];
- [webOrigin release];
- }
-
- return [webOrigins autorelease];
-}
-
-- (NSArray *)databasesWithOrigin:(WebSecurityOrigin *)origin
-{
- Vector<String> nameVector;
- if (!DatabaseTracker::tracker().databaseNamesForOrigin([origin _core], nameVector))
- return nil;
-
- NSMutableArray *names = [[NSMutableArray alloc] initWithCapacity:nameVector.size()];
-
- for (unsigned i = 0; i < nameVector.size(); ++i)
- [names addObject:(NSString *)nameVector[i]];
-
- return [names autorelease];
-}
-
-- (NSDictionary *)detailsForDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin
-{
- static id keys[3] = {WebDatabaseDisplayNameKey, WebDatabaseExpectedSizeKey, WebDatabaseUsageKey};
-
- DatabaseDetails details = DatabaseTracker::tracker().detailsForNameAndOrigin(databaseIdentifier, [origin _core]);
- if (details.name().isNull())
- return nil;
-
- id objects[3];
- objects[0] = details.displayName().isEmpty() ? databaseIdentifier : (NSString *)details.displayName();
- objects[1] = [NSNumber numberWithUnsignedLongLong:details.expectedUsage()];
- objects[2] = [NSNumber numberWithUnsignedLongLong:details.currentUsage()];
-
- return [[[NSDictionary alloc] initWithObjects:objects forKeys:keys count:3] autorelease];
-}
-
-- (void)deleteAllDatabases
-{
- DatabaseTracker::tracker().deleteAllDatabases();
-}
-
-- (void)deleteOrigin:(WebSecurityOrigin *)origin
-{
- DatabaseTracker::tracker().deleteOrigin([origin _core]);
-}
-
-- (void)deleteDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin
-{
- DatabaseTracker::tracker().deleteDatabase([origin _core], databaseIdentifier);
-}
-
-@end
-
-void WebKitInitializeDatabasesIfNecessary()
-{
- static BOOL initialized = NO;
- if (initialized)
- 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]);
-
- // Set the DatabaseTrackerClient
- DatabaseTracker::tracker().setClient(WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient());
-
- initialized = YES;
-}