Title: [187984] trunk/Source/WebCore
Revision
187984
Author
ander...@apple.com
Date
2015-08-05 13:34:49 -0700 (Wed, 05 Aug 2015)

Log Message

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:

Modified Paths

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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to