Title: [259685] branches/safari-609-branch/Source/WebKit
Revision
259685
Author
alanc...@apple.com
Date
2020-04-07 16:36:04 -0700 (Tue, 07 Apr 2020)

Log Message

Cherry-pick r257222. rdar://problem/61414891

    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.

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257222 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-609-branch/Source/WebKit/ChangeLog (259684 => 259685)


--- branches/safari-609-branch/Source/WebKit/ChangeLog	2020-04-07 23:25:33 UTC (rev 259684)
+++ branches/safari-609-branch/Source/WebKit/ChangeLog	2020-04-07 23:36:04 UTC (rev 259685)
@@ -1,3 +1,36 @@
+2020-04-07  Russell Epstein  <repst...@apple.com>
+
+        Cherry-pick r257222. rdar://problem/61414891
+
+    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.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257222 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2020-02-24  Youenn Fablet  <you...@apple.com>
+
+            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-04-06  Alan Coon  <alanc...@apple.com>
 
         Cherry-pick r259580. rdar://problem/61352477

Modified: branches/safari-609-branch/Source/WebKit/UIProcess/WebProcessPool.cpp (259684 => 259685)


--- branches/safari-609-branch/Source/WebKit/UIProcess/WebProcessPool.cpp	2020-04-07 23:25:33 UTC (rev 259684)
+++ branches/safari-609-branch/Source/WebKit/UIProcess/WebProcessPool.cpp	2020-04-07 23:36:04 UTC (rev 259685)
@@ -1266,8 +1266,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();
@@ -1297,8 +1299,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
 
@@ -2101,8 +2105,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
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to