Diff
Modified: trunk/Source/WTF/ChangeLog (292009 => 292010)
--- trunk/Source/WTF/ChangeLog 2022-03-28 23:48:31 UTC (rev 292009)
+++ trunk/Source/WTF/ChangeLog 2022-03-29 00:00:29 UTC (rev 292010)
@@ -1,3 +1,15 @@
+2022-03-28 Sihui Liu <sihui_...@apple.com>
+
+ Disable custom storage paths for IndexedDB and LocalStorage by default
+ https://bugs.webkit.org/show_bug.cgi?id=236977
+ <rdar://problem/89559929>
+
+ Reviewed by Geoffrey Garen.
+
+ Add an internal debug feature for using genreal directory for storage.
+
+ * Scripts/Preferences/WebPreferencesInternal.yaml:
+
2022-03-28 Chris Dumez <cdu...@apple.com>
Prepare WebCore for making the String(const char*) constructor explicit
Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml (292009 => 292010)
--- trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml 2022-03-28 23:48:31 UTC (rev 292009)
+++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml 2022-03-29 00:00:29 UTC (rev 292010)
@@ -980,6 +980,16 @@
WebKit:
default: WebKit::defaultUseGPUProcessForMediaEnabled()
+UseGeneralDirectoryForStorage:
+ type: bool
+ humanReadableName: "Use General Directory For Storage"
+ humanReadableDescription: "Use general storage directory for IndexedDB and LocalStorage"
+ webcoreBinding: none
+ exposed: [ WebKit ]
+ defaultValue:
+ WebKit:
+ default: true
+
UseSceneKitForModel:
type: bool
humanReadableName: "Use SceneKit for <model>"
Modified: trunk/Source/WebKit/ChangeLog (292009 => 292010)
--- trunk/Source/WebKit/ChangeLog 2022-03-28 23:48:31 UTC (rev 292009)
+++ trunk/Source/WebKit/ChangeLog 2022-03-29 00:00:29 UTC (rev 292010)
@@ -1,3 +1,22 @@
+2022-03-28 Sihui Liu <sihui_...@apple.com>
+
+ Disable custom storage paths for IndexedDB and LocalStorage by default
+ https://bugs.webkit.org/show_bug.cgi?id=236977
+ <rdar://problem/89559929>
+
+ Reviewed by Geoffrey Garen.
+
+ Developers can enable them by disabling "general directory for storage" via internal debug feature or system
+ feature flag.
+
+ * FeatureFlags/WebKit-appletvos.plist:
+ * FeatureFlags/WebKit-ios.plist:
+ * FeatureFlags/WebKit-macos.plist:
+ * FeatureFlags/WebKit-watchos.plist:
+ * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
+ (WebKit::internalFeatureEnabled):
+ (WebKit::WebsiteDataStore::defaultShouldUseCustomStoragePaths):
+
2022-03-28 Commit Queue <commit-qu...@webkit.org>
Unreviewed, reverting r291728.
Modified: trunk/Source/WebKit/FeatureFlags/WebKit-appletvos.plist (292009 => 292010)
--- trunk/Source/WebKit/FeatureFlags/WebKit-appletvos.plist 2022-03-28 23:48:31 UTC (rev 292009)
+++ trunk/Source/WebKit/FeatureFlags/WebKit-appletvos.plist 2022-03-29 00:00:29 UTC (rev 292010)
@@ -95,7 +95,7 @@
<key>general_directory_for_storage</key>
<dict>
<key>Enabled</key>
- <false/>
+ <true/>
</dict>
</dict>
</plist>
Modified: trunk/Source/WebKit/FeatureFlags/WebKit-ios.plist (292009 => 292010)
--- trunk/Source/WebKit/FeatureFlags/WebKit-ios.plist 2022-03-28 23:48:31 UTC (rev 292009)
+++ trunk/Source/WebKit/FeatureFlags/WebKit-ios.plist 2022-03-29 00:00:29 UTC (rev 292010)
@@ -95,7 +95,7 @@
<key>general_directory_for_storage</key>
<dict>
<key>Enabled</key>
- <false/>
+ <true/>
</dict>
</dict>
</plist>
Modified: trunk/Source/WebKit/FeatureFlags/WebKit-macos.plist (292009 => 292010)
--- trunk/Source/WebKit/FeatureFlags/WebKit-macos.plist 2022-03-28 23:48:31 UTC (rev 292009)
+++ trunk/Source/WebKit/FeatureFlags/WebKit-macos.plist 2022-03-29 00:00:29 UTC (rev 292010)
@@ -100,7 +100,7 @@
<key>general_directory_for_storage</key>
<dict>
<key>Enabled</key>
- <false/>
+ <true/>
</dict>
</dict>
</plist>
Modified: trunk/Source/WebKit/FeatureFlags/WebKit-watchos.plist (292009 => 292010)
--- trunk/Source/WebKit/FeatureFlags/WebKit-watchos.plist 2022-03-28 23:48:31 UTC (rev 292009)
+++ trunk/Source/WebKit/FeatureFlags/WebKit-watchos.plist 2022-03-29 00:00:29 UTC (rev 292010)
@@ -95,7 +95,7 @@
<key>general_directory_for_storage</key>
<dict>
<key>Enabled</key>
- <false/>
+ <true/>
</dict>
</dict>
</plist>
Modified: trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm (292009 => 292010)
--- trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm 2022-03-28 23:48:31 UTC (rev 292009)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm 2022-03-29 00:00:29 UTC (rev 292010)
@@ -93,6 +93,15 @@
}
#endif
+static bool internalFeatureEnabled(const String& key, bool defaultValue = false)
+{
+ auto defaultsKey = adoptNS([[NSString alloc] initWithFormat:@"InternalDebug%@", static_cast<NSString *>(key)]);
+ if ([[NSUserDefaults standardUserDefaults] objectForKey:defaultsKey.get()] != nil)
+ return [[NSUserDefaults standardUserDefaults] boolForKey:defaultsKey.get()];
+
+ return defaultValue;
+}
+
static bool experimentalFeatureEnabled(const String& key)
{
#if PLATFORM(MAC)
@@ -619,8 +628,8 @@
bool WebsiteDataStore::defaultShouldUseCustomStoragePaths()
{
- static const bool useGeneralStorageDirectory = isFeatureFlagEnabled("general_directory_for_storage"_s);
- return !useGeneralStorageDirectory;
+ bool useGeneralDirectoryForStorageFeatureFlag = isFeatureFlagEnabled("general_directory_for_storage"_s, true);
+ return !internalFeatureEnabled(WebPreferencesKey::useGeneralDirectoryForStorageKey(), useGeneralDirectoryForStorageFeatureFlag);
}
}