Title: [255642] branches/safari-610.1.1-branch
- Revision
- 255642
- Author
- [email protected]
- Date
- 2020-02-03 19:09:12 -0800 (Mon, 03 Feb 2020)
Log Message
Cherry-pick r255329. rdar://problem/58606666
REGRESSION (r252064): [ Mac iOS ] storage/websql/statement-error-callback.html is timing out flakily
https://bugs.webkit.org/show_bug.cgi?id=206291
<rdar://problem/58606666>
Reviewed by Maciej Stachowiak.
Source/WebCore:
I found that extending the lifetime of the SQLTransaction by capturing protectedThis in the event loop
task was the source of the flaky timeouts & crashes. Queueing this event loop task in
notifyDatabaseThreadIsShuttingDown() is actually not necessary because calling callErrorCallbackDueToInterruption()
directly would schedule the event loop task for us. Also, in callErrorCallbackDueToInterruption(),
the event loop task only keeps the error callback alive, not just the SQLTransaction object.
No new tests, unskipped existing test.
* Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
LayoutTests:
Unskip test that is no longer flaky.
* platform/ios/TestExpectations:
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-610.1.1-branch/LayoutTests/ChangeLog (255641 => 255642)
--- branches/safari-610.1.1-branch/LayoutTests/ChangeLog 2020-02-04 03:09:09 UTC (rev 255641)
+++ branches/safari-610.1.1-branch/LayoutTests/ChangeLog 2020-02-04 03:09:12 UTC (rev 255642)
@@ -1,5 +1,50 @@
2020-02-03 Russell Epstein <[email protected]>
+ Cherry-pick r255329. rdar://problem/58606666
+
+ REGRESSION (r252064): [ Mac iOS ] storage/websql/statement-error-callback.html is timing out flakily
+ https://bugs.webkit.org/show_bug.cgi?id=206291
+ <rdar://problem/58606666>
+
+ Reviewed by Maciej Stachowiak.
+
+ Source/WebCore:
+
+ I found that extending the lifetime of the SQLTransaction by capturing protectedThis in the event loop
+ task was the source of the flaky timeouts & crashes. Queueing this event loop task in
+ notifyDatabaseThreadIsShuttingDown() is actually not necessary because calling callErrorCallbackDueToInterruption()
+ directly would schedule the event loop task for us. Also, in callErrorCallbackDueToInterruption(),
+ the event loop task only keeps the error callback alive, not just the SQLTransaction object.
+
+ No new tests, unskipped existing test.
+
+ * Modules/webdatabase/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
+
+ LayoutTests:
+
+ Unskip test that is no longer flaky.
+
+ * platform/ios/TestExpectations:
+ * platform/mac/TestExpectations:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2020-01-28 Chris Dumez <[email protected]>
+
+ REGRESSION (r252064): [ Mac iOS ] storage/websql/statement-error-callback.html is timing out flakily
+ https://bugs.webkit.org/show_bug.cgi?id=206291
+ <rdar://problem/58606666>
+
+ Reviewed by Maciej Stachowiak.
+
+ Unskip test that is no longer flaky.
+
+ * platform/ios/TestExpectations:
+ * platform/mac/TestExpectations:
+
+2020-02-03 Russell Epstein <[email protected]>
+
Cherry-pick r255247. rdar://problem/58838711
REGRESSION?: [ Mac wk1 ] storage/indexeddb/modern/blob-cursor.html is flaky timing out
Modified: branches/safari-610.1.1-branch/LayoutTests/platform/ios/TestExpectations (255641 => 255642)
--- branches/safari-610.1.1-branch/LayoutTests/platform/ios/TestExpectations 2020-02-04 03:09:09 UTC (rev 255641)
+++ branches/safari-610.1.1-branch/LayoutTests/platform/ios/TestExpectations 2020-02-04 03:09:12 UTC (rev 255642)
@@ -3460,3 +3460,4 @@
webkit.org/b/204757 imported/w3c/web-platform-tests/fetch/api/request/destination/fetch-destination-no-load-event.https.html [ Pass Failure ]
webkit.org/b/205309 scrollingcoordinator/ios/scroll-position-after-reattach.html [ ImageOnlyFailure ]
+
Modified: branches/safari-610.1.1-branch/LayoutTests/platform/mac/TestExpectations (255641 => 255642)
--- branches/safari-610.1.1-branch/LayoutTests/platform/mac/TestExpectations 2020-02-04 03:09:09 UTC (rev 255641)
+++ branches/safari-610.1.1-branch/LayoutTests/platform/mac/TestExpectations 2020-02-04 03:09:12 UTC (rev 255642)
@@ -1927,3 +1927,4 @@
# The navigator.language tests rely on functionality only available in recent releases of macOS Catalina and onward.
webkit.org/b/200043 [ Sierra HighSierra Mojave Catalina ] fast/text/international/system-language/navigator-language [ Pass Failure ]
+
Modified: branches/safari-610.1.1-branch/Source/WebCore/ChangeLog (255641 => 255642)
--- branches/safari-610.1.1-branch/Source/WebCore/ChangeLog 2020-02-04 03:09:09 UTC (rev 255641)
+++ branches/safari-610.1.1-branch/Source/WebCore/ChangeLog 2020-02-04 03:09:12 UTC (rev 255642)
@@ -1,5 +1,56 @@
2020-02-03 Russell Epstein <[email protected]>
+ Cherry-pick r255329. rdar://problem/58606666
+
+ REGRESSION (r252064): [ Mac iOS ] storage/websql/statement-error-callback.html is timing out flakily
+ https://bugs.webkit.org/show_bug.cgi?id=206291
+ <rdar://problem/58606666>
+
+ Reviewed by Maciej Stachowiak.
+
+ Source/WebCore:
+
+ I found that extending the lifetime of the SQLTransaction by capturing protectedThis in the event loop
+ task was the source of the flaky timeouts & crashes. Queueing this event loop task in
+ notifyDatabaseThreadIsShuttingDown() is actually not necessary because calling callErrorCallbackDueToInterruption()
+ directly would schedule the event loop task for us. Also, in callErrorCallbackDueToInterruption(),
+ the event loop task only keeps the error callback alive, not just the SQLTransaction object.
+
+ No new tests, unskipped existing test.
+
+ * Modules/webdatabase/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
+
+ LayoutTests:
+
+ Unskip test that is no longer flaky.
+
+ * platform/ios/TestExpectations:
+ * platform/mac/TestExpectations:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2020-01-28 Chris Dumez <[email protected]>
+
+ REGRESSION (r252064): [ Mac iOS ] storage/websql/statement-error-callback.html is timing out flakily
+ https://bugs.webkit.org/show_bug.cgi?id=206291
+ <rdar://problem/58606666>
+
+ Reviewed by Maciej Stachowiak.
+
+ I found that extending the lifetime of the SQLTransaction by capturing protectedThis in the event loop
+ task was the source of the flaky timeouts & crashes. Queueing this event loop task in
+ notifyDatabaseThreadIsShuttingDown() is actually not necessary because calling callErrorCallbackDueToInterruption()
+ directly would schedule the event loop task for us. Also, in callErrorCallbackDueToInterruption(),
+ the event loop task only keeps the error callback alive, not just the SQLTransaction object.
+
+ No new tests, unskipped existing test.
+
+ * Modules/webdatabase/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
+
+2020-02-03 Russell Epstein <[email protected]>
+
Cherry-pick r254950. rdar://problem/58544942
REGRESSION (r253519): [WKWebView evaluateJavaScript:completionHandler:] gives a non-nil, non-Error result even when _javascript_ cannot be evaluated
Modified: branches/safari-610.1.1-branch/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp (255641 => 255642)
--- branches/safari-610.1.1-branch/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp 2020-02-04 03:09:09 UTC (rev 255641)
+++ branches/safari-610.1.1-branch/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp 2020-02-04 03:09:12 UTC (rev 255642)
@@ -128,9 +128,7 @@
void SQLTransaction::notifyDatabaseThreadIsShuttingDown()
{
callOnMainThread([this, protectedThis = makeRef(*this)]() mutable {
- m_database->document().eventLoop().queueTask(TaskSource::Networking, [this, protectedThis = protectedThis.copyRef()]() mutable {
- callErrorCallbackDueToInterruption();
- });
+ callErrorCallbackDueToInterruption();
});
m_backend.notifyDatabaseThreadIsShuttingDown();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes