Title: [225581] trunk/Source/WebCore
Revision
225581
Author
commit-qu...@webkit.org
Date
2017-12-06 11:00:59 -0800 (Wed, 06 Dec 2017)

Log Message

REGRESSION (r225537): Crash in WebCore::SWServerWorker::setHasPendingEvents(bool) + 68
https://bugs.webkit.org/show_bug.cgi?id=180481

Patch by Youenn Fablet <you...@apple.com> on 2017-12-06
Reviewed by Chris Dumez.

Replacing ASSERT by if null check since there is no strong guarantee right now that there is a registration
in SWServer registration map associated to a SWServerWorker.

* workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::setHasPendingEvents):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (225580 => 225581)


--- trunk/Source/WebCore/ChangeLog	2017-12-06 18:58:40 UTC (rev 225580)
+++ trunk/Source/WebCore/ChangeLog	2017-12-06 19:00:59 UTC (rev 225581)
@@ -1,3 +1,16 @@
+2017-12-06  Youenn Fablet  <you...@apple.com>
+
+        REGRESSION (r225537): Crash in WebCore::SWServerWorker::setHasPendingEvents(bool) + 68
+        https://bugs.webkit.org/show_bug.cgi?id=180481
+
+        Reviewed by Chris Dumez.
+
+        Replacing ASSERT by if null check since there is no strong guarantee right now that there is a registration
+        in SWServer registration map associated to a SWServerWorker.
+
+        * workers/service/server/SWServerWorker.cpp:
+        (WebCore::SWServerWorker::setHasPendingEvents):
+
 2017-12-06  Chris Dumez  <cdu...@apple.com>
 
         ServiceWorkers API should reject promises when calling objects inside detached frames

Modified: trunk/Source/WebCore/workers/service/server/SWServerWorker.cpp (225580 => 225581)


--- trunk/Source/WebCore/workers/service/server/SWServerWorker.cpp	2017-12-06 18:58:40 UTC (rev 225580)
+++ trunk/Source/WebCore/workers/service/server/SWServerWorker.cpp	2017-12-06 19:00:59 UTC (rev 225581)
@@ -141,7 +141,9 @@
 
     // Do tryClear/tryActivate, as per https://w3c.github.io/ServiceWorker/#wait-until-method.
     auto* registration = m_server.getRegistration(m_registrationKey);
-    ASSERT(registration);
+    if (!registration)
+        return;
+
     if (registration->isUninstalling() && registration->tryClear())
         return;
     registration->tryActivate();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to