Diff
Modified: trunk/Source/WTF/ChangeLog (275400 => 275401)
--- trunk/Source/WTF/ChangeLog 2021-04-02 01:37:09 UTC (rev 275400)
+++ trunk/Source/WTF/ChangeLog 2021-04-02 03:19:40 UTC (rev 275401)
@@ -1,3 +1,15 @@
+2021-04-01 Kate Cheney <[email protected]>
+
+ Clear network website data when a user clears history/website data
+ https://bugs.webkit.org/show_bug.cgi?id=224030
+ <rdar://problem/75288338>
+
+ Reviewed by David Kilzer.
+
+ * wtf/cocoa/SoftLinking.h:
+ Add a new soft link macro to link umbrella private frameworks. We need
+ this to support internal additions we need to clear network domain data.
+
2021-04-01 Chris Dumez <[email protected]>
REGRESSION(r275267): [GTK][WPE] 12 new crashes on service-workers layout tests
Modified: trunk/Source/WTF/wtf/cocoa/SoftLinking.h (275400 => 275401)
--- trunk/Source/WTF/wtf/cocoa/SoftLinking.h 2021-04-02 01:37:09 UTC (rev 275400)
+++ trunk/Source/WTF/wtf/cocoa/SoftLinking.h 2021-04-02 03:19:40 UTC (rev 275401)
@@ -117,6 +117,13 @@
return frameworkLibrary; \
}
+#define SOFT_LINK_PRIVATE_FRAMEWORK_IN_UMBRELLA_OPTIONAL(umbrella, framework) \
+ static void* framework##Library() \
+ { \
+ static void* frameworkLibrary = dlopen("/System/Library/PrivateFrameworks/" #umbrella ".framework/Frameworks/" #framework ".framework/" #framework, RTLD_NOW); \
+ return frameworkLibrary; \
+ }
+
#define SOFT_LINK(framework, functionName, resultType, parameterDeclarations, parameterNames) \
WTF_EXTERN_C_BEGIN \
resultType functionName parameterDeclarations; \
Modified: trunk/Source/WebKit/ChangeLog (275400 => 275401)
--- trunk/Source/WebKit/ChangeLog 2021-04-02 01:37:09 UTC (rev 275400)
+++ trunk/Source/WebKit/ChangeLog 2021-04-02 03:19:40 UTC (rev 275401)
@@ -1,3 +1,27 @@
+2021-04-01 Kate Cheney <[email protected]>
+
+ Clear network website data when a user clears history/website data
+ https://bugs.webkit.org/show_bug.cgi?id=224030
+ <rdar://problem/75288338>
+
+ Reviewed by David Kilzer.
+
+ Clear network-related website data for domains when clearing history/
+ website data.
+
+ No new tests. Unable to test due to recent changes in a dependent
+ framework's infrastructure for setting network website data for
+ testing. Will post a followup test once that is resolved.
+
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::deleteWebsiteData):
+ * NetworkProcess/NetworkSession.h:
+ (WebKit::NetworkSession::removeNetworkWebsiteData):
+ * NetworkProcess/cocoa/NetworkSessionCocoa.h:
+ * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+ (NetworkSessionCocoa::removeNetworkWebsiteData):
+ * Scripts/process-entitlements.sh:
+
2021-04-01 Wenson Hsieh <[email protected]>
[watchOS] Contact AutoFill suggestions no longer show up in non-username or password fields
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (275400 => 275401)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2021-04-02 01:37:09 UTC (rev 275400)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2021-04-02 03:19:40 UTC (rev 275401)
@@ -1607,6 +1607,9 @@
}
#endif
+ if (auto* networkSession = this->networkSession(sessionID))
+ networkSession->removeNetworkWebsiteData(modifiedSince, [clearTasksHandler] { });
+
if (websiteDataTypes.contains(WebsiteDataType::DiskCache) && !sessionID.isEphemeral())
clearDiskCache(modifiedSince, [clearTasksHandler = WTFMove(clearTasksHandler)] { });
Modified: trunk/Source/WebKit/NetworkProcess/NetworkSession.h (275400 => 275401)
--- trunk/Source/WebKit/NetworkProcess/NetworkSession.h 2021-04-02 01:37:09 UTC (rev 275400)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSession.h 2021-04-02 03:19:40 UTC (rev 275401)
@@ -166,6 +166,8 @@
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(); }
+
protected:
NetworkSession(NetworkProcess&, const NetworkSessionCreationParameters&);
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h (275400 => 275401)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h 2021-04-02 01:37:09 UTC (rev 275400)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h 2021-04-02 03:19:40 UTC (rev 275401)
@@ -106,6 +106,8 @@
_NSHSTSStorage *hstsStorage() const;
+ void removeNetworkWebsiteData(WallTime, CompletionHandler<void()>&&) override;
+
private:
void invalidateAndCancel() override;
void clearCredentials() override;
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (275400 => 275401)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2021-04-02 01:37:09 UTC (rev 275400)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2021-04-02 03:19:40 UTC (rev 275401)
@@ -65,6 +65,7 @@
#else
#define NETWORK_SESSION_COCOA_ADDITIONS_1
#define NETWORK_SESSION_COCOA_HTTP_REDIRECT_ADDITIONS
+void WebKit::NetworkSessionCocoa::removeNetworkWebsiteData(WallTime, CompletionHandler<void()>&& completionHandler) { completionHandler(); }
#endif
#import "DeviceManagementSoftLink.h"
Modified: trunk/Source/WebKit/Scripts/process-entitlements.sh (275400 => 275401)
--- trunk/Source/WebKit/Scripts/process-entitlements.sh 2021-04-02 01:37:09 UTC (rev 275400)
+++ trunk/Source/WebKit/Scripts/process-entitlements.sh 2021-04-02 03:19:40 UTC (rev 275401)
@@ -98,6 +98,7 @@
plistbuddy Add :com.apple.private.launchservices.allowedtochangethesekeysinotherapplications:1 string LSDisplayName
plistbuddy Add :com.apple.private.webkit.use-xpc-endpoint bool YES
plistbuddy Add :com.apple.rootless.storage.WebKitNetworkingSandbox bool YES
+ plistbuddy Add :com.apple.symptom_analytics.configure bool YES
fi
}
@@ -313,6 +314,7 @@
plistbuddy Add :seatbelt-profiles array
plistbuddy Add :seatbelt-profiles:0 string com.apple.WebKit.Networking
+ plistbuddy Add :com.apple.symptom_analytics.configure bool YES
}
function ios_family_process_plugin_entitlements()