Title: [205209] trunk/Source/WebKit2
Revision
205209
Author
[email protected]
Date
2016-08-30 17:11:33 -0700 (Tue, 30 Aug 2016)

Log Message

Switch more messages over to Connection::sendWithReply
https://bugs.webkit.org/show_bug.cgi?id=161415

Reviewed by Tim Horton.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::processWillShutDown):
(WebKit::WebProcessProxy::canTerminateChildProcess):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::generateCallbackID): Deleted.
(WebKit::WebProcessProxy::didDeleteWebsiteData): Deleted.
(WebKit::WebProcessProxy::didDeleteWebsiteDataForOrigins): Deleted.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::deleteWebsiteData):
(WebKit::WebProcess::deleteWebsiteDataForOrigins):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (205208 => 205209)


--- trunk/Source/WebKit2/ChangeLog	2016-08-30 23:01:13 UTC (rev 205208)
+++ trunk/Source/WebKit2/ChangeLog	2016-08-31 00:11:33 UTC (rev 205209)
@@ -1,5 +1,29 @@
 2016-08-30  Anders Carlsson  <[email protected]>
 
+        Switch more messages over to Connection::sendWithReply
+        https://bugs.webkit.org/show_bug.cgi?id=161415
+
+        Reviewed by Tim Horton.
+
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::~WebProcessProxy):
+        (WebKit::WebProcessProxy::processWillShutDown):
+        (WebKit::WebProcessProxy::canTerminateChildProcess):
+        (WebKit::WebProcessProxy::deleteWebsiteData):
+        (WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
+        (WebKit::generateCallbackID): Deleted.
+        (WebKit::WebProcessProxy::didDeleteWebsiteData): Deleted.
+        (WebKit::WebProcessProxy::didDeleteWebsiteDataForOrigins): Deleted.
+        * UIProcess/WebProcessProxy.h:
+        * UIProcess/WebProcessProxy.messages.in:
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::deleteWebsiteData):
+        (WebKit::WebProcess::deleteWebsiteDataForOrigins):
+        * WebProcess/WebProcess.h:
+        * WebProcess/WebProcess.messages.in:
+
+2016-08-30  Anders Carlsson  <[email protected]>
+
         Add Connection::sendWithReply
         https://bugs.webkit.org/show_bug.cgi?id=161399
 

Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (205208 => 205209)


--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2016-08-30 23:01:13 UTC (rev 205208)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2016-08-31 00:11:33 UTC (rev 205209)
@@ -80,13 +80,6 @@
     return ++uniquePageID;
 }
 
-static uint64_t generateCallbackID()
-{
-    static uint64_t callbackID;
-
-    return ++callbackID;
-}
-
 static WebProcessProxy::WebPageProxyMap& globalPageMap()
 {
     ASSERT(RunLoop::isMain());
@@ -115,8 +108,6 @@
 
 WebProcessProxy::~WebProcessProxy()
 {
-    ASSERT(m_pendingDeleteWebsiteDataCallbacks.isEmpty());
-    ASSERT(m_pendingDeleteWebsiteDataForOriginsCallbacks.isEmpty());
     ASSERT(m_pageURLRetainCountMap.isEmpty());
 
     if (m_webConnection)
@@ -163,14 +154,6 @@
 {
     ASSERT_UNUSED(connection, this->connection() == &connection);
 
-    for (const auto& callback : m_pendingDeleteWebsiteDataCallbacks.values())
-        callback();
-    m_pendingDeleteWebsiteDataCallbacks.clear();
-
-    for (const auto& callback : m_pendingDeleteWebsiteDataForOriginsCallbacks.values())
-        callback();
-    m_pendingDeleteWebsiteDataForOriginsCallbacks.clear();
-
     for (auto& page : m_pageMap.values())
         page->webProcessWillShutDown();
 
@@ -683,9 +666,6 @@
     if (!m_pageMap.isEmpty())
         return false;
 
-    if (!m_pendingDeleteWebsiteDataCallbacks.isEmpty())
-        return false;
-
     if (!m_processPool->shouldTerminate(this))
         return false;
 
@@ -701,18 +681,6 @@
     }
 }
 
-void WebProcessProxy::didDeleteWebsiteData(uint64_t callbackID)
-{
-    auto callback = m_pendingDeleteWebsiteDataCallbacks.take(callbackID);
-    callback();
-}
-
-void WebProcessProxy::didDeleteWebsiteDataForOrigins(uint64_t callbackID)
-{
-    auto callback = m_pendingDeleteWebsiteDataForOriginsCallbacks.take(callbackID);
-    callback();
-}
-
 void WebProcessProxy::updateTextCheckerState()
 {
     if (canSendMessage())
@@ -758,15 +726,13 @@
 {
     ASSERT(canSendMessage());
 
-    uint64_t callbackID = generateCallbackID();
     auto token = throttler().backgroundActivityToken();
     RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), "%p - WebProcessProxy is taking a background assertion because the Web process is deleting Website data", this);
 
-    m_pendingDeleteWebsiteDataCallbacks.add(callbackID, [this, token, completionHandler, sessionID] {
+    connection()->sendWithReply(Messages::WebProcess::DeleteWebsiteData(sessionID, dataTypes, modifiedSince), 0, RunLoop::main(), [this, token, completionHandler = WTFMove(completionHandler), sessionID](auto reply) {
         completionHandler();
         RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), "%p - WebProcessProxy is releasing a background assertion because the Web process is done deleting Website data", this);
     });
-    send(Messages::WebProcess::DeleteWebsiteData(sessionID, dataTypes, modifiedSince, callbackID), 0);
 }
 
 void WebProcessProxy::deleteWebsiteDataForOrigins(SessionID sessionID, OptionSet<WebsiteDataType> dataTypes, const Vector<RefPtr<WebCore::SecurityOrigin>>& origins, std::function<void ()> completionHandler)
@@ -773,20 +739,17 @@
 {
     ASSERT(canSendMessage());
 
-    uint64_t callbackID = generateCallbackID();
     auto token = throttler().backgroundActivityToken();
     RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), "%p - WebProcessProxy is taking a background assertion because the Web process is deleting Website data for several origins", this);
 
-    m_pendingDeleteWebsiteDataForOriginsCallbacks.add(callbackID, [this, token, completionHandler, sessionID] {
-        completionHandler();
-        RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), "%p - WebProcessProxy is releasing a background assertion because the Web process is done deleting Website data for several origins", this);
-    });
-
     Vector<SecurityOriginData> originData;
     for (auto& origin : origins)
         originData.append(SecurityOriginData::fromSecurityOrigin(*origin));
 
-    send(Messages::WebProcess::DeleteWebsiteDataForOrigins(sessionID, dataTypes, originData, callbackID), 0);
+    connection()->sendWithReply(Messages::WebProcess::DeleteWebsiteDataForOrigins(sessionID, dataTypes, originData), 0, RunLoop::main(), [this, token, completionHandler, sessionID](auto reply) {
+        completionHandler();
+        RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), "%p - WebProcessProxy is releasing a background assertion because the Web process is done deleting Website data for several origins", this);
+    });
 }
 
 void WebProcessProxy::requestTermination()

Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.h (205208 => 205209)


--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.h	2016-08-30 23:01:13 UTC (rev 205208)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.h	2016-08-31 00:11:33 UTC (rev 205209)
@@ -170,9 +170,6 @@
 
     void shouldTerminate(bool& shouldTerminate);
 
-    void didDeleteWebsiteData(uint64_t callbackID);
-    void didDeleteWebsiteDataForOrigins(uint64_t callbackID);
-
     // Plugins
 #if ENABLE(NETSCAPE_PLUGIN_API)
     void getPlugins(bool refresh, Vector<WebCore::PluginInfo>& plugins, Vector<WebCore::PluginInfo>& applicationPlugins);
@@ -238,9 +235,6 @@
 
     CustomProtocolManagerProxy m_customProtocolManagerProxy;
 
-    HashMap<uint64_t, std::function<void ()>> m_pendingDeleteWebsiteDataCallbacks;
-    HashMap<uint64_t, std::function<void ()>> m_pendingDeleteWebsiteDataForOriginsCallbacks;
-
     int m_numberOfTimesSuddenTerminationWasDisabled;
     ProcessThrottler m_throttler;
     ProcessThrottler::BackgroundActivityToken m_tokenForHoldingLockedFiles;

Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.messages.in (205208 => 205209)


--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.messages.in	2016-08-30 23:01:13 UTC (rev 205208)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.messages.in	2016-08-31 00:11:33 UTC (rev 205209)
@@ -31,9 +31,6 @@
     EnableSuddenTermination()
     DisableSuddenTermination()
 
-    DidDeleteWebsiteData(uint64_t callbackID)
-    DidDeleteWebsiteDataForOrigins(uint64_t callbackID)
-
     # Plugin messages.
 #if ENABLE(NETSCAPE_PLUGIN_API)
     GetPlugins(bool refresh) -> (Vector<WebCore::PluginInfo> plugins, Vector<WebCore::PluginInfo> applicationPlugins)

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (205208 => 205209)


--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2016-08-30 23:01:13 UTC (rev 205208)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2016-08-31 00:11:33 UTC (rev 205209)
@@ -1207,7 +1207,7 @@
     }
 }
 
-void WebProcess::deleteWebsiteData(SessionID sessionID, OptionSet<WebsiteDataType> websiteDataTypes, std::chrono::system_clock::time_point modifiedSince, uint64_t callbackID)
+void WebProcess::deleteWebsiteData(SessionID sessionID, OptionSet<WebsiteDataType> websiteDataTypes, std::chrono::system_clock::time_point modifiedSince)
 {
     UNUSED_PARAM(modifiedSince);
 
@@ -1217,11 +1217,9 @@
 
         CrossOriginPreflightResultCache::singleton().empty();
     }
-
-    parentProcessConnection()->send(Messages::WebProcessProxy::DidDeleteWebsiteData(callbackID), 0);
 }
 
-void WebProcess::deleteWebsiteDataForOrigins(WebCore::SessionID sessionID, OptionSet<WebsiteDataType> websiteDataTypes, const Vector<WebCore::SecurityOriginData>& originDatas, uint64_t callbackID)
+void WebProcess::deleteWebsiteDataForOrigins(WebCore::SessionID sessionID, OptionSet<WebsiteDataType> websiteDataTypes, const Vector<WebCore::SecurityOriginData>& originDatas)
 {
     if (websiteDataTypes.contains(WebsiteDataType::MemoryCache)) {
         HashSet<RefPtr<SecurityOrigin>> origins;
@@ -1230,8 +1228,6 @@
 
         MemoryCache::singleton().removeResourcesWithOrigins(sessionID, origins);
     }
-
-    parentProcessConnection()->send(Messages::WebProcessProxy::DidDeleteWebsiteDataForOrigins(callbackID), 0);
 }
 
 void WebProcess::setHiddenPageTimerThrottlingIncreaseLimit(int milliseconds)

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (205208 => 205209)


--- trunk/Source/WebKit2/WebProcess/WebProcess.h	2016-08-30 23:01:13 UTC (rev 205208)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h	2016-08-31 00:11:33 UTC (rev 205209)
@@ -288,8 +288,8 @@
     void releasePageCache();
 
     void fetchWebsiteData(WebCore::SessionID, OptionSet<WebsiteDataType>, WebsiteData&);
-    void deleteWebsiteData(WebCore::SessionID, OptionSet<WebsiteDataType>, std::chrono::system_clock::time_point modifiedSince, uint64_t callbackID);
-    void deleteWebsiteDataForOrigins(WebCore::SessionID, OptionSet<WebsiteDataType>, const Vector<WebCore::SecurityOriginData>& origins, uint64_t callbackID);
+    void deleteWebsiteData(WebCore::SessionID, OptionSet<WebsiteDataType>, std::chrono::system_clock::time_point modifiedSince);
+    void deleteWebsiteDataForOrigins(WebCore::SessionID, OptionSet<WebsiteDataType>, const Vector<WebCore::SecurityOriginData>& origins);
 
     void setMemoryCacheDisabled(bool);
 

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.messages.in (205208 => 205209)


--- trunk/Source/WebKit2/WebProcess/WebProcess.messages.in	2016-08-30 23:01:13 UTC (rev 205208)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.messages.in	2016-08-31 00:11:33 UTC (rev 205209)
@@ -77,8 +77,8 @@
     ReleasePageCache()
 
     FetchWebsiteData(WebCore::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes) -> (struct WebKit::WebsiteData websiteData)
-    DeleteWebsiteData(WebCore::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, std::chrono::system_clock::time_point modifiedSince, uint64_t callbackID)
-    DeleteWebsiteDataForOrigins(WebCore::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, Vector<WebCore::SecurityOriginData> origins, uint64_t callbackID)
+    DeleteWebsiteData(WebCore::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, std::chrono::system_clock::time_point modifiedSince) -> ()
+    DeleteWebsiteDataForOrigins(WebCore::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, Vector<WebCore::SecurityOriginData> origins) -> ()
 
     SetHiddenPageTimerThrottlingIncreaseLimit(int milliseconds)
     SetProcessSuppressionEnabled(bool flag)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to