Title: [286774] trunk/Source/WebKit
Revision
286774
Author
[email protected]
Date
2021-12-09 03:42:39 -0800 (Thu, 09 Dec 2021)

Log Message

Copy ServiceWorkerNavigationPreloader error when failing its ServiceWorkerFetchTask
https://bugs.webkit.org/show_bug.cgi?id=234002

Reviewed by Chris Dumez.

Covered by existing tests.

* NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
When failing a ServiceWorkerNavigationPreloader, we might delete it, so it is not safe to manage a reference to its error.
Instead copy the error.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (286773 => 286774)


--- trunk/Source/WebKit/ChangeLog	2021-12-09 11:23:27 UTC (rev 286773)
+++ trunk/Source/WebKit/ChangeLog	2021-12-09 11:42:39 UTC (rev 286774)
@@ -1,3 +1,16 @@
+2021-12-09  Youenn Fablet  <[email protected]>
+
+        Copy ServiceWorkerNavigationPreloader error when failing its ServiceWorkerFetchTask
+        https://bugs.webkit.org/show_bug.cgi?id=234002
+
+        Reviewed by Chris Dumez.
+
+        Covered by existing tests.
+
+        * NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
+        When failing a ServiceWorkerNavigationPreloader, we might delete it, so it is not safe to manage a reference to its error.
+        Instead copy the error.
+
 2021-12-09  Myles C. Maxfield  <[email protected]> and Don Olmstead  <[email protected]>
 
         Move TextCodec files from WebCore/platform/text to WebCore/PAL/text

Modified: trunk/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp (286773 => 286774)


--- trunk/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp	2021-12-09 11:23:27 UTC (rev 286773)
+++ trunk/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp	2021-12-09 11:42:39 UTC (rev 286774)
@@ -364,7 +364,8 @@
             return;
 
         if (!m_preloader->error().isNull()) {
-            didFail(m_preloader->error());
+            // Let's copy the error as calling didFail might destroy m_preloader.
+            didFail(ResourceError { m_preloader->error() });
             return;
         }
 
@@ -388,7 +389,8 @@
         if (!weakThis)
             return;
         if (!m_preloader->error().isNull()) {
-            didFail(m_preloader->error());
+            // Let's copy the error as calling didFail might destroy m_preloader.
+            didFail(ResourceError { m_preloader->error() });
             return;
         }
         if (!chunk) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to