Title: [290200] trunk/Source/WebKit
- Revision
- 290200
- Author
- sihui_...@apple.com
- Date
- 2022-02-18 23:22:47 -0800 (Fri, 18 Feb 2022)
Log Message
ASSERTION FAILED: !hasAnyOpenConnections() in UniqueIDBDatabase::~UniqueIDBDatabase()
https://bugs.webkit.org/show_bug.cgi?id=236856
Reviewed by Chris Dumez.
The assertion is hit when running API test WebKit.MigrateIndexedDBDataToGeneralStorageDirectory. We need to
properly close UniqueIDBDatabase before it's destroyed.
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::storageSession): remove logging as it was added when we had check for
default session. Since we don't have the check now, the logging does not make much sense.
* NetworkProcess/storage/IDBStorageManager.cpp:
(WebKit::IDBStorageManager::~IDBStorageManager):
* NetworkProcess/storage/IDBStorageManager.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (290199 => 290200)
--- trunk/Source/WebKit/ChangeLog 2022-02-19 07:19:34 UTC (rev 290199)
+++ trunk/Source/WebKit/ChangeLog 2022-02-19 07:22:47 UTC (rev 290200)
@@ -1,3 +1,20 @@
+2022-02-18 Sihui Liu <sihui_...@apple.com>
+
+ ASSERTION FAILED: !hasAnyOpenConnections() in UniqueIDBDatabase::~UniqueIDBDatabase()
+ https://bugs.webkit.org/show_bug.cgi?id=236856
+
+ Reviewed by Chris Dumez.
+
+ The assertion is hit when running API test WebKit.MigrateIndexedDBDataToGeneralStorageDirectory. We need to
+ properly close UniqueIDBDatabase before it's destroyed.
+
+ * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+ (WebKit::NetworkConnectionToWebProcess::storageSession): remove logging as it was added when we had check for
+ default session. Since we don't have the check now, the logging does not make much sense.
+ * NetworkProcess/storage/IDBStorageManager.cpp:
+ (WebKit::IDBStorageManager::~IDBStorageManager):
+ * NetworkProcess/storage/IDBStorageManager.h:
+
2022-02-18 Ben Nham <n...@apple.com>
Hook up PushManager to permission state
Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (290199 => 290200)
--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2022-02-19 07:19:34 UTC (rev 290199)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2022-02-19 07:22:47 UTC (rev 290200)
@@ -750,10 +750,7 @@
NetworkStorageSession* NetworkConnectionToWebProcess::storageSession()
{
- auto* session = networkProcess().storageSession(m_sessionID);
- if (!session)
- LOG_ERROR("Non-default storage session was requested, but there was no session for it. Please file a bug unless you just disabled private browsing, in which case it's an expected race.");
- return session;
+ return networkProcess().storageSession(m_sessionID);
}
void NetworkConnectionToWebProcess::startDownload(DownloadID downloadID, const ResourceRequest& request, std::optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, const String& suggestedName)
Modified: trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp (290199 => 290200)
--- trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp 2022-02-19 07:19:34 UTC (rev 290199)
+++ trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.cpp 2022-02-19 07:22:47 UTC (rev 290200)
@@ -120,6 +120,12 @@
{
}
+IDBStorageManager::~IDBStorageManager()
+{
+ for (auto& database : m_databases.values())
+ database->immediateClose();
+}
+
bool IDBStorageManager::isActive() const
{
return !m_databases.isEmpty();
Modified: trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.h (290199 => 290200)
--- trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.h 2022-02-19 07:19:34 UTC (rev 290199)
+++ trunk/Source/WebKit/NetworkProcess/storage/IDBStorageManager.h 2022-02-19 07:22:47 UTC (rev 290200)
@@ -52,6 +52,7 @@
using QuotaCheckFunction = Function<void(uint64_t spaceRequested, CompletionHandler<void(bool)>&&)>;
IDBStorageManager(const String& path, IDBStorageRegistry&, QuotaCheckFunction&&);
+ ~IDBStorageManager();
bool isActive() const;
bool hasDataInMemory() const;
void closeDatabasesForDeletion();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes