Changeset 240358 in webkit
- Timestamp:
- Jan 23, 2019 1:39:19 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r240354 r240358 1 2019-01-23 Sihui Liu <sihui_liu@apple.com> 2 3 Clean up IndexedDB files between tests 4 https://bugs.webkit.org/show_bug.cgi?id=192796 5 <rdar://problem/46824999> 6 7 Reviewed by Geoffrey Garen. 8 9 We should clean up the IndexedDB files between tests to make sure each IDB test is independent of others. 10 11 * Modules/indexeddb/server/UniqueIDBDatabase.cpp: 12 (WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore): 13 (WebCore::IDBServer::UniqueIDBDatabase::transactionCompleted): 14 1 15 2019-01-23 Oriol Brufau <obrufau@igalia.com> 2 16 -
trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp
r240090 r240358 338 338 339 339 m_deleteBackingStoreInProgress = false; 340 341 if (m_hardClosedForUserDelete) 342 return; 343 340 344 invokeOperationAndTransactionTimer(); 341 345 } … … 634 638 ASSERT(m_isOpeningBackingStore); 635 639 m_isOpeningBackingStore = false; 640 641 if (m_hardClosedForUserDelete) 642 return; 636 643 637 644 handleDatabaseOperations(); … … 1709 1716 if (!transaction->isReadOnly()) { 1710 1717 m_objectStoreWriteTransactions.remove(objectStore); 1711 ASSERT(m_objectStoreTransactionCounts.count(objectStore) == 1 );1718 ASSERT(m_objectStoreTransactionCounts.count(objectStore) == 1 || m_hardClosedForUserDelete); 1712 1719 } 1713 1720 m_objectStoreTransactionCounts.remove(objectStore); -
trunk/Source/WebKit/ChangeLog
r240352 r240358 1 2019-01-23 Sihui Liu <sihui_liu@apple.com> 2 3 Clean up IndexedDB files between tests 4 https://bugs.webkit.org/show_bug.cgi?id=192796 5 <rdar://problem/46824999> 6 7 Reviewed by Geoffrey Garen. 8 9 * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: 10 (WKWebsiteDataStoreRemoveAllIndexedDatabases): 11 * UIProcess/API/C/WKWebsiteDataStoreRef.h: 12 1 13 2019-01-23 Wenson Hsieh <wenson_hsieh@apple.com> 2 14 -
trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp
r240243 r240358 449 449 } 450 450 451 void WKWebsiteDataStoreRemoveAllIndexedDatabases(WKWebsiteDataStoreRef dataStoreRef )451 void WKWebsiteDataStoreRemoveAllIndexedDatabases(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreRemoveAllIndexedDatabasesCallback callback) 452 452 { 453 453 OptionSet<WebKit::WebsiteDataType> dataTypes = WebKit::WebsiteDataType::IndexedDBDatabases; 454 WebKit::toImpl(dataStoreRef)->websiteDataStore().removeData(dataTypes, -WallTime::infinity(), [] { }); 454 WebKit::toImpl(dataStoreRef)->websiteDataStore().removeData(dataTypes, -WallTime::infinity(), [context, callback] { 455 if (callback) 456 callback(context); 457 }); 455 458 } 456 459 -
trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h
r239380 r240358 104 104 WK_EXPORT void WKWebsiteDataStoreRemoveAllServiceWorkerRegistrations(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreRemoveAllServiceWorkerRegistrationsCallback callback); 105 105 106 WK_EXPORT void WKWebsiteDataStoreRemoveAllIndexedDatabases(WKWebsiteDataStoreRef dataStoreRef); 106 typedef void (*WKWebsiteDataStoreRemoveAllIndexedDatabasesCallback)(void* functionContext); 107 WK_EXPORT void WKWebsiteDataStoreRemoveAllIndexedDatabases(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreRemoveAllIndexedDatabasesCallback callback); 107 108 108 109 typedef void (*WKWebsiteDataStoreGetFetchCacheOriginsFunction)(WKArrayRef, void*); -
trunk/Tools/ChangeLog
r240357 r240358 1 2019-01-23 Sihui Liu <sihui_liu@apple.com> 2 3 Clean up IndexedDB files between tests 4 https://bugs.webkit.org/show_bug.cgi?id=192796 5 <rdar://problem/46824999> 6 7 Reviewed by Geoffrey Garen. 8 9 * DumpRenderTree/mac/DumpRenderTree.mm: 10 (runTest): 11 * WebKitTestRunner/TestController.cpp: 12 (WTR::TestController::resetStateToConsistentValues): 13 (WTR::RemoveAllIndexedDatabasesCallbackContext::RemoveAllIndexedDatabasesCallbackContext): 14 (WTR::RemoveAllIndexedDatabasesCallback): 15 (WTR::TestController::ClearIndexedDatabases): 16 * WebKitTestRunner/TestController.h: 17 * WebKitTestRunner/TestInvocation.cpp: 18 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 19 1 20 2019-01-23 Aakash Jain <aakash_jain@apple.com> 2 21 -
trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm
r240251 r240358 2014 2014 gTestRunner->clearAllApplicationCaches(); 2015 2015 2016 gTestRunner->clearAllDatabases(); 2017 gTestRunner->setIDBPerOriginQuota(50 * MB); 2018 2016 2019 if (disallowedURLs) 2017 2020 CFSetRemoveAllValues(disallowedURLs); -
trunk/Tools/WebKitTestRunner/TestController.cpp
r240156 r240358 869 869 WKContextClearCachedCredentials(TestController::singleton().context()); 870 870 871 ClearIndexedDatabases(); 872 setIDBPerOriginQuota(50 * MB); 873 871 874 clearServiceWorkerRegistrations(); 872 875 clearDOMCaches(); … … 2767 2770 } 2768 2771 2772 struct RemoveAllIndexedDatabasesCallbackContext { 2773 explicit RemoveAllIndexedDatabasesCallbackContext(TestController& controller) 2774 : testController(controller) 2775 { 2776 } 2777 2778 TestController& testController; 2779 bool done { false }; 2780 }; 2781 2782 static void RemoveAllIndexedDatabasesCallback(void* userData) 2783 { 2784 auto* context = static_cast<RemoveAllIndexedDatabasesCallbackContext*>(userData); 2785 context->done = true; 2786 context->testController.notifyDone(); 2787 } 2788 2789 void TestController::ClearIndexedDatabases() 2790 { 2791 auto websiteDataStore = WKContextGetWebsiteDataStore(platformContext()); 2792 RemoveAllIndexedDatabasesCallbackContext context(*this); 2793 WKWebsiteDataStoreRemoveAllIndexedDatabases(websiteDataStore, &context, RemoveAllIndexedDatabasesCallback); 2794 runUntil(context.done, noTimeout); 2795 } 2796 2769 2797 struct FetchCacheOriginsCallbackContext { 2770 2798 FetchCacheOriginsCallbackContext(TestController& controller, WKStringRef origin) -
trunk/Tools/WebKitTestRunner/TestController.h
r240156 r240358 243 243 void removeAllSessionCredentials(); 244 244 245 void ClearIndexedDatabases(); 246 245 247 void clearServiceWorkerRegistrations(); 246 248 -
trunk/Tools/WebKitTestRunner/TestInvocation.cpp
r240156 r240358 912 912 913 913 if (WKStringIsEqualToUTF8CString(messageName, "DeleteAllIndexedDatabases")) { 914 WKWebsiteDataStoreRemoveAllIndexedDatabases(WKContextGetWebsiteDataStore(TestController::singleton().context()) );914 WKWebsiteDataStoreRemoveAllIndexedDatabases(WKContextGetWebsiteDataStore(TestController::singleton().context()), nullptr, { }); 915 915 return nullptr; 916 916 }
Note: See TracChangeset
for help on using the changeset viewer.