Title: [257454] releases/WebKitGTK/webkit-2.28/Source/WebKit
Revision
257454
Author
[email protected]
Date
2020-02-26 02:58:03 -0800 (Wed, 26 Feb 2020)

Log Message

Merge r257222 - Protect WebProcessPool from null weak pointers in m_serviceWorkerProcesses map
https://bugs.webkit.org/show_bug.cgi?id=208143
rdar://problem/58285589

Reviewed by Alex Christensen.

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::updateServiceWorkerUserAgent):
(WebKit::WebProcessPool::updateProcessAssertions):
When iterating through the map, make sure it does not have a null entry.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.28/Source/WebKit/ChangeLog (257453 => 257454)


--- releases/WebKitGTK/webkit-2.28/Source/WebKit/ChangeLog	2020-02-26 10:58:00 UTC (rev 257453)
+++ releases/WebKitGTK/webkit-2.28/Source/WebKit/ChangeLog	2020-02-26 10:58:03 UTC (rev 257454)
@@ -1,3 +1,17 @@
+2020-02-24  Youenn Fablet  <[email protected]>
+
+        Protect WebProcessPool from null weak pointers in m_serviceWorkerProcesses map
+        https://bugs.webkit.org/show_bug.cgi?id=208143
+        rdar://problem/58285589
+
+        Reviewed by Alex Christensen.
+
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::createWebPage):
+        (WebKit::WebProcessPool::updateServiceWorkerUserAgent):
+        (WebKit::WebProcessPool::updateProcessAssertions):
+        When iterating through the map, make sure it does not have a null entry.
+
 2020-02-20  Sihui Liu  <[email protected]>
 
         WebIDBServer resume should return early if suspend does not happen

Modified: releases/WebKitGTK/webkit-2.28/Source/WebKit/UIProcess/WebProcessPool.cpp (257453 => 257454)


--- releases/WebKitGTK/webkit-2.28/Source/WebKit/UIProcess/WebProcessPool.cpp	2020-02-26 10:58:00 UTC (rev 257453)
+++ releases/WebKitGTK/webkit-2.28/Source/WebKit/UIProcess/WebProcessPool.cpp	2020-02-26 10:58:03 UTC (rev 257454)
@@ -1272,8 +1272,10 @@
 #if ENABLE(SERVICE_WORKER)
     if (!m_serviceWorkerPreferences) {
         m_serviceWorkerPreferences = page->preferencesStore();
-        for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values())
-            serviceWorkerProcess->updateServiceWorkerPreferencesStore(*m_serviceWorkerPreferences);
+        for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values()) {
+            if (serviceWorkerProcess)
+                serviceWorkerProcess->updateServiceWorkerPreferencesStore(*m_serviceWorkerPreferences);
+        }
     }
     if (userContentController)
         m_userContentControllerIDForServiceWorker = userContentController->identifier();
@@ -1303,8 +1305,10 @@
     if (m_serviceWorkerUserAgent == userAgent)
         return;
     m_serviceWorkerUserAgent = userAgent;
-    for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values())
-        serviceWorkerProcess->setServiceWorkerUserAgent(m_serviceWorkerUserAgent);
+    for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values()) {
+        if (serviceWorkerProcess)
+            serviceWorkerProcess->setServiceWorkerUserAgent(m_serviceWorkerUserAgent);
+    }
 }
 #endif
 
@@ -2109,8 +2113,10 @@
         if (!weakThis)
             return;
 #if ENABLE(SERVICE_WORKER)
-        for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values())
-            serviceWorkerProcess->updateServiceWorkerProcessAssertion();
+        for (auto& serviceWorkerProcess : m_serviceWorkerProcesses.values()) {
+            if (serviceWorkerProcess)
+                serviceWorkerProcess->updateServiceWorkerProcessAssertion();
+        }
 #endif
     });
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to