Title: [188865] trunk/Source/WebCore
Revision
188865
Author
ander...@apple.com
Date
2015-08-24 10:16:47 -0700 (Mon, 24 Aug 2015)

Log Message

Remove unused return values from SQLTransaction state functions
https://bugs.webkit.org/show_bug.cgi?id=148344

Reviewed by Tim Horton.

* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::deliverTransactionCallback):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
(WebCore::SQLTransaction::deliverStatementCallback):
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
(WebCore::SQLTransaction::deliverSuccessCallback):
(WebCore::SQLTransaction::unreachableState):
* Modules/webdatabase/SQLTransaction.h:
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::acquireLock):
(WebCore::SQLTransactionBackend::openTransactionAndPreflight):
(WebCore::SQLTransactionBackend::runStatements):
(WebCore::SQLTransactionBackend::cleanupAndTerminate):
(WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
(WebCore::SQLTransactionBackend::unreachableState):
* Modules/webdatabase/SQLTransactionBackend.h:
* Modules/webdatabase/SQLTransactionStateMachine.h:
(WebCore::SQLTransactionStateMachine<T>::runStateMachine):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (188864 => 188865)


--- trunk/Source/WebCore/ChangeLog	2015-08-24 17:13:06 UTC (rev 188864)
+++ trunk/Source/WebCore/ChangeLog	2015-08-24 17:16:47 UTC (rev 188865)
@@ -1,3 +1,29 @@
+2015-08-21  Anders Carlsson  <ander...@apple.com>
+
+        Remove unused return values from SQLTransaction state functions
+        https://bugs.webkit.org/show_bug.cgi?id=148344
+
+        Reviewed by Tim Horton.
+
+        * Modules/webdatabase/SQLTransaction.cpp:
+        (WebCore::SQLTransaction::deliverTransactionCallback):
+        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
+        (WebCore::SQLTransaction::deliverStatementCallback):
+        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
+        (WebCore::SQLTransaction::deliverSuccessCallback):
+        (WebCore::SQLTransaction::unreachableState):
+        * Modules/webdatabase/SQLTransaction.h:
+        * Modules/webdatabase/SQLTransactionBackend.cpp:
+        (WebCore::SQLTransactionBackend::acquireLock):
+        (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
+        (WebCore::SQLTransactionBackend::runStatements):
+        (WebCore::SQLTransactionBackend::cleanupAndTerminate):
+        (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
+        (WebCore::SQLTransactionBackend::unreachableState):
+        * Modules/webdatabase/SQLTransactionBackend.h:
+        * Modules/webdatabase/SQLTransactionStateMachine.h:
+        (WebCore::SQLTransactionStateMachine<T>::runStateMachine):
+
 2015-08-24  Wenson Hsieh  <wenson_hs...@apple.com>
 
         Unreviewed, fix build after r188860

Modified: trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp (188864 => 188865)


--- trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp	2015-08-24 17:13:06 UTC (rev 188864)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp	2015-08-24 17:16:47 UTC (rev 188865)
@@ -122,7 +122,7 @@
     m_database->scheduleTransactionCallback(this);
 }
 
-SQLTransactionState SQLTransaction::deliverTransactionCallback()
+void SQLTransaction::deliverTransactionCallback()
 {
     bool shouldDeliverErrorCallback = false;
 
@@ -141,10 +141,9 @@
     }
 
     m_backend->requestTransitToState(SQLTransactionState::RunStatements);
-    return SQLTransactionState::Idle;
 }
 
-SQLTransactionState SQLTransaction::deliverTransactionErrorCallback()
+void SQLTransaction::deliverTransactionErrorCallback()
 {
     // Spec 4.3.2.10: If exists, invoke error callback with the last
     // error to have occurred in this transaction.
@@ -167,10 +166,9 @@
 
     // Spec 4.3.2.10: Rollback the transaction.
     m_backend->requestTransitToState(SQLTransactionState::CleanupAfterTransactionErrorCallback);
-    return SQLTransactionState::Idle;
 }
 
-SQLTransactionState SQLTransaction::deliverStatementCallback()
+void SQLTransaction::deliverStatementCallback()
 {
     // Spec 4.3.2.6.6 and 4.3.2.6.3: If the statement callback went wrong, jump to the transaction error callback
     // Otherwise, continue to loop through the statement queue
@@ -192,14 +190,13 @@
         // No error callback, so fast-forward to:
         // Transaction Step 11 - Rollback the transaction.
         m_backend->requestTransitToState(SQLTransactionState::CleanupAfterTransactionErrorCallback);
-        return SQLTransactionState::Idle;
+        return;
     }
 
     m_backend->requestTransitToState(SQLTransactionState::RunStatements);
-    return SQLTransactionState::Idle;
 }
 
-SQLTransactionState SQLTransaction::deliverQuotaIncreaseCallback()
+void SQLTransaction::deliverQuotaIncreaseCallback()
 {
     ASSERT(m_backend->currentStatement());
 
@@ -207,10 +204,9 @@
     m_backend->setShouldRetryCurrentStatement(shouldRetryCurrentStatement);
 
     m_backend->requestTransitToState(SQLTransactionState::RunStatements);
-    return SQLTransactionState::Idle;
 }
 
-SQLTransactionState SQLTransaction::deliverSuccessCallback()
+void SQLTransaction::deliverSuccessCallback()
 {
     // Spec 4.3.2.8: Deliver success callback.
     RefPtr<VoidCallback> successCallback = m_successCallbackWrapper.unwrap();
@@ -222,16 +218,14 @@
     // Schedule a "post-success callback" step to return control to the database thread in case there
     // are further transactions queued up for this Database
     m_backend->requestTransitToState(SQLTransactionState::CleanupAndTerminate);
-    return SQLTransactionState::Idle;
 }
 
 // This state function is used as a stub function to plug unimplemented states
 // in the state dispatch table. They are unimplemented because they should
 // never be reached in the course of correct execution.
-SQLTransactionState SQLTransaction::unreachableState()
+void SQLTransaction::unreachableState()
 {
     ASSERT_NOT_REACHED();
-    return SQLTransactionState::End;
 }
 
 void SQLTransaction::performPendingCallback()

Modified: trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.h (188864 => 188865)


--- trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.h	2015-08-24 17:13:06 UTC (rev 188864)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.h	2015-08-24 17:16:47 UTC (rev 188865)
@@ -76,13 +76,13 @@
     void computeNextStateAndCleanupIfNeeded();
 
     // State functions:
-    SQLTransactionState deliverTransactionCallback();
-    SQLTransactionState deliverTransactionErrorCallback();
-    SQLTransactionState deliverStatementCallback();
-    SQLTransactionState deliverQuotaIncreaseCallback();
-    SQLTransactionState deliverSuccessCallback();
+    void deliverTransactionCallback();
+    void deliverTransactionErrorCallback();
+    void deliverStatementCallback();
+    void deliverQuotaIncreaseCallback();
+    void deliverSuccessCallback();
 
-    SQLTransactionState unreachableState();
+    NO_RETURN_DUE_TO_ASSERT void unreachableState();
 
     Ref<Database> m_database;
     RefPtr<SQLTransactionBackend> m_backend;

Modified: trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.cpp (188864 => 188865)


--- trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.cpp	2015-08-24 17:13:06 UTC (rev 188864)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.cpp	2015-08-24 17:16:47 UTC (rev 188865)
@@ -535,10 +535,9 @@
     doCleanup();
 }
 
-SQLTransactionState SQLTransactionBackend::acquireLock()
+void SQLTransactionBackend::acquireLock()
 {
     m_database->transactionCoordinator()->acquireLock(this);
-    return SQLTransactionState::Idle;
 }
 
 void SQLTransactionBackend::lockAcquired()
@@ -550,7 +549,7 @@
     m_database->scheduleTransactionStep(this);
 }
 
-SQLTransactionState SQLTransactionBackend::openTransactionAndPreflight()
+void SQLTransactionBackend::openTransactionAndPreflight()
 {
     ASSERT(!m_database->sqliteDatabase().transactionInProgress());
     ASSERT(m_lockAcquired);
@@ -562,7 +561,7 @@
         m_transactionError = SQLError::create(SQLError::UNKNOWN_ERR, "unable to open a transaction, because the user deleted the database");
 
         handleTransactionError();
-        return SQLTransactionState::Idle;
+        return;
     }
 
     // Set the maximum usage for this transaction if this transactions is not read-only
@@ -587,7 +586,7 @@
         m_sqliteTransaction = nullptr;
 
         handleTransactionError();
-        return SQLTransactionState::Idle;
+        return;
     }
 
     // Note: We intentionally retrieve the actual version even with an empty expected version.
@@ -602,7 +601,7 @@
         m_database->enableAuthorizer();
 
         handleTransactionError();
-        return SQLTransactionState::Idle;
+        return;
     }
 
     m_hasVersionMismatch = !m_database->expectedVersion().isEmpty() && (m_database->expectedVersion() != actualVersion);
@@ -617,20 +616,20 @@
             m_transactionError = SQLError::create(SQLError::UNKNOWN_ERR, "unknown error occurred during transaction preflight");
 
         handleTransactionError();
-        return SQLTransactionState::Idle;
+        return;
     }
 
     // Spec 4.3.2.4: Invoke the transaction callback with the new SQLTransaction object
     if (m_hasCallback) {
         m_frontend->requestTransitToState(SQLTransactionState::DeliverTransactionCallback);
-        return SQLTransactionState::Idle;
+        return;
     }
 
     // If we have no callback to make, skip pass to the state after:
-    return runStatements();
+    runStatements();
 }
 
-SQLTransactionState SQLTransactionBackend::runStatements()
+void SQLTransactionBackend::runStatements()
 {
     ASSERT(m_lockAcquired);
 
@@ -665,8 +664,6 @@
     // the callback or performed any other additional work so we can return.
     if (!m_currentStatementBackend)
         postflightAndCommit();
-
-    return SQLTransactionState::Idle;
 }
 
 void SQLTransactionBackend::getNextStatement()
@@ -790,7 +787,7 @@
     m_frontend->requestTransitToState(SQLTransactionState::DeliverSuccessCallback);
 }
 
-SQLTransactionState SQLTransactionBackend::cleanupAndTerminate()
+void SQLTransactionBackend::cleanupAndTerminate()
 {
     ASSERT(m_lockAcquired);
 
@@ -801,10 +798,9 @@
     // Phase 5 cleanup. See comment on the SQLTransaction life-cycle above.
     doCleanup();
     m_database->inProgressTransactionCompleted();
-    return SQLTransactionState::End;
 }
 
-SQLTransactionState SQLTransactionBackend::cleanupAfterTransactionErrorCallback()
+void SQLTransactionBackend::cleanupAfterTransactionErrorCallback()
 {
     ASSERT(m_lockAcquired);
 
@@ -823,7 +819,7 @@
 
     ASSERT(!m_database->sqliteDatabase().transactionInProgress());
 
-    return cleanupAndTerminate();
+    cleanupAndTerminate();
 }
 
 // requestTransitToState() can be called from the frontend. Hence, it should
@@ -840,10 +836,9 @@
 // This state function is used as a stub function to plug unimplemented states
 // in the state dispatch table. They are unimplemented because they should
 // never be reached in the course of correct execution.
-SQLTransactionState SQLTransactionBackend::unreachableState()
+void SQLTransactionBackend::unreachableState()
 {
     ASSERT_NOT_REACHED();
-    return SQLTransactionState::End;
 }
 
 void SQLTransactionBackend::acquireOriginLock()

Modified: trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.h (188864 => 188865)


--- trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.h	2015-08-24 17:13:06 UTC (rev 188864)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.h	2015-08-24 17:16:47 UTC (rev 188865)
@@ -88,13 +88,13 @@
     void computeNextStateAndCleanupIfNeeded();
 
     // State functions:
-    SQLTransactionState acquireLock();
-    SQLTransactionState openTransactionAndPreflight();
-    SQLTransactionState runStatements();
-    SQLTransactionState cleanupAndTerminate();
-    SQLTransactionState cleanupAfterTransactionErrorCallback();
+    void acquireLock();
+    void openTransactionAndPreflight();
+    void runStatements();
+    void cleanupAndTerminate();
+    void cleanupAfterTransactionErrorCallback();
 
-    SQLTransactionState unreachableState();
+    NO_RETURN_DUE_TO_ASSERT void unreachableState();
 
     void getNextStatement();
     bool runCurrentStatement();

Modified: trunk/Source/WebCore/Modules/webdatabase/SQLTransactionStateMachine.h (188864 => 188865)


--- trunk/Source/WebCore/Modules/webdatabase/SQLTransactionStateMachine.h	2015-08-24 17:13:06 UTC (rev 188864)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLTransactionStateMachine.h	2015-08-24 17:16:47 UTC (rev 188865)
@@ -39,7 +39,7 @@
 protected:
     SQLTransactionStateMachine();
 
-    typedef SQLTransactionState (T::* StateFunction)();
+    typedef void (T::*StateFunction)();
     virtual StateFunction stateFunctionFor(SQLTransactionState) = 0;
 
     void setStateToRequestedState();
@@ -90,17 +90,20 @@
 void SQLTransactionStateMachine<T>::runStateMachine()
 {
     ASSERT(SQLTransactionState::End < SQLTransactionState::Idle);
-    while (m_nextState > SQLTransactionState::Idle) {
-        ASSERT(m_nextState < SQLTransactionState::NumberOfStates);
-        StateFunction stateFunction = stateFunctionFor(m_nextState);
-        ASSERT(stateFunction);
 
+    ASSERT(m_nextState > SQLTransactionState::Idle);
+    ASSERT(m_nextState < SQLTransactionState::NumberOfStates);
+
+    StateFunction stateFunction = stateFunctionFor(m_nextState);
+    ASSERT(stateFunction);
+
 #ifndef NDEBUG
-        m_stateAuditTrail[m_nextStateAuditEntry] = m_nextState;
-        m_nextStateAuditEntry = (m_nextStateAuditEntry + 1) % s_sizeOfStateAuditTrail;
+    m_stateAuditTrail[m_nextStateAuditEntry] = m_nextState;
+    m_nextStateAuditEntry = (m_nextStateAuditEntry + 1) % s_sizeOfStateAuditTrail;
 #endif
-        m_nextState = (static_cast<T*>(this)->*stateFunction)();
-    }
+
+    (static_cast<T*>(this)->*stateFunction)();
+    m_nextState = SQLTransactionState::Idle;
 }
 
 } // namespace WebCore
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to