Title: [277055] trunk/Source/WebKit
- Revision
- 277055
- Author
- [email protected]
- Date
- 2021-05-05 17:09:44 -0700 (Wed, 05 May 2021)
Log Message
Remove network website data when a user clears an individual domain
https://bugs.webkit.org/show_bug.cgi?id=225350
<rdar://problem/76029480>
Reviewed by Brent Fulgham.
Convert parameters to Optional values now that we use the function
for individual domains.
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
We should check all possible website data entries and delete
network domain data if any of them contain a domain.
* NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::removeNetworkWebsiteData):
* NetworkProcess/cocoa/NetworkSessionCocoa.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::removeNetworkWebsiteData):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (277054 => 277055)
--- trunk/Source/WebKit/ChangeLog 2021-05-05 23:53:44 UTC (rev 277054)
+++ trunk/Source/WebKit/ChangeLog 2021-05-06 00:09:44 UTC (rev 277055)
@@ -1,3 +1,25 @@
+2021-05-05 Kate Cheney <[email protected]>
+
+ Remove network website data when a user clears an individual domain
+ https://bugs.webkit.org/show_bug.cgi?id=225350
+ <rdar://problem/76029480>
+
+ Reviewed by Brent Fulgham.
+
+ Convert parameters to Optional values now that we use the function
+ for individual domains.
+
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
+ We should check all possible website data entries and delete
+ network domain data if any of them contain a domain.
+
+ * NetworkProcess/NetworkSession.h:
+ (WebKit::NetworkSession::removeNetworkWebsiteData):
+ * NetworkProcess/cocoa/NetworkSessionCocoa.h:
+ * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+ (WebKit::NetworkSessionCocoa::removeNetworkWebsiteData):
+
2021-05-05 Per Arne Vollan <[email protected]>
Reduce sandbox telemetry
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (277054 => 277055)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2021-05-05 23:53:44 UTC (rev 277054)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2021-05-06 00:09:44 UTC (rev 277055)
@@ -1612,7 +1612,7 @@
#endif
if (auto* networkSession = this->networkSession(sessionID))
- networkSession->removeNetworkWebsiteData(modifiedSince, [clearTasksHandler] { });
+ networkSession->removeNetworkWebsiteData(modifiedSince, WTF::nullopt, [clearTasksHandler] { });
if (websiteDataTypes.contains(WebsiteDataType::DiskCache) && !sessionID.isEphemeral())
clearDiskCache(modifiedSince, [clearTasksHandler = WTFMove(clearTasksHandler)] { });
@@ -1734,6 +1734,20 @@
}
}
#endif
+
+ if (auto* networkSession = this->networkSession(sessionID)) {
+ HashSet<WebCore::RegistrableDomain> domainsToDeleteNetworkDataFor;
+ for (auto& originData : originDatas)
+ domainsToDeleteNetworkDataFor.add(WebCore::RegistrableDomain::uncheckedCreateFromHost(originData.host));
+ for (auto& cookieHostName : cookieHostNames)
+ domainsToDeleteNetworkDataFor.add(WebCore::RegistrableDomain::uncheckedCreateFromHost(cookieHostName));
+ for (auto& cacheHostName : HSTSCacheHostNames)
+ domainsToDeleteNetworkDataFor.add(WebCore::RegistrableDomain::uncheckedCreateFromHost(cacheHostName));
+ for (auto& domain : registrableDomains)
+ domainsToDeleteNetworkDataFor.add(domain);
+
+ networkSession->removeNetworkWebsiteData(WTF::nullopt, WTFMove(domainsToDeleteNetworkDataFor), [clearTasksHandler] { });
+ }
}
#if ENABLE(RESOURCE_LOAD_STATISTICS)
Modified: trunk/Source/WebKit/NetworkProcess/NetworkSession.h (277054 => 277055)
--- trunk/Source/WebKit/NetworkProcess/NetworkSession.h 2021-05-05 23:53:44 UTC (rev 277054)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSession.h 2021-05-06 00:09:44 UTC (rev 277055)
@@ -165,9 +165,9 @@
void addPrivateClickMeasurementNetworkLoader(std::unique_ptr<PrivateClickMeasurementNetworkLoader>&& loader) { m_privateClickMeasurementNetworkLoaders.add(WTFMove(loader)); }
void removePrivateClickMeasurementNetworkLoader(PrivateClickMeasurementNetworkLoader* loader) { m_privateClickMeasurementNetworkLoaders.remove(loader); }
-
- virtual void removeNetworkWebsiteData(WallTime, CompletionHandler<void()>&& completionHandler) { completionHandler(); }
+ virtual void removeNetworkWebsiteData(Optional<WallTime>, Optional<HashSet<WebCore::RegistrableDomain>>&&, CompletionHandler<void()>&& completionHandler) { completionHandler(); }
+
protected:
NetworkSession(NetworkProcess&, const NetworkSessionCreationParameters&);
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h (277054 => 277055)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h 2021-05-05 23:53:44 UTC (rev 277054)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h 2021-05-06 00:09:44 UTC (rev 277055)
@@ -106,7 +106,7 @@
_NSHSTSStorage *hstsStorage() const;
- void removeNetworkWebsiteData(WallTime, CompletionHandler<void()>&&) override;
+ void removeNetworkWebsiteData(Optional<WallTime>, Optional<HashSet<WebCore::RegistrableDomain>>&&, CompletionHandler<void()>&&) override;
private:
void invalidateAndCancel() override;
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (277054 => 277055)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2021-05-05 23:53:44 UTC (rev 277054)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2021-05-06 00:09:44 UTC (rev 277055)
@@ -66,7 +66,7 @@
#define NETWORK_SESSION_COCOA_ADDITIONS_1
#define NETWORK_SESSION_COCOA_ADDITIONS_2
#define NETWORK_SESSION_COCOA_ADDITIONS_3
-void WebKit::NetworkSessionCocoa::removeNetworkWebsiteData(WallTime, CompletionHandler<void()>&& completionHandler) { completionHandler(); }
+void WebKit::NetworkSessionCocoa::removeNetworkWebsiteData(Optional<WallTime>, Optional<HashSet<WebCore::RegistrableDomain>>&&, CompletionHandler<void()>&& completionHandler) { completionHandler(); }
#endif
#import "DeviceManagementSoftLink.h"
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes