Title: [244674] trunk
Revision
244674
Author
[email protected]
Date
2019-04-25 18:58:33 -0700 (Thu, 25 Apr 2019)

Log Message

[ iOS Sim ] REGRESSION (r242986) Layout Test storage/indexeddb/modern/idbtransaction-objectstore-failures-private.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=196357
<rdar://problem/49386836>

Reviewed by Geoffrey Garen.

Source/WebCore:

Dispatch IDBRequest event to IDBTransaction if event of IDBTransaction has not been dispatched.

Covered by existing tests.

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::dispatchEvent):
* Modules/indexeddb/IDBTransaction.h:

LayoutTests:

* platform/ios-simulator-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (244673 => 244674)


--- trunk/LayoutTests/ChangeLog	2019-04-26 01:28:39 UTC (rev 244673)
+++ trunk/LayoutTests/ChangeLog	2019-04-26 01:58:33 UTC (rev 244674)
@@ -1,3 +1,15 @@
+2019-04-25  Sihui Liu  <[email protected]>
+
+        [ iOS Sim ] REGRESSION (r242986) Layout Test storage/indexeddb/modern/idbtransaction-objectstore-failures-private.html is a flaky failure
+        https://bugs.webkit.org/show_bug.cgi?id=196357
+        <rdar://problem/49386836>
+
+        Reviewed by Geoffrey Garen.
+
+        * platform/ios-simulator-wk2/TestExpectations:
+        * platform/mac-wk2/TestExpectations:
+        * platform/mac/TestExpectations:
+
 2019-04-25  Shawn Roberts  <[email protected]>
 
         fast/harness/render-tree-as-text-options.html Rebaselined test for windows

Modified: trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations (244673 => 244674)


--- trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations	2019-04-26 01:28:39 UTC (rev 244673)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations	2019-04-26 01:58:33 UTC (rev 244674)
@@ -75,8 +75,6 @@
 webkit.org/b/196112 imported/w3c/web-platform-tests/mathml/relations/css-styling/mathvariant-double-struck.html [ Pass ImageOnlyFailure ]
 webkit.org/b/196112 imported/w3c/web-platform-tests/mathml/relations/css-styling/mathvariant-italic.html [ Pass ImageOnlyFailure ]
 
-webkit.org/b/196357 storage/indexeddb/modern/idbtransaction-objectstore-failures-private.html [ Pass Failure ]
-
 http/wpt/cache-storage/quota-third-party.https.html [ Slow ]
 http/wpt/fetch/response-opaque-clone.html [ Slow ]
 

Modified: trunk/LayoutTests/platform/mac/TestExpectations (244673 => 244674)


--- trunk/LayoutTests/platform/mac/TestExpectations	2019-04-26 01:28:39 UTC (rev 244673)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2019-04-26 01:58:33 UTC (rev 244674)
@@ -1593,8 +1593,6 @@
 
 webkit.org/b/165311 [ Sierra+ ] media/modern-media-controls/pip-support/pip-support-click.html [ Pass Failure ]
 
-webkit.org/b/176693 storage/indexeddb/modern/idbtransaction-objectstore-failures-private.html [ Pass Failure ]
-
 # User-installed font infrastructure is ony present on certain OSes.
 webkit.org/b/180062 [ Sierra HighSierra ] fast/text/user-installed-fonts/disable.html [ ImageOnlyFailure ]
 webkit.org/b/180062 fast/text/user-installed-fonts/shadow-postscript.html [ ImageOnlyFailure ]

Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (244673 => 244674)


--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2019-04-26 01:28:39 UTC (rev 244673)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2019-04-26 01:58:33 UTC (rev 244674)
@@ -673,8 +673,6 @@
 
 webkit.org/b/171837 [ Debug ] http/tests/security/storage-blocking-loosened-plugin.html [ Pass Failure ]
 
-webkit.org/b/171862  storage/indexeddb/modern/idbtransaction-objectstore-failures.html [ Pass Failure ]
-
 webkit.org/b/171935 [ Sierra ] tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html [ Pass Failure ]
 
 webkit.org/b/171939 [ Sierra Release ] media/track/track-cue-rendering-on-resize.html [ Pass Timeout ]

Modified: trunk/Source/WebCore/ChangeLog (244673 => 244674)


--- trunk/Source/WebCore/ChangeLog	2019-04-26 01:28:39 UTC (rev 244673)
+++ trunk/Source/WebCore/ChangeLog	2019-04-26 01:58:33 UTC (rev 244674)
@@ -1,3 +1,21 @@
+2019-04-25  Sihui Liu  <[email protected]>
+
+        [ iOS Sim ] REGRESSION (r242986) Layout Test storage/indexeddb/modern/idbtransaction-objectstore-failures-private.html is a flaky failure
+        https://bugs.webkit.org/show_bug.cgi?id=196357
+        <rdar://problem/49386836>
+
+        Reviewed by Geoffrey Garen.
+
+        Dispatch IDBRequest event to IDBTransaction if event of IDBTransaction has not been dispatched.
+
+        Covered by existing tests.
+
+        * Modules/indexeddb/IDBRequest.cpp:
+        (WebCore::IDBRequest::dispatchEvent):
+        * Modules/indexeddb/IDBTransaction.cpp:
+        (WebCore::IDBTransaction::dispatchEvent):
+        * Modules/indexeddb/IDBTransaction.h:
+
 2019-04-25  Chris Dumez  <[email protected]>
 
         ASSERT(scriptExecutionContext()) in Performance::resourceTimingBufferFullTimerFired()

Modified: trunk/Source/WebCore/Modules/indexeddb/IDBRequest.cpp (244673 => 244674)


--- trunk/Source/WebCore/Modules/indexeddb/IDBRequest.cpp	2019-04-26 01:28:39 UTC (rev 244673)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBRequest.cpp	2019-04-26 01:58:33 UTC (rev 244674)
@@ -318,7 +318,7 @@
 
     if (&event == m_openDatabaseSuccessEvent)
         m_openDatabaseSuccessEvent = nullptr;
-    else if (m_transaction && !m_transaction->isFinished())
+    else if (m_transaction && !m_transaction->didDispatchAbortOrCommit())
         targets = { this, m_transaction.get(), &m_transaction->database() };
 
     m_hasPendingActivity = false;

Modified: trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp (244673 => 244674)


--- trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp	2019-04-26 01:28:39 UTC (rev 244673)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp	2019-04-26 01:58:33 UTC (rev 244674)
@@ -641,6 +641,7 @@
     auto protectedThis = makeRef(*this);
 
     EventDispatcher::dispatchEvent({ this, m_database.ptr() }, event);
+    m_didDispatchAbortOrCommit = true;
 
     if (isVersionChange()) {
         ASSERT(m_openDBRequest);

Modified: trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.h (244673 => 244674)


--- trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.h	2019-04-26 01:28:39 UTC (rev 244673)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.h	2019-04-26 01:58:33 UTC (rev 244674)
@@ -146,6 +146,7 @@
 
     bool isFinishedOrFinishing() const;
     bool isFinished() const { return m_state == IndexedDB::TransactionState::Finished; }
+    bool didDispatchAbortOrCommit() const { return m_didDispatchAbortOrCommit; }
 
     IDBClient::IDBConnectionProxy& connectionProxy();
 
@@ -261,6 +262,7 @@
     RefPtr<IDBRequest> m_currentlyCompletingRequest;
 
     bool m_contextStopped { false };
+    bool m_didDispatchAbortOrCommit { false };
 };
 
 class TransactionActivator {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to