Title: [273293] trunk/Source/WebKit
Revision
273293
Author
cdu...@apple.com
Date
2021-02-22 18:08:28 -0800 (Mon, 22 Feb 2021)

Log Message

Add assertions to help identify to source of <rdar://68340471>
https://bugs.webkit.org/show_bug.cgi?id=222290

Reviewed by Alex Christensen.

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
(WebKit::WebProcessPool::pageEndUsingWebsiteDataStore):
(WebKit::WebProcessPool::hasPagesUsingWebsiteDataStore const):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::addExistingWebPage):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (273292 => 273293)


--- trunk/Source/WebKit/ChangeLog	2021-02-23 02:02:01 UTC (rev 273292)
+++ trunk/Source/WebKit/ChangeLog	2021-02-23 02:08:28 UTC (rev 273293)
@@ -1,3 +1,17 @@
+2021-02-22  Chris Dumez  <cdu...@apple.com>
+
+        Add assertions to help identify to source of <rdar://68340471>
+        https://bugs.webkit.org/show_bug.cgi?id=222290
+
+        Reviewed by Alex Christensen.
+
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
+        (WebKit::WebProcessPool::pageEndUsingWebsiteDataStore):
+        (WebKit::WebProcessPool::hasPagesUsingWebsiteDataStore const):
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::addExistingWebPage):
+
 2021-02-22  Said Abou-Hallawa  <s...@apple.com>
 
         [GPU Process] Implement the ClipToDrawingCommands item by using begin and end markers

Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (273292 => 273293)


--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2021-02-23 02:02:01 UTC (rev 273292)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2021-02-23 02:08:28 UTC (rev 273293)
@@ -1101,6 +1101,8 @@
 
 void WebProcessPool::pageBeginUsingWebsiteDataStore(WebPageProxyIdentifier pageID, WebsiteDataStore& dataStore)
 {
+    RELEASE_ASSERT(RunLoop::isMain());
+    RELEASE_ASSERT(m_sessionToPageIDsMap.isValidKey(dataStore.sessionID()));
     auto result = m_sessionToPageIDsMap.add(dataStore.sessionID(), HashSet<WebPageProxyIdentifier>()).iterator->value.add(pageID);
     ASSERT_UNUSED(result, result.isNewEntry);
 }
@@ -1107,9 +1109,11 @@
 
 void WebProcessPool::pageEndUsingWebsiteDataStore(WebPageProxyIdentifier pageID, WebsiteDataStore& dataStore)
 {
+    RELEASE_ASSERT(RunLoop::isMain());
     auto sessionID = dataStore.sessionID();
+    RELEASE_ASSERT(m_sessionToPageIDsMap.isValidKey(dataStore.sessionID()));
     auto iterator = m_sessionToPageIDsMap.find(sessionID);
-    ASSERT(iterator != m_sessionToPageIDsMap.end());
+    RELEASE_ASSERT(iterator != m_sessionToPageIDsMap.end());
 
     auto takenPageID = iterator->value.take(pageID);
     ASSERT_UNUSED(takenPageID, takenPageID == pageID);
@@ -1124,6 +1128,8 @@
 
 bool WebProcessPool::hasPagesUsingWebsiteDataStore(WebsiteDataStore& dataStore) const
 {
+    RELEASE_ASSERT(RunLoop::isMain());
+    RELEASE_ASSERT(m_sessionToPageIDsMap.isValidKey(dataStore.sessionID()));
     return m_sessionToPageIDsMap.contains(dataStore.sessionID());
 }
 

Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp (273292 => 273293)


--- trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp	2021-02-23 02:02:01 UTC (rev 273292)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp	2021-02-23 02:08:28 UTC (rev 273293)
@@ -524,8 +524,10 @@
     RELEASE_ASSERT(!m_isInProcessCache);
     ASSERT(!m_websiteDataStore || m_websiteDataStore == &webPage.websiteDataStore());
 
-    if (beginsUsingDataStore == BeginsUsingDataStore::Yes)
+    if (beginsUsingDataStore == BeginsUsingDataStore::Yes) {
+        RELEASE_ASSERT(m_processPool);
         m_processPool->pageBeginUsingWebsiteDataStore(webPage.identifier(), webPage.websiteDataStore());
+    }
 
     m_pageMap.set(webPage.identifier(), &webPage);
     globalPageMap().set(webPage.identifier(), &webPage);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to