REGRESSION: ASSERTION FAILED: m_wrapper on storage/indexeddb/modern/abort-requests...
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 26 Mar 2020 20:25:15 +0000 (20:25 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 26 Mar 2020 20:25:15 +0000 (20:25 +0000)
https://bugs.webkit.org/show_bug.cgi?id=209499
<rdar://problem/60842165>

Reviewed by Alex Christensen.

Source/WebCore:

IDBTransaction::hasPendingActivity() was failing to consult ActiveDOMObject::hasPendingActivity()
so the JS wrapper would get garbage collected even though the ActiveDOMObject base class was
aware of some pending activity.

No new tests, unskipped existing tests.

* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::hasPendingActivity const):

LayoutTests:

Unskip tests that should no longer be flaky.

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/mac-wk1/TestExpectations
Source/WebCore/ChangeLog
Source/WebCore/Modules/indexeddb/IDBTransaction.cpp

index c0544b9..c749c4c 100644 (file)
@@ -1,3 +1,15 @@
+2020-03-26  Chris Dumez  <cdumez@apple.com>
+
+        REGRESSION: ASSERTION FAILED: m_wrapper on storage/indexeddb/modern/abort-requests tests
+        https://bugs.webkit.org/show_bug.cgi?id=209499
+        <rdar://problem/60842165>
+
+        Reviewed by Alex Christensen.
+
+        Unskip tests that should no longer be flaky.
+
+        * platform/mac-wk1/TestExpectations:
+
 2020-03-25  Ryosuke Niwa  <rniwa@webkit.org>
 
         Sequential focus navigation can't get out of a descendent of a slot element in a document tree
index ab5ddd3..4827b25 100644 (file)
@@ -961,8 +961,4 @@ webkit.org/b/209353 [ Release ] media/video-background-tab-playback.html [ Pass
 
 webkit.org/b/209494 fast/events/mouse-cursor-no-mousemove.html [ Pass Failure ]
 
-webkit.org/b/209499 [ Catalina ] storage/indexeddb/modern/abort-requests-cancelled.html [ Pass Timeout Crash ]
-
-webkit.org/b/209499 [ Catalina ] storage/indexeddb/modern/abort-requests-cancelled-private.html [ Pass Timeout Crash ]
-
 webkit.org/b/209560 imported/w3c/web-platform-tests/xhr/send-response-upload-event-progress.htm [ Pass Crash Failure ]
index 6c6231d..912b11f 100644 (file)
@@ -1,3 +1,20 @@
+2020-03-26  Chris Dumez  <cdumez@apple.com>
+
+        REGRESSION: ASSERTION FAILED: m_wrapper on storage/indexeddb/modern/abort-requests tests
+        https://bugs.webkit.org/show_bug.cgi?id=209499
+        <rdar://problem/60842165>
+
+        Reviewed by Alex Christensen.
+
+        IDBTransaction::hasPendingActivity() was failing to consult ActiveDOMObject::hasPendingActivity()
+        so the JS wrapper would get garbage collected even though the ActiveDOMObject base class was
+        aware of some pending activity.
+
+        No new tests, unskipped existing tests.
+
+        * Modules/indexeddb/IDBTransaction.cpp:
+        (WebCore::IDBTransaction::hasPendingActivity const):
+
 2020-03-25  Ryosuke Niwa  <rniwa@webkit.org>
 
         Sequential focus navigation can't get out of a descendent of a slot element in a document tree
index 8ddf207..3d90b15 100644 (file)
@@ -318,6 +318,9 @@ const char* IDBTransaction::activeDOMObjectName() const
 bool IDBTransaction::hasPendingActivity() const
 {
     ASSERT(canCurrentThreadAccessThreadLocalData(m_database->originThread()) || Thread::mayBeGCThread());
+    if (ActiveDOMObject::hasPendingActivity())
+        return true;
+
     return !m_contextStopped && m_state != IndexedDB::TransactionState::Finished;
 }