Diff
Modified: trunk/Source/WebKit2/ChangeLog (219160 => 219161)
--- trunk/Source/WebKit2/ChangeLog 2017-07-05 22:25:06 UTC (rev 219160)
+++ trunk/Source/WebKit2/ChangeLog 2017-07-05 22:27:47 UTC (rev 219161)
@@ -1,3 +1,38 @@
+2017-07-05 Chris Dumez <[email protected]>
+
+ [WK2] WebsiteDataStore::setResourceLoadStatisticsEnabled() updates processPools the store is not associated with
+ https://bugs.webkit.org/show_bug.cgi?id=174174
+
+ Reviewed by Brent Fulgham.
+
+ WebsiteDataStore::setResourceLoadStatisticsEnabled() updates processPools the store is not associated with.
+ Fix this by iterating over WebsiteDataStore::processPools() instead of WebProcessPool::allProcessPools().
+
+ Also rename shouldPartitionCookiesForTopPrivatelyOwnedDomains methods / IPC messages to
+ updateCookiePartitioningForTopPrivatelyOwnedDomains since this is a setter, not a getter.
+
+ Finally, drop ShouldPartitionCookiesForTopPrivatelyOwnedDomains IPC message to the NetworkProcessProxy
+ as well as corresponding methods as those appear to be unused.
+
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::updateCookiePartitioningForTopPrivatelyOwnedDomains):
+ (WebKit::NetworkProcess::shouldPartitionCookiesForTopPrivatelyOwnedDomains): Deleted.
+ * NetworkProcess/NetworkProcess.h:
+ * NetworkProcess/NetworkProcess.messages.in:
+ * UIProcess/Network/NetworkProcessProxy.cpp:
+ (WebKit::NetworkProcessProxy::shouldPartitionCookiesForTopPrivatelyOwnedDomains): Deleted.
+ * UIProcess/Network/NetworkProcessProxy.h:
+ * UIProcess/Network/NetworkProcessProxy.messages.in:
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::setResourceLoadStatisticsEnabled):
+ * UIProcess/WebProcessPool.h:
+ * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+ (WebKit::WebsiteDataStore::updateCookiePartitioningForTopPrivatelyOwnedDomains):
+ (WebKit::WebsiteDataStore::setResourceLoadStatisticsEnabled):
+ (WebKit::WebsiteDataStore::registerSharedResourceLoadObserver):
+ (WebKit::WebsiteDataStore::shouldPartitionCookiesForTopPrivatelyOwnedDomains): Deleted.
+ * UIProcess/WebsiteData/WebsiteDataStore.h:
+
2017-07-05 Tim Horton <[email protected]>
Async Image Decoding: Image flashes away briefly when tapping on tab in iPad tab picker
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp (219160 => 219161)
--- trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp 2017-07-05 22:25:06 UTC (rev 219160)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp 2017-07-05 22:27:47 UTC (rev 219161)
@@ -319,9 +319,9 @@
}
#if HAVE(CFNETWORK_STORAGE_PARTITIONING)
-void NetworkProcess::shouldPartitionCookiesForTopPrivatelyOwnedDomains(const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool clearFirst)
+void NetworkProcess::updateCookiePartitioningForTopPrivatelyOwnedDomains(const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool shouldClearFirst)
{
- NetworkStorageSession::defaultStorageSession().setShouldPartitionCookiesForHosts(domainsToRemove, domainsToAdd, clearFirst);
+ NetworkStorageSession::defaultStorageSession().setShouldPartitionCookiesForHosts(domainsToRemove, domainsToAdd, shouldClearFirst);
}
#endif
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkProcess.h (219160 => 219161)
--- trunk/Source/WebKit2/NetworkProcess/NetworkProcess.h 2017-07-05 22:25:06 UTC (rev 219160)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkProcess.h 2017-07-05 22:27:47 UTC (rev 219161)
@@ -118,7 +118,7 @@
void grantSandboxExtensionsToDatabaseProcessForBlobs(const Vector<String>& filenames, Function<void ()>&& completionHandler);
#if HAVE(CFNETWORK_STORAGE_PARTITIONING)
- void shouldPartitionCookiesForTopPrivatelyOwnedDomains(const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool clearFirst);
+ void updateCookiePartitioningForTopPrivatelyOwnedDomains(const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool shouldClearFirst);
#endif
Seconds loadThrottleLatency() const { return m_loadThrottleLatency; }
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkProcess.messages.in (219160 => 219161)
--- trunk/Source/WebKit2/NetworkProcess/NetworkProcess.messages.in 2017-07-05 22:25:06 UTC (rev 219160)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkProcess.messages.in 2017-07-05 22:27:47 UTC (rev 219161)
@@ -83,6 +83,6 @@
DidGrantSandboxExtensionsToDatabaseProcessForBlobs(uint64_t requestID)
#if HAVE(CFNETWORK_STORAGE_PARTITIONING)
- ShouldPartitionCookiesForTopPrivatelyOwnedDomains(Vector<String> domainsToRemove, Vector<String> domainsToAdd, bool clearFirst)
+ UpdateCookiePartitioningForTopPrivatelyOwnedDomains(Vector<String> domainsToRemove, Vector<String> domainsToAdd, bool shouldClearFirst)
#endif
}
Modified: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp (219160 => 219161)
--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp 2017-07-05 22:25:06 UTC (rev 219160)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp 2017-07-05 22:27:47 UTC (rev 219161)
@@ -306,13 +306,6 @@
#endif
}
-#if HAVE(CFNETWORK_STORAGE_PARTITIONING)
-void NetworkProcessProxy::shouldPartitionCookiesForTopPrivatelyOwnedDomains(const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool clearFirst)
-{
- connection()->send(Messages::NetworkProcess::ShouldPartitionCookiesForTopPrivatelyOwnedDomains(domainsToRemove, domainsToAdd, clearFirst), 0);
-}
-#endif
-
void NetworkProcessProxy::didFinishLaunching(ProcessLauncher* launcher, IPC::Connection::Identifier connectionIdentifier)
{
ChildProcessProxy::didFinishLaunching(launcher, connectionIdentifier);
Modified: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h (219160 => 219161)
--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h 2017-07-05 22:25:06 UTC (rev 219160)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h 2017-07-05 22:27:47 UTC (rev 219161)
@@ -111,9 +111,6 @@
void didDeleteWebsiteData(uint64_t callbackID);
void didDeleteWebsiteDataForOrigins(uint64_t callbackID);
void grantSandboxExtensionsToDatabaseProcessForBlobs(uint64_t requestID, const Vector<String>& paths);
-#if HAVE(CFNETWORK_STORAGE_PARTITIONING)
- void shouldPartitionCookiesForTopPrivatelyOwnedDomains(const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool clearFirst);
-#endif
void logDiagnosticMessage(uint64_t pageID, const String& message, const String& description, WebCore::ShouldSample);
void logDiagnosticMessageWithResult(uint64_t pageID, const String& message, const String& description, uint32_t result, WebCore::ShouldSample);
void logDiagnosticMessageWithValue(uint64_t pageID, const String& message, const String& description, double value, unsigned significantFigures, WebCore::ShouldSample);
Modified: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.messages.in (219160 => 219161)
--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.messages.in 2017-07-05 22:25:06 UTC (rev 219160)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.messages.in 2017-07-05 22:27:47 UTC (rev 219161)
@@ -31,10 +31,6 @@
GrantSandboxExtensionsToDatabaseProcessForBlobs(uint64_t requestID, Vector<String> paths)
-#if HAVE(CFNETWORK_STORAGE_PARTITIONING)
- ShouldPartitionCookiesForTopPrivatelyOwnedDomains(Vector<String> domainsToRemove, Vector<String> domainsToAdd, bool clearFirst)
-#endif
-
ProcessReadyToSuspend()
SetIsHoldingLockedFiles(bool isHoldingLockedFiles)
Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (219160 => 219161)
--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2017-07-05 22:25:06 UTC (rev 219160)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2017-07-05 22:27:47 UTC (rev 219161)
@@ -1111,6 +1111,12 @@
sendToAllProcesses(Messages::WebProcess::SetShouldUseFontSmoothing(useFontSmoothing));
}
+void WebProcessPool::setResourceLoadStatisticsEnabled(bool enabled)
+{
+ m_resourceLoadStatisticsEnabled = enabled;
+ sendToAllProcesses(Messages::WebProcess::SetResourceLoadStatisticsEnabled(enabled));
+}
+
void WebProcessPool::registerURLSchemeAsEmptyDocument(const String& urlScheme)
{
m_schemesToRegisterAsEmptyDocument.add(urlScheme);
Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.h (219160 => 219161)
--- trunk/Source/WebKit2/UIProcess/WebProcessPool.h 2017-07-05 22:25:06 UTC (rev 219160)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.h 2017-07-05 22:27:47 UTC (rev 219161)
@@ -397,7 +397,7 @@
static bool isNetworkCacheEnabled();
bool resourceLoadStatisticsEnabled() { return m_resourceLoadStatisticsEnabled; }
- void setResourceLoadStatisticsEnabled(bool enabled) { m_resourceLoadStatisticsEnabled = enabled; }
+ void setResourceLoadStatisticsEnabled(bool);
bool alwaysRunsAtBackgroundPriority() const { return m_alwaysRunsAtBackgroundPriority; }
bool shouldTakeUIBackgroundAssertion() const { return m_shouldTakeUIBackgroundAssertion; }
Modified: trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp (219160 => 219161)
--- trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp 2017-07-05 22:25:06 UTC (rev 219160)
+++ trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp 2017-07-05 22:27:47 UTC (rev 219161)
@@ -1100,10 +1100,10 @@
}
#if HAVE(CFNETWORK_STORAGE_PARTITIONING)
-void WebsiteDataStore::shouldPartitionCookiesForTopPrivatelyOwnedDomains(const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool clearFirst)
+void WebsiteDataStore::updateCookiePartitioningForTopPrivatelyOwnedDomains(const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool shouldClearFirst)
{
- for (auto& processPool : WebProcessPool::allProcessPools())
- processPool->sendToNetworkingProcess(Messages::NetworkProcess::ShouldPartitionCookiesForTopPrivatelyOwnedDomains(domainsToRemove, domainsToAdd, clearFirst));
+ for (auto& processPool : processPools())
+ processPool->sendToNetworkingProcess(Messages::NetworkProcess::UpdateCookiePartitioningForTopPrivatelyOwnedDomains(domainsToRemove, domainsToAdd, shouldClearFirst));
}
#endif
@@ -1265,12 +1265,11 @@
if (enabled == resourceLoadStatisticsEnabled())
return;
+ // FIXME: We should probably only initialize m_resourceLoadStatistics when resource load statistics get enabled.
m_resourceLoadStatistics->setResourceLoadStatisticsEnabled(enabled);
- for (auto& processPool : WebProcessPool::allProcessPools()) {
+ for (auto& processPool : processPools())
processPool->setResourceLoadStatisticsEnabled(enabled);
- processPool->sendToAllProcesses(Messages::WebProcess::SetResourceLoadStatisticsEnabled(enabled));
- }
}
void WebsiteDataStore::registerSharedResourceLoadObserver()
@@ -1279,10 +1278,9 @@
return;
#if HAVE(CFNETWORK_STORAGE_PARTITIONING)
- m_resourceLoadStatistics->registerSharedResourceLoadObserver(
- [this] (const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool clearFirst) {
- this->shouldPartitionCookiesForTopPrivatelyOwnedDomains(domainsToRemove, domainsToAdd, clearFirst);
- });
+ m_resourceLoadStatistics->registerSharedResourceLoadObserver([this] (const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool shouldClearFirst) {
+ updateCookiePartitioningForTopPrivatelyOwnedDomains(domainsToRemove, domainsToAdd, shouldClearFirst);
+ });
#else
m_resourceLoadStatistics->registerSharedResourceLoadObserver();
#endif
Modified: trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.h (219160 => 219161)
--- trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.h 2017-07-05 22:25:06 UTC (rev 219160)
+++ trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.h 2017-07-05 22:27:47 UTC (rev 219161)
@@ -102,7 +102,7 @@
void removeDataForTopPrivatelyControlledDomains(OptionSet<WebsiteDataType>, OptionSet<WebsiteDataFetchOption>, const Vector<String>& topPrivatelyControlledDomains, Function<void(HashSet<String>&&)>&& completionHandler);
#if HAVE(CFNETWORK_STORAGE_PARTITIONING)
- void shouldPartitionCookiesForTopPrivatelyOwnedDomains(const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool clearFirst);
+ void updateCookiePartitioningForTopPrivatelyOwnedDomains(const Vector<String>& domainsToRemove, const Vector<String>& domainsToAdd, bool shouldClearFirst);
#endif
void resolveDirectoriesIfNecessary();
const String& resolvedApplicationCacheDirectory() const { return m_resolvedConfiguration.applicationCacheDirectory; }