-
beidson@apple.com authored
Reviewed by John and Sam Stubbing out everything required for a WebKit API for databases Biggest change in WebCore is that we passed around SecurityOriginData as the representation of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object that has a different purpose besides just hanging on to the data) * WebCore.base.exp: * WebCore.xcodeproj/project.pbxproj: * platform/SecurityOrigin.cpp: * platform/SecurityOrigin.h: * platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3 pieces of data in the SecurityOrigin tuple (WebCore::SecurityOriginData::SecurityOriginData): (WebCore::SecurityOriginData::protocol): (WebCore::SecurityOriginData::host): (WebCore::SecurityOriginData::port): (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components, colon separated * storage/Database.cpp: (WebCore::Database::Database): Use SecurityOriginData instead * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::fullPathForDatabase): (WebCore::DatabaseTracker::databaseNamesForOrigin): (WebCore::DatabaseTracker::deleteDatabasesWithOrigin): (WebCore::DatabaseTracker::deleteDatabase): * storage/DatabaseTracker.h: * storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient): WebKit: Reviewed by John Stubbing out everything required for a WebKit API for databases * WebKit.xcodeproj/project.pbxproj: WebKit/mac: Reviewed by John Stubbing out everything required for a WebKit API for databases These interfaces seem to provide everything we need for UI and management at the browser level * Misc/WebDatabaseManager.h: Removed. * Misc/WebDatabaseManager.mm: Removed. * Misc/WebDatabaseManagerPrivate.h: Removed. * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple" (protocol, domain, and port) (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]): (-[WebSecurityOriginPrivate dealloc]): (-[WebSecurityOrigin initWithProtocol:domain:]): (-[WebSecurityOrigin initWithProtocol:domain:port:]): (-[WebSecurityOrigin protocol]): (-[WebSecurityOrigin domain]): (-[WebSecurityOrigin port]): (-[WebSecurityOrigin dealloc]): (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]): * Misc/WebSecurityOriginInternal.h: Added. * Misc/WebSecurityOriginPrivate.h: Added. * Storage/WebDatabaseManager.mm: Added. (+[WebDatabaseManager sharedWebDatabaseManager]): (-[WebDatabaseManager origins]): Get a list of all origins currently tracked (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota (-[WebDatabaseManager deleteAllDatabases]): (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]): (-[WebDatabaseManager deleteDatabase:withOrigin:]): * Storage/WebDatabaseManagerPrivate.h: Added. * Storage/WebDatabaseManagerInternal.h: Added. (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications * Storage/WebDatabaseTrackerClient.mm: Added. (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient): (WebDatabaseTrackerClient::WebDatabaseTrackerClient): (WebDatabaseTrackerClient::~WebDatabaseTrackerClient): (WebDatabaseTrackerClient::dispatchDidModifyOrigin): (WebDatabaseTrackerClient::dispatchDidModifyDatabase): * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of Database-related things here git-svn-id: http://svn.webkit.org/repository/webkit/trunk@27821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
705db6e6