Title: [256447] trunk/Source/WebCore
- Revision
- 256447
- Author
- [email protected]
- Date
- 2020-02-12 10:24:16 -0800 (Wed, 12 Feb 2020)
Log Message
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: trunk/Source/WebCore/ChangeLog (256446 => 256447)
--- trunk/Source/WebCore/ChangeLog 2020-02-12 18:07:37 UTC (rev 256446)
+++ trunk/Source/WebCore/ChangeLog 2020-02-12 18:24:16 UTC (rev 256447)
@@ -1,3 +1,17 @@
+2020-02-12 Chris Dumez <[email protected]>
+
+ 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 Andres Gonzalez <[email protected]>
Support event notifications in IsolatedTree mode.
Modified: trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp (256446 => 256447)
--- trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp 2020-02-12 18:07:37 UTC (rev 256446)
+++ trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp 2020-02-12 18:24:16 UTC (rev 256447)
@@ -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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes