Diff
Modified: trunk/Source/WebCore/ChangeLog (187983 => 187984)
--- trunk/Source/WebCore/ChangeLog 2015-08-05 20:23:53 UTC (rev 187983)
+++ trunk/Source/WebCore/ChangeLog 2015-08-05 20:34:49 UTC (rev 187984)
@@ -1,3 +1,23 @@
+2015-08-05 Anders Carlsson <ander...@apple.com>
+
+ Change openDatabase to return a Database instead of a DatabaseBackendBase
+ https://bugs.webkit.org/show_bug.cgi?id=147691
+
+ Reviewed by Tim Horton.
+
+ * Modules/webdatabase/AbstractDatabaseServer.h:
+ * Modules/webdatabase/Database.cpp:
+ (WebCore::Database::create): Deleted.
+ * Modules/webdatabase/Database.h:
+ * Modules/webdatabase/DatabaseManager.cpp:
+ (WebCore::DatabaseManager::openDatabaseBackend):
+ (WebCore::DatabaseManager::openDatabase):
+ * Modules/webdatabase/DatabaseManager.h:
+ * Modules/webdatabase/DatabaseServer.cpp:
+ (WebCore::DatabaseServer::openDatabase):
+ (WebCore::DatabaseServer::createDatabase):
+ * Modules/webdatabase/DatabaseServer.h:
+
2015-08-05 Myles C. Maxfield <mmaxfi...@apple.com>
[OS X] Migrate to CTFontCreateForCharactersWithLanguage from [NSFont findFontLike:forString:withRange:inLanguage]
Modified: trunk/Source/WebCore/Modules/webdatabase/AbstractDatabaseServer.h (187983 => 187984)
--- trunk/Source/WebCore/Modules/webdatabase/AbstractDatabaseServer.h 2015-08-05 20:23:53 UTC (rev 187983)
+++ trunk/Source/WebCore/Modules/webdatabase/AbstractDatabaseServer.h 2015-08-05 20:34:49 UTC (rev 187984)
@@ -35,7 +35,7 @@
namespace WebCore {
-class DatabaseBackendBase;
+class Database;
class DatabaseContext;
class DatabaseManagerClient;
class SecurityOrigin;
@@ -55,7 +55,7 @@
RetryOpenDatabase
};
- virtual RefPtr<DatabaseBackendBase> openDatabase(RefPtr<DatabaseContext>&, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError&, String& errorMessage, OpenAttempt = FirstTryToOpenDatabase) = 0;
+ virtual RefPtr<Database> openDatabase(RefPtr<DatabaseContext>&, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError&, String& errorMessage, OpenAttempt = FirstTryToOpenDatabase) = 0;
virtual void closeAllDatabases() = 0;
Modified: trunk/Source/WebCore/Modules/webdatabase/Database.cpp (187983 => 187984)
--- trunk/Source/WebCore/Modules/webdatabase/Database.cpp 2015-08-05 20:23:53 UTC (rev 187983)
+++ trunk/Source/WebCore/Modules/webdatabase/Database.cpp 2015-08-05 20:34:49 UTC (rev 187984)
@@ -60,15 +60,6 @@
namespace WebCore {
-PassRefPtr<Database> Database::create(ScriptExecutionContext*, PassRefPtr<DatabaseBackendBase> backend)
-{
- // FIXME: Currently, we're only simulating the backend by return the
- // frontend database as its own the backend. When we split the 2 apart,
- // this create() function should be changed to be a factory method for
- // instantiating the backend.
- return static_cast<Database*>(backend.get());
-}
-
Database::Database(PassRefPtr<DatabaseContext> databaseContext, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize)
: DatabaseBackendBase(databaseContext.get(), name, expectedVersion, displayName, estimatedSize)
, m_transactionInProgress(false)
Modified: trunk/Source/WebCore/Modules/webdatabase/Database.h (187983 => 187984)
--- trunk/Source/WebCore/Modules/webdatabase/Database.h 2015-08-05 20:23:53 UTC (rev 187983)
+++ trunk/Source/WebCore/Modules/webdatabase/Database.h 2015-08-05 20:34:49 UTC (rev 187984)
@@ -97,8 +97,6 @@
private:
Database(PassRefPtr<DatabaseContext>, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize);
- static PassRefPtr<Database> create(ScriptExecutionContext*, PassRefPtr<DatabaseBackendBase>);
-
void scheduleTransaction();
void runTransaction(RefPtr<SQLTransactionCallback>&&, RefPtr<SQLTransactionErrorCallback>&&, RefPtr<VoidCallback>&& successCallback, bool readOnly, const ChangeVersionData* = nullptr);
Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp (187983 => 187984)
--- trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp 2015-08-05 20:23:53 UTC (rev 187983)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp 2015-08-05 20:34:49 UTC (rev 187984)
@@ -202,13 +202,13 @@
context->securityOrigin()->toString().ascii().data());
}
-PassRefPtr<DatabaseBackendBase> DatabaseManager::openDatabaseBackend(ScriptExecutionContext* context, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError& error, String& errorMessage)
+PassRefPtr<Database> DatabaseManager::openDatabaseBackend(ScriptExecutionContext* context, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError& error, String& errorMessage)
{
ASSERT(error == DatabaseError::None);
RefPtr<DatabaseContext> databaseContext = databaseContextFor(context);
- RefPtr<DatabaseBackendBase> backend = m_server->openDatabase(databaseContext, name, expectedVersion, displayName, estimatedSize, setVersionInNewDatabase, error, errorMessage);
+ RefPtr<Database> backend = m_server->openDatabase(databaseContext, name, expectedVersion, displayName, estimatedSize, setVersionInNewDatabase, error, errorMessage);
if (!backend) {
ASSERT(error != DatabaseError::None);
@@ -281,17 +281,15 @@
bool setVersionInNewDatabase = !creationCallback;
String errorMessage;
- RefPtr<DatabaseBackendBase> backend = openDatabaseBackend(context, name, expectedVersion, displayName, estimatedSize, setVersionInNewDatabase, error, errorMessage);
- if (!backend)
+ RefPtr<Database> database = openDatabaseBackend(context, name, expectedVersion, displayName, estimatedSize, setVersionInNewDatabase, error, errorMessage);
+ if (!database)
return nullptr;
- RefPtr<Database> database = Database::create(context, backend);
-
RefPtr<DatabaseContext> databaseContext = databaseContextFor(context);
databaseContext->setHasOpenDatabases();
InspectorInstrumentation::didOpenDatabase(context, database.copyRef(), context->securityOrigin()->host(), name, expectedVersion);
- if (backend->isNew() && creationCallback.get()) {
+ if (database->isNew() && creationCallback.get()) {
LOG(StorageAPI, "Scheduling DatabaseCreationCallbackTask for database %p\n", database.get());
database->setHasPendingCreationEvent(true);
database->m_scriptExecutionContext->postTask([creationCallback, database] (ScriptExecutionContext&) {
Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h (187983 => 187984)
--- trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h 2015-08-05 20:23:53 UTC (rev 187983)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h 2015-08-05 20:34:49 UTC (rev 187984)
@@ -129,7 +129,7 @@
// it already exist previously. Otherwise, it returns 0.
RefPtr<DatabaseContext> existingDatabaseContextFor(ScriptExecutionContext*);
- PassRefPtr<DatabaseBackendBase> openDatabaseBackend(ScriptExecutionContext*, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError&, String& errorMessage);
+ PassRefPtr<Database> openDatabaseBackend(ScriptExecutionContext*, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError&, String& errorMessage);
void addProposedDatabase(ProposedDatabase*);
void removeProposedDatabase(ProposedDatabase*);
Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseServer.cpp (187983 => 187984)
--- trunk/Source/WebCore/Modules/webdatabase/DatabaseServer.cpp 2015-08-05 20:23:53 UTC (rev 187983)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseServer.cpp 2015-08-05 20:34:49 UTC (rev 187984)
@@ -112,10 +112,10 @@
DatabaseTracker::tracker().closeAllDatabases();
}
-RefPtr<DatabaseBackendBase> DatabaseServer::openDatabase(RefPtr<DatabaseContext>& backendContext, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError &error, String& errorMessage,
+RefPtr<Database> DatabaseServer::openDatabase(RefPtr<DatabaseContext>& backendContext, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError &error, String& errorMessage,
OpenAttempt attempt)
{
- RefPtr<DatabaseBackendBase> database;
+ RefPtr<Database> database;
bool success = false; // Make some older compilers happy.
switch (attempt) {
@@ -131,7 +131,7 @@
return database;
}
-RefPtr<DatabaseBackendBase> DatabaseServer::createDatabase(RefPtr<DatabaseContext>& backendContext, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError& error, String& errorMessage)
+RefPtr<Database> DatabaseServer::createDatabase(RefPtr<DatabaseContext>& backendContext, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError& error, String& errorMessage)
{
RefPtr<Database> database = adoptRef(new Database(backendContext, name, expectedVersion, displayName, estimatedSize));
Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseServer.h (187983 => 187984)
--- trunk/Source/WebCore/Modules/webdatabase/DatabaseServer.h 2015-08-05 20:23:53 UTC (rev 187983)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseServer.h 2015-08-05 20:34:49 UTC (rev 187984)
@@ -30,7 +30,7 @@
namespace WebCore {
-class DatabaseServer: public AbstractDatabaseServer {
+class DatabaseServer final: public AbstractDatabaseServer {
WTF_MAKE_FAST_ALLOCATED;
public:
DatabaseServer() { };
@@ -44,7 +44,7 @@
String fullPathForDatabase(SecurityOrigin*, const String& name, bool createIfDoesNotExist) override;
- RefPtr<DatabaseBackendBase> openDatabase(RefPtr<DatabaseContext>&, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError&, String& errorMessage, OpenAttempt) override;
+ RefPtr<Database> openDatabase(RefPtr<DatabaseContext>&, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError&, String& errorMessage, OpenAttempt) override;
void closeAllDatabases() override;
@@ -63,7 +63,7 @@
bool deleteDatabase(SecurityOrigin*, const String& name) override;
protected:
- virtual RefPtr<DatabaseBackendBase> createDatabase(RefPtr<DatabaseContext>&, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError&, String& errorMessage);
+ RefPtr<Database> createDatabase(RefPtr<DatabaseContext>&, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError&, String& errorMessage);
};
} // namespace WebCore