Title: [235456] trunk/Source/WebCore
- Revision
- 235456
- Author
- [email protected]
- Date
- 2018-08-28 21:52:45 -0700 (Tue, 28 Aug 2018)
Log Message
IDBDatabase should not return true to hasPendingActivity after being stopped
https://bugs.webkit.org/show_bug.cgi?id=189073
Reviewed by Darin Adler.
There is a chance that IDBDatabase::hasPendingActivity returns true.
The case that might happen is when stop() is called but there are still some active/being committed transactions.
In that case, hasPendingActivity will return true until these transactions get finalized.
While these transactions will probably be finalized at some point, it delays GC for no good reason.
And we might want in a follow-up patch to assert that ActiveDOMObject are GC-able whenever their context is stopped.
For that purpose, make sure hasPendingActivity returns false when context is stopped.
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::hasPendingActivity const):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (235455 => 235456)
--- trunk/Source/WebCore/ChangeLog 2018-08-29 04:06:53 UTC (rev 235455)
+++ trunk/Source/WebCore/ChangeLog 2018-08-29 04:52:45 UTC (rev 235456)
@@ -1,3 +1,20 @@
+2018-08-28 Youenn Fablet <[email protected]>
+
+ IDBDatabase should not return true to hasPendingActivity after being stopped
+ https://bugs.webkit.org/show_bug.cgi?id=189073
+
+ Reviewed by Darin Adler.
+
+ There is a chance that IDBDatabase::hasPendingActivity returns true.
+ The case that might happen is when stop() is called but there are still some active/being committed transactions.
+ In that case, hasPendingActivity will return true until these transactions get finalized.
+ While these transactions will probably be finalized at some point, it delays GC for no good reason.
+ And we might want in a follow-up patch to assert that ActiveDOMObject are GC-able whenever their context is stopped.
+ For that purpose, make sure hasPendingActivity returns false when context is stopped.
+
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::hasPendingActivity const):
+
2018-08-28 Don Olmstead <[email protected]>
[CMake] Use CMake's FindFreetype
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp (235455 => 235456)
--- trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp 2018-08-29 04:06:53 UTC (rev 235455)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp 2018-08-29 04:52:45 UTC (rev 235456)
@@ -76,7 +76,7 @@
{
ASSERT(&originThread() == &Thread::current() || mayBeGCThread());
- if (m_closedInServer)
+ if (m_closedInServer || isContextStopped())
return false;
if (!m_activeTransactions.isEmpty() || !m_committingTransactions.isEmpty() || !m_abortingTransactions.isEmpty())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes