Title: [239380] trunk
Revision
239380
Author
[email protected]
Date
2018-12-19 10:57:09 -0800 (Wed, 19 Dec 2018)

Log Message

Unreviewed, rolling out r239358.

Revision caused imported/w3c/web-platform-tests/IndexedDB/ to
crash on Debug bots

Reverted changeset:

"Clean up IndexedDB files between tests"
https://bugs.webkit.org/show_bug.cgi?id=192796
https://trac.webkit.org/changeset/239358

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (239379 => 239380)


--- trunk/Source/WebCore/ChangeLog	2018-12-19 18:23:36 UTC (rev 239379)
+++ trunk/Source/WebCore/ChangeLog	2018-12-19 18:57:09 UTC (rev 239380)
@@ -1,3 +1,16 @@
+2018-12-19  Truitt Savell  <[email protected]>
+
+        Unreviewed, rolling out r239358.
+
+        Revision caused imported/w3c/web-platform-tests/IndexedDB/ to
+        crash on Debug bots
+
+        Reverted changeset:
+
+        "Clean up IndexedDB files between tests"
+        https://bugs.webkit.org/show_bug.cgi?id=192796
+        https://trac.webkit.org/changeset/239358
+
 2018-12-19  Don Olmstead  <[email protected]>
 
         Sync some include directories in WebCore

Modified: trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp (239379 => 239380)


--- trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp	2018-12-19 18:23:36 UTC (rev 239379)
+++ trunk/Source/WebCore/Modules/indexeddb/server/IDBServer.cpp	2018-12-19 18:57:09 UTC (rev 239380)
@@ -509,8 +509,8 @@
     }
 
     HashSet<UniqueIDBDatabase*> openDatabases;
-    for (auto& database : m_uniqueIDBDatabaseMap.values())
-        openDatabases.add(database.get());
+    for (auto* connection : m_databaseConnections.values())
+        openDatabases.add(connection->database());
 
     for (auto& database : openDatabases)
         database->immediateCloseForUserDelete();

Modified: trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp (239379 => 239380)


--- trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp	2018-12-19 18:23:36 UTC (rev 239379)
+++ trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp	2018-12-19 18:57:09 UTC (rev 239380)
@@ -294,10 +294,7 @@
     m_backingStoreSupportsSimultaneousTransactions = false;
     m_backingStoreIsEphemeral = false;
 
-    if (!m_databaseQueue.isEmpty()) {
-        postDatabaseTask(createCrossThreadTask(*this, &UniqueIDBDatabase::shutdownForClose));
-        return;
-    }
+    ASSERT(m_databaseQueue.isEmpty());
     m_databaseQueue.kill();
 
     postDatabaseTaskReply(createCrossThreadTask(*this, &UniqueIDBDatabase::didShutdownForClose));
@@ -339,9 +336,7 @@
     }
 
     m_deleteBackingStoreInProgress = false;
-
-    if (!m_hardClosedForUserDelete)
-        invokeOperationAndTransactionTimer();
+    invokeOperationAndTransactionTimer();
 }
 
 void UniqueIDBDatabase::handleDatabaseOperations()
@@ -348,10 +343,8 @@
 {
     ASSERT(isMainThread());
     LOG(IndexedDB, "(main) UniqueIDBDatabase::handleDatabaseOperations - There are %u pending", m_pendingOpenDBRequests.size());
+    ASSERT(!m_hardClosedForUserDelete);
 
-    if (m_hardClosedForUserDelete)
-        return;
-
     if (m_deleteBackingStoreInProgress)
         return;
 
@@ -1285,9 +1278,6 @@
     ASSERT(m_cursorPrefetches.contains(cursorIdentifier));
     LOG(IndexedDB, "(db) UniqueIDBDatabase::performPrefetchCursor");
 
-    if (m_owningPointerForClose)
-        return;
-
     if (m_backingStore->prefetchCursor(transactionIdentifier, cursorIdentifier))
         postDatabaseTask(createCrossThreadTask(*this, &UniqueIDBDatabase::performPrefetchCursor, transactionIdentifier, cursorIdentifier));
     else
@@ -1828,6 +1818,8 @@
     for (auto& transaction : m_pendingTransactions)
         transaction->databaseConnection().deleteTransaction(*transaction);
     m_pendingTransactions.clear();
+    m_objectStoreTransactionCounts.clear();
+    m_objectStoreWriteTransactions.clear();
 
     // Error out all pending callbacks
     IDBError error = IDBError::userDeleteError();

Modified: trunk/Source/WebKit/ChangeLog (239379 => 239380)


--- trunk/Source/WebKit/ChangeLog	2018-12-19 18:23:36 UTC (rev 239379)
+++ trunk/Source/WebKit/ChangeLog	2018-12-19 18:57:09 UTC (rev 239380)
@@ -1,3 +1,16 @@
+2018-12-19  Truitt Savell  <[email protected]>
+
+        Unreviewed, rolling out r239358.
+
+        Revision caused imported/w3c/web-platform-tests/IndexedDB/ to
+        crash on Debug bots
+
+        Reverted changeset:
+
+        "Clean up IndexedDB files between tests"
+        https://bugs.webkit.org/show_bug.cgi?id=192796
+        https://trac.webkit.org/changeset/239358
+
 2018-12-18  Alex Christensen  <[email protected]>
 
         REGRESSION(r239134) iOS safe browsing warning unable to show details

Modified: trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp (239379 => 239380)


--- trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp	2018-12-19 18:23:36 UTC (rev 239379)
+++ trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp	2018-12-19 18:57:09 UTC (rev 239380)
@@ -511,13 +511,10 @@
     });
 }
 
-void WKWebsiteDataStoreRemoveAllIndexedDatabases(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreRemoveAllIndexedDatabasesCallback callback)
+void WKWebsiteDataStoreRemoveAllIndexedDatabases(WKWebsiteDataStoreRef dataStoreRef)
 {
     OptionSet<WebKit::WebsiteDataType> dataTypes = WebKit::WebsiteDataType::IndexedDBDatabases;
-    WebKit::toImpl(dataStoreRef)->websiteDataStore().removeData(dataTypes, -WallTime::infinity(), [context, callback] {
-        if (callback)
-            callback(context);
-    });
+    WebKit::toImpl(dataStoreRef)->websiteDataStore().removeData(dataTypes, -WallTime::infinity(), [] { });
 }
 
 void WKWebsiteDataStoreRemoveAllServiceWorkerRegistrations(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreRemoveAllServiceWorkerRegistrationsCallback callback)

Modified: trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h (239379 => 239380)


--- trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h	2018-12-19 18:23:36 UTC (rev 239379)
+++ trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h	2018-12-19 18:57:09 UTC (rev 239380)
@@ -103,8 +103,7 @@
 typedef void (*WKWebsiteDataStoreRemoveAllServiceWorkerRegistrationsCallback)(void* functionContext);
 WK_EXPORT void WKWebsiteDataStoreRemoveAllServiceWorkerRegistrations(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreRemoveAllServiceWorkerRegistrationsCallback callback);
 
-typedef void (*WKWebsiteDataStoreRemoveAllIndexedDatabasesCallback)(void* functionContext);
-WK_EXPORT void WKWebsiteDataStoreRemoveAllIndexedDatabases(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreRemoveAllIndexedDatabasesCallback callback);
+WK_EXPORT void WKWebsiteDataStoreRemoveAllIndexedDatabases(WKWebsiteDataStoreRef dataStoreRef);
 
 typedef void (*WKWebsiteDataStoreGetFetchCacheOriginsFunction)(WKArrayRef, void*);
 WK_EXPORT void WKWebsiteDataStoreGetFetchCacheOrigins(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreGetFetchCacheOriginsFunction function);

Modified: trunk/Tools/ChangeLog (239379 => 239380)


--- trunk/Tools/ChangeLog	2018-12-19 18:23:36 UTC (rev 239379)
+++ trunk/Tools/ChangeLog	2018-12-19 18:57:09 UTC (rev 239380)
@@ -1,3 +1,16 @@
+2018-12-19  Truitt Savell  <[email protected]>
+
+        Unreviewed, rolling out r239358.
+
+        Revision caused imported/w3c/web-platform-tests/IndexedDB/ to
+        crash on Debug bots
+
+        Reverted changeset:
+
+        "Clean up IndexedDB files between tests"
+        https://bugs.webkit.org/show_bug.cgi?id=192796
+        https://trac.webkit.org/changeset/239358
+
 2018-12-18  Wenson Hsieh  <[email protected]>
 
         [iOS] A copied text selection is pasted as a web archive attachment in the entry view in Messages

Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (239379 => 239380)


--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2018-12-19 18:23:36 UTC (rev 239379)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2018-12-19 18:57:09 UTC (rev 239380)
@@ -2012,8 +2012,6 @@
     sizeWebViewForCurrentTest();
     gTestRunner->setIconDatabaseEnabled(false);
     gTestRunner->clearAllApplicationCaches();
-    gTestRunner->clearAllDatabases();
-    gTestRunner->setIDBPerOriginQuota(50 * MB);
 
     if (disallowedURLs)
         CFSetRemoveAllValues(disallowedURLs);

Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (239379 => 239380)


--- trunk/Tools/WebKitTestRunner/TestController.cpp	2018-12-19 18:23:36 UTC (rev 239379)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp	2018-12-19 18:57:09 UTC (rev 239380)
@@ -867,9 +867,6 @@
 
     WKContextClearCachedCredentials(TestController::singleton().context());
 
-    ClearIndexedDatabases();
-    setIDBPerOriginQuota(50 * MB);
-
     clearServiceWorkerRegistrations();
     clearDOMCaches();
 
@@ -2762,28 +2759,6 @@
     WKContextSetIDBPerOriginQuota(platformContext(), quota);
 }
 
-struct RemoveAllIndexedDatabasesCallbackContext {
-    explicit RemoveAllIndexedDatabasesCallbackContext(TestController& controller)
-        : testController(controller)
-        {
-        }
-    TestController& testController;
-    bool done { false };
-};
-static void RemoveAllIndexedDatabasesCallback(void* userData)
-{
-    auto* context = static_cast<RemoveAllIndexedDatabasesCallbackContext*>(userData);
-    context->done = true;
-    context->testController.notifyDone();
-}
-void TestController::ClearIndexedDatabases()
-{
-    auto websiteDataStore = WKContextGetWebsiteDataStore(platformContext());
-    RemoveAllIndexedDatabasesCallbackContext context(*this);
-    WKWebsiteDataStoreRemoveAllIndexedDatabases(websiteDataStore, &context, RemoveAllIndexedDatabasesCallback);
-    runUntil(context.done, noTimeout);
-}
-
 struct FetchCacheOriginsCallbackContext {
     FetchCacheOriginsCallbackContext(TestController& controller, WKStringRef origin)
         : testController(controller)

Modified: trunk/Tools/WebKitTestRunner/TestController.h (239379 => 239380)


--- trunk/Tools/WebKitTestRunner/TestController.h	2018-12-19 18:23:36 UTC (rev 239379)
+++ trunk/Tools/WebKitTestRunner/TestController.h	2018-12-19 18:57:09 UTC (rev 239380)
@@ -242,8 +242,6 @@
 
     void removeAllSessionCredentials();
 
-    void ClearIndexedDatabases();
-
     void clearServiceWorkerRegistrations();
 
     void clearDOMCache(WKStringRef origin);

Modified: trunk/Tools/WebKitTestRunner/TestInvocation.cpp (239379 => 239380)


--- trunk/Tools/WebKitTestRunner/TestInvocation.cpp	2018-12-19 18:23:36 UTC (rev 239379)
+++ trunk/Tools/WebKitTestRunner/TestInvocation.cpp	2018-12-19 18:57:09 UTC (rev 239380)
@@ -903,7 +903,7 @@
     }
     
     if (WKStringIsEqualToUTF8CString(messageName, "DeleteAllIndexedDatabases")) {
-        WKWebsiteDataStoreRemoveAllIndexedDatabases(WKContextGetWebsiteDataStore(TestController::singleton().context()), nullptr, { });
+        WKWebsiteDataStoreRemoveAllIndexedDatabases(WKContextGetWebsiteDataStore(TestController::singleton().context()));
         return nullptr;
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to