Changeset 275583 in webkit
- Timestamp:
- Apr 6, 2021 6:28:54 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r275582 r275583 1 2021-04-06 Sihui Liu <sihui_liu@apple.com> 2 3 [ Catalina WK2 Release ] http/tests/IndexedDB/storage-limit-1.https.html is a flaky failure 4 https://bugs.webkit.org/show_bug.cgi?id=213292 5 <rdar://problem/64447734> 6 7 Reviewed by Geoffrey Garen. 8 9 Test http/tests/IndexedDB/collect-IDB-objects.https.html, which runs right before 10 http/tests/IndexedDB/storage-limit-1.https.html, will delete databases after test completetion. During deletion, 11 we create a new database if it does not exist, extract database version from it, and then delete database files. 12 This creation can happen during storage-limit-1.https.html run and interrupt testing for quota. To fix the 13 flakiness and make the deletion more efficient, let's not create a new database during deletion if database 14 does not exist. 15 16 * platform/mac-wk2/TestExpectations: 17 * platform/mac/TestExpectations: 18 1 19 2021-04-06 Robert Jenner <jenner@apple.com> 2 20 -
trunk/LayoutTests/platform/mac-wk2/TestExpectations
r275582 r275583 989 989 webkit.org/b/213212 [ Mojave Release ] webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb16f-rgb-half_float.html [ Pass Failure ] 990 990 991 webkit.org/b/213292 [ Catalina Release ] http/tests/IndexedDB/storage-limit-1.https.html [ Pass Failure ]992 993 991 webkit.org/b/213461 fast/mediastream/mediastreamtrack-video-frameRate-clone-increasing.html [ Pass Failure ] 994 992 … … 1085 1083 # <rdar://problem/64816527> swipe/pushState-cached-back-swipe.html is a flaky failure 1086 1084 [ Catalina ] swipe/pushState-cached-back-swipe.html [ Pass Failure ] 1087 1088 # <rdar://problem/63275213> REGRESSION: http/tests/IndexedDB/storage-limit-1.https.html is a flaky failure1089 [ BigSur+ Release ] http/tests/IndexedDB/storage-limit-1.https.html [ Pass Failure ]1090 1085 1091 1086 # <rdar://problem/63554249> [20A279] DQ bots are seeing http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy.html and http/tests/cache/disk-cache/disk-cache-validation-no-body.html are timing out -
trunk/LayoutTests/platform/mac/TestExpectations
r275580 r275583 1848 1848 imported/w3c/web-platform-tests/media-source/mediasource-changetype-play-without-codecs-parameter.html [ Pass Failure ] 1849 1849 1850 # <rdar://problem/56545293> REGRESSION (r250936?): http/tests/IndexedDB/storage-limit-1.https.html is a Flaky Failure1851 [ Catalina Release ] http/tests/IndexedDB/storage-limit-1.https.html [ Pass Failure ]1852 1853 1850 # <rdar://problem/60376665> [ macOS ] svg/custom/glyph-selection-arabic-forms.svg is failing since around r252706 1854 1851 [ Mojave ] svg/custom/glyph-selection-arabic-forms.svg [ Failure ] -
trunk/Source/WebCore/ChangeLog
r275574 r275583 1 2021-04-06 Sihui Liu <sihui_liu@apple.com> 2 3 [ Catalina WK2 Release ] http/tests/IndexedDB/storage-limit-1.https.html is a flaky failure 4 https://bugs.webkit.org/show_bug.cgi?id=213292 5 <rdar://problem/64447734> 6 7 Reviewed by Geoffrey Garen. 8 9 Test http/tests/IndexedDB/collect-IDB-objects.https.html, which runs right before 10 http/tests/IndexedDB/storage-limit-1.https.html, will delete databases after test completetion. During deletion, 11 we create a new database if it does not exist, extract database version from it, and then delete database files. 12 This creation can happen during storage-limit-1.https.html run and interrupt testing for quota. To fix the 13 flakiness and make the deletion more efficient, let's not create a new database during deletion if database 14 does not exist. 15 16 * Modules/indexeddb/server/IDBBackingStore.h: 17 * Modules/indexeddb/server/MemoryIDBBackingStore.cpp: 18 (WebCore::IDBServer::MemoryIDBBackingStore::databaseVersion): 19 * Modules/indexeddb/server/MemoryIDBBackingStore.h: 20 * Modules/indexeddb/server/SQLiteIDBBackingStore.cpp: 21 (WebCore::IDBServer::SQLiteIDBBackingStore::databaseVersion): 22 * Modules/indexeddb/server/SQLiteIDBBackingStore.h: 23 * Modules/indexeddb/server/UniqueIDBDatabase.cpp: 24 (WebCore::IDBServer::UniqueIDBDatabase::deleteBackingStore): 25 1 26 2021-04-06 Eric Carlson <eric.carlson@apple.com> 2 27 -
trunk/Source/WebCore/Modules/indexeddb/server/IDBBackingStore.h
r275151 r275583 63 63 64 64 virtual IDBError getOrEstablishDatabaseInfo(IDBDatabaseInfo&) = 0; 65 virtual uint64_t databaseVersion() = 0; 65 66 66 67 virtual IDBError beginTransaction(const IDBTransactionInfo&) = 0; -
trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp
r275151 r275583 64 64 } 65 65 66 uint64_t MemoryIDBBackingStore::databaseVersion() 67 { 68 return m_databaseInfo ? m_databaseInfo->version() : 0; 69 } 70 66 71 void MemoryIDBBackingStore::setDatabaseInfo(const IDBDatabaseInfo& info) 67 72 { -
trunk/Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.h
r275151 r275583 47 47 48 48 IDBError getOrEstablishDatabaseInfo(IDBDatabaseInfo&) final; 49 uint64_t databaseVersion() final; 49 50 void setDatabaseInfo(const IDBDatabaseInfo&); 50 51 -
trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp
r275301 r275583 1266 1266 } 1267 1267 1268 uint64_t SQLiteIDBBackingStore::databaseVersion() 1269 { 1270 if (m_databaseInfo) 1271 return m_databaseInfo->version(); 1272 1273 String dbFilename = fullDatabasePath(); 1274 if (!FileSystem::fileExists(dbFilename)) 1275 return 0; 1276 1277 auto databaseNameAndVersion = databaseNameAndVersionFromFile(dbFilename); 1278 return databaseNameAndVersion ? databaseNameAndVersion->version : 0; 1279 } 1280 1268 1281 uint64_t SQLiteIDBBackingStore::databasesSizeForDirectory(const String& directory, bool shouldPrintUsageDetail) 1269 1282 { -
trunk/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.h
r275301 r275583 58 58 59 59 IDBError getOrEstablishDatabaseInfo(IDBDatabaseInfo&) final; 60 uint64_t databaseVersion() final; 60 61 61 62 IDBError beginTransaction(const IDBTransactionInfo&) final; -
trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp
r275151 r275583 292 292 ASSERT(!isMainThread()); 293 293 LOG(IndexedDB, "UniqueIDBDatabase::deleteBackingStore"); 294 295 uint64_t deletedVersion = 0; 296 297 if (m_backingStore) { 298 m_backingStore->deleteBackingStore(); 299 m_backingStore = nullptr; 300 } else { 301 auto backingStore = m_server.createBackingStore(m_identifier); 302 303 IDBDatabaseInfo databaseInfo; 304 auto error = backingStore->getOrEstablishDatabaseInfo(databaseInfo); 305 if (!error.isNull()) 306 LOG_ERROR("Error getting database info from database %s that we are trying to delete", m_identifier.loggingString().utf8().data()); 307 308 deletedVersion = databaseInfo.version(); 309 backingStore->deleteBackingStore(); 310 } 311 294 295 auto backingStore = m_backingStore ? std::exchange(m_backingStore, nullptr) : m_server.createBackingStore(m_identifier); 296 uint64_t deletedVersion = backingStore->databaseVersion(); 297 backingStore->deleteBackingStore(); 312 298 didDeleteBackingStore(deletedVersion); 313 299 }
Note: See TracChangeset
for help on using the changeset viewer.