Title: [257333] releases/WebKitGTK/webkit-2.28/Source/WebCore
Revision
257333
Author
carlo...@webkit.org
Date
2020-02-25 08:01:41 -0800 (Tue, 25 Feb 2020)

Log Message

Merge r256447 - RELEASE_ASSERT() under WebSWClientConnection::didResolveRegistrationPromise()
https://bugs.webkit.org/show_bug.cgi?id=207637
<rdar://problem/59093490>

Reviewed by Youenn Fablet.

We were capturing data by reference in the notifyIfExitEarly ScopeExit lambda and then capturing it
in the task posted to the event loop, which was unsafe.

* workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.28/Source/WebCore/ChangeLog (257332 => 257333)


--- releases/WebKitGTK/webkit-2.28/Source/WebCore/ChangeLog	2020-02-25 16:01:37 UTC (rev 257332)
+++ releases/WebKitGTK/webkit-2.28/Source/WebCore/ChangeLog	2020-02-25 16:01:41 UTC (rev 257333)
@@ -1,3 +1,17 @@
+2020-02-12  Chris Dumez  <cdu...@apple.com>
+
+        RELEASE_ASSERT() under WebSWClientConnection::didResolveRegistrationPromise()
+        https://bugs.webkit.org/show_bug.cgi?id=207637
+        <rdar://problem/59093490>
+
+        Reviewed by Youenn Fablet.
+
+        We were capturing data by reference in the notifyIfExitEarly ScopeExit lambda and then capturing it
+        in the task posted to the event loop, which was unsafe.
+
+        * workers/service/ServiceWorkerContainer.cpp:
+        (WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
+
 2020-02-12  Sunny He  <sunny...@apple.com>
 
         Fix crash due to uninitialized currentStyle in CSSTransition

Modified: releases/WebKitGTK/webkit-2.28/Source/WebCore/workers/service/ServiceWorkerContainer.cpp (257332 => 257333)


--- releases/WebKitGTK/webkit-2.28/Source/WebCore/workers/service/ServiceWorkerContainer.cpp	2020-02-25 16:01:37 UTC (rev 257332)
+++ releases/WebKitGTK/webkit-2.28/Source/WebCore/workers/service/ServiceWorkerContainer.cpp	2020-02-25 16:01:41 UTC (rev 257333)
@@ -383,9 +383,9 @@
         destroyJob(job);
     });
 
-    auto notifyIfExitEarly = WTF::makeScopeExit([this, protectedThis = makeRef(*this), &data, &shouldNotifyWhenResolved] {
+    auto notifyIfExitEarly = WTF::makeScopeExit([this, protectedThis = makeRef(*this), key = data.key, &shouldNotifyWhenResolved] {
         if (shouldNotifyWhenResolved == ShouldNotifyWhenResolved::Yes)
-            notifyRegistrationIsSettled(data.key);
+            notifyRegistrationIsSettled(key);
     });
 
     if (isStopped())
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to