Title: [272910] trunk
- Revision
- 272910
- Author
- you...@apple.com
- Date
- 2021-02-16 09:56:52 -0800 (Tue, 16 Feb 2021)
Log Message
Set a default path for device ID hash salts
https://bugs.webkit.org/show_bug.cgi?id=221955
Reviewed by Eric Carlson.
Source/WebKit:
The default path was the empty string, which leads to not persist device IDs.
Update this to provide a valid default path like for other persisting data types.
Covered by API test.
* UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::defaultDeviceIdHashSaltsStorageDirectory):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
Tools:
* TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(TestWebKitAPI::TEST):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (272909 => 272910)
--- trunk/Source/WebKit/ChangeLog 2021-02-16 17:26:02 UTC (rev 272909)
+++ trunk/Source/WebKit/ChangeLog 2021-02-16 17:56:52 UTC (rev 272910)
@@ -1,3 +1,18 @@
+2021-02-16 Youenn Fablet <you...@apple.com>
+
+ Set a default path for device ID hash salts
+ https://bugs.webkit.org/show_bug.cgi?id=221955
+
+ Reviewed by Eric Carlson.
+
+ The default path was the empty string, which leads to not persist device IDs.
+ Update this to provide a valid default path like for other persisting data types.
+ Covered by API test.
+
+ * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
+ (WebKit::WebsiteDataStore::defaultDeviceIdHashSaltsStorageDirectory):
+ * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+
2021-02-16 Alex Christensen <achristen...@webkit.org>
Synthesize range responses if needed in WebCoreNSURLSession
Modified: trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm (272909 => 272910)
--- trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm 2021-02-16 17:26:02 UTC (rev 272909)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm 2021-02-16 17:56:52 UTC (rev 272910)
@@ -309,6 +309,11 @@
return websiteDataDirectoryFileSystemRepresentation("MediaKeys");
}
+WTF::String WebsiteDataStore::defaultDeviceIdHashSaltsStorageDirectory()
+{
+ return websiteDataDirectoryFileSystemRepresentation("DeviceIdHashSalts");
+}
+
WTF::String WebsiteDataStore::defaultWebSQLDatabaseDirectory()
{
return websiteDataDirectoryFileSystemRepresentation("WebSQL");
Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (272909 => 272910)
--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2021-02-16 17:26:02 UTC (rev 272909)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2021-02-16 17:56:52 UTC (rev 272910)
@@ -2300,7 +2300,7 @@
}
#endif // !PLATFORM(COCOA)
-#if !USE(GLIB)
+#if !USE(GLIB) && !PLATFORM(COCOA)
WTF::String WebsiteDataStore::defaultDeviceIdHashSaltsStorageDirectory()
{
// Not implemented.
Modified: trunk/Tools/ChangeLog (272909 => 272910)
--- trunk/Tools/ChangeLog 2021-02-16 17:26:02 UTC (rev 272909)
+++ trunk/Tools/ChangeLog 2021-02-16 17:56:52 UTC (rev 272910)
@@ -1,3 +1,13 @@
+2021-02-16 Youenn Fablet <you...@apple.com>
+
+ Set a default path for device ID hash salts
+ https://bugs.webkit.org/show_bug.cgi?id=221955
+
+ Reviewed by Eric Carlson.
+
+ * TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
+ (TestWebKitAPI::TEST):
+
2021-02-16 Alex Christensen <achristen...@webkit.org>
Synthesize range responses if needed in WebCoreNSURLSession
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm (272909 => 272910)
--- trunk/Tools/TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm 2021-02-16 17:26:02 UTC (rev 272909)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm 2021-02-16 17:56:52 UTC (rev 272910)
@@ -101,6 +101,39 @@
TestWebKitAPI::Util::run(&okToProceed);
}
+TEST(WebKit, DefaultDeviceIdHashSaltsDirectory)
+{
+ NSFileManager *fileManager = [NSFileManager defaultManager];
+
+ auto websiteDataStoreConfiguration = adoptNS([[_WKWebsiteDataStoreConfiguration alloc] init]);
+ auto *path = [websiteDataStoreConfiguration deviceIdHashSaltsStorageDirectory].path;
+
+ if ([fileManager fileExistsAtPath:path]) {
+ NSError *error = nil;
+ [fileManager removeItemAtPath:path error:&error];
+ EXPECT_FALSE(error);
+ }
+
+ auto configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
+ [configuration setWebsiteDataStore:[[[WKWebsiteDataStore alloc] _initWithConfiguration:websiteDataStoreConfiguration.get()] autorelease]];
+ auto processPoolConfig = adoptNS([[_WKProcessPoolConfiguration alloc] init]);
+ auto preferences = [configuration preferences];
+ preferences._mediaCaptureRequiresSecureConnection = NO;
+ configuration.get()._mediaCaptureEnabled = YES;
+ preferences._mockCaptureDevicesEnabled = YES;
+ auto webView = [[TestWKWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 500) configuration:configuration.get() processPoolConfiguration:processPoolConfig.get()];
+ auto delegate = adoptNS([[NavigationWhileGetUserMediaPromptDisplayedUIDelegate alloc] init]);
+ webView.UIDelegate = delegate.get();
+
+ [webView loadTestPageNamed:@"enumerateMediaDevices"];
+
+ while (![fileManager fileExistsAtPath:path])
+ Util::spinRunLoop();
+ NSError *error = nil;
+ [fileManager removeItemAtPath:path error:&error];
+ EXPECT_FALSE(error);
+}
+
TEST(WebKit, DeviceIdHashSaltsDirectory)
{
NSURL *tempDir = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"CustomPathsTest"] isDirectory:YES];
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes