Diff
Modified: trunk/Source/WebCore/ChangeLog (253654 => 253655)
--- trunk/Source/WebCore/ChangeLog 2019-12-17 23:35:18 UTC (rev 253654)
+++ trunk/Source/WebCore/ChangeLog 2019-12-17 23:40:07 UTC (rev 253655)
@@ -1,3 +1,16 @@
+2019-12-17 Kate Cheney <katherine_che...@apple.com>
+
+ Add run-time flag for in-app browser privacy
+ https://bugs.webkit.org/show_bug.cgi?id=205288
+ <rdar://problem/57569206>
+
+ Reviewed by John Wilander.
+
+ * page/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::setInAppBrowserPrivacyEnabled):
+ (WebCore::RuntimeEnabledFeatures::isInAppBrowserPrivacyEnabled const):
+ * page/Settings.yaml:
+
2019-12-17 Ryosuke Niwa <rn...@webkit.org>
executeIfJavaScriptURL should check requester's security origin
Modified: trunk/Source/WebCore/page/RuntimeEnabledFeatures.h (253654 => 253655)
--- trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2019-12-17 23:35:18 UTC (rev 253654)
+++ trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2019-12-17 23:40:07 UTC (rev 253655)
@@ -389,6 +389,9 @@
bool secureContextChecksEnabled() const { return m_secureContextChecksEnabled; }
void setSecureContextChecksEnabled(bool isEnabled) { m_secureContextChecksEnabled = isEnabled; }
+ void setIsInAppBrowserPrivacyEnabled(bool isEnabled) { m_isInAppBrowserPrivacyEnabled = isEnabled; }
+ bool isInAppBrowserPrivacyEnabled() const { return m_isInAppBrowserPrivacyEnabled; }
+
private:
// Never instantiate.
RuntimeEnabledFeatures();
@@ -584,6 +587,8 @@
bool m_secureContextChecksEnabled { true };
bool m_isCSSShadowPartsEnabled { true };
+ bool m_isInAppBrowserPrivacyEnabled { false };
+
friend class WTF::NeverDestroyed<RuntimeEnabledFeatures>;
};
Modified: trunk/Source/WebCore/page/Settings.yaml (253654 => 253655)
--- trunk/Source/WebCore/page/Settings.yaml 2019-12-17 23:35:18 UTC (rev 253654)
+++ trunk/Source/WebCore/page/Settings.yaml 2019-12-17 23:40:07 UTC (rev 253655)
@@ -906,6 +906,9 @@
initial: false
conditional: MEDIA_STREAM
+isInAppBrowserPrivacyEnabled:
+ initial: false
+
# Deprecated
iceCandidateFilteringEnabled:
Modified: trunk/Source/WebKit/ChangeLog (253654 => 253655)
--- trunk/Source/WebKit/ChangeLog 2019-12-17 23:35:18 UTC (rev 253654)
+++ trunk/Source/WebKit/ChangeLog 2019-12-17 23:40:07 UTC (rev 253655)
@@ -1,3 +1,13 @@
+2019-12-17 Kate Cheney <katherine_che...@apple.com>
+
+ Add run-time flag for in-app browser privacy
+ https://bugs.webkit.org/show_bug.cgi?id=205288
+ <rdar://problem/57569206>
+
+ Reviewed by John Wilander.
+
+ * Shared/WebPreferences.yaml:
+
2019-12-17 Ben Nham <n...@apple.com>
Navigation from empty page doesn't use cached web process
Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (253654 => 253655)
--- trunk/Source/WebKit/Shared/WebPreferences.yaml 2019-12-17 23:35:18 UTC (rev 253654)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml 2019-12-17 23:40:07 UTC (rev 253655)
@@ -1877,6 +1877,14 @@
category: internal
webcoreName: useGPUProcessForMedia
+IsInAppBrowserPrivacyEnabled:
+ type: bool
+ defaultValue: true
+ humanReadableName: "In-App Browser Privacy"
+ humanReadableDescription: "Enable In-App Browser Privacy"
+ webcoreBinding: RuntimeEnabledFeatures
+ category: internal
+
# Deprecated
ICECandidateFilteringEnabled:
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (253654 => 253655)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2019-12-17 23:35:18 UTC (rev 253654)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2019-12-17 23:40:07 UTC (rev 253655)
@@ -1,3 +1,20 @@
+2019-12-17 Kate Cheney <katherine_che...@apple.com>
+
+ Add run-time flag for in-app browser privacy
+ https://bugs.webkit.org/show_bug.cgi?id=205288
+ <rdar://problem/57569206>
+
+ Reviewed by John Wilander.
+
+ * WebView/WebPreferenceKeysPrivate.h:
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences initialize]):
+ (-[WebPreferences isInAppBrowserPrivacyEnabled]):
+ (-[WebPreferences setInAppBrowserPrivacyEnabled:]):
+ * WebView/WebPreferencesPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]):
+
2019-12-16 Simon Fraser <simon.fra...@apple.com>
Change 'delegatesPageScaling' from a Setting to a flag on ScrollView
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h (253654 => 253655)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h 2019-12-17 23:35:18 UTC (rev 253654)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h 2019-12-17 23:40:07 UTC (rev 253655)
@@ -280,4 +280,5 @@
#define WebKitRequestIdleCallbackEnabledPreferenceKey @"WebKitRequestIdleCallbackEnabled"
#define WebKitAsyncClipboardAPIEnabledPreferenceKey @"WebKitAsyncClipboardAPIEnabled"
#define WebKitLinkPreloadResponsiveImagesEnabledPreferenceKey @"WebKitLinkPreloadResponsiveImagesEnabled"
+#define WebKitInAppBrowserPrivacyEnabledPreferenceKey @"WebKitInAppBrowserPrivacyEnabled"
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm (253654 => 253655)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2019-12-17 23:35:18 UTC (rev 253654)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2019-12-17 23:40:07 UTC (rev 253655)
@@ -706,6 +706,7 @@
@NO, WebKitAsyncClipboardAPIEnabledPreferenceKey,
@NO, WebKitLinkPreloadResponsiveImagesEnabledPreferenceKey,
@YES, WebKitCSSShadowPartsEnabledPreferenceKey,
+ @NO, WebKitInAppBrowserPrivacyEnabledPreferenceKey,
nil];
#if !PLATFORM(IOS_FAMILY)
@@ -3601,6 +3602,17 @@
{
[self _setBoolValue:remotePlaybackEnabled forKey:WebKitRemotePlaybackEnabledPreferenceKey];
}
+
+- (BOOL)isInAppBrowserPrivacyEnabled
+{
+ return [self _boolValueForKey:WebKitInAppBrowserPrivacyEnabledPreferenceKey];
+}
+
+- (void)setInAppBrowserPrivacyEnabled:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitInAppBrowserPrivacyEnabledPreferenceKey];
+}
+
@end
@implementation WebPreferences (WebInternal)
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h (253654 => 253655)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h 2019-12-17 23:35:18 UTC (rev 253654)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h 2019-12-17 23:40:07 UTC (rev 253655)
@@ -630,6 +630,9 @@
- (void)setCSSShadowPartsEnabled:(BOOL)flag;
- (BOOL)cssShadowPartsEnabled;
+- (BOOL)isInAppBrowserPrivacyEnabled;
+- (void)setInAppBrowserPrivacyEnabled:(BOOL)flag;
+
@property (nonatomic) BOOL visualViewportAPIEnabled;
@property (nonatomic) BOOL CSSOMViewScrollingAPIEnabled;
@property (nonatomic) BOOL largeImageAsyncDecodingEnabled;
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (253654 => 253655)
--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2019-12-17 23:35:18 UTC (rev 253654)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2019-12-17 23:40:07 UTC (rev 253655)
@@ -3192,6 +3192,7 @@
RuntimeEnabledFeatures::sharedFeatures().setDialogElementEnabled([preferences dialogElementEnabled]);
RuntimeEnabledFeatures::sharedFeatures().setKeygenElementEnabled([preferences keygenElementEnabled]);
RuntimeEnabledFeatures::sharedFeatures().setCSSShadowPartsEnabled([preferences cssShadowPartsEnabled]);
+ RuntimeEnabledFeatures::sharedFeatures().setIsInAppBrowserPrivacyEnabled([preferences isInAppBrowserPrivacyEnabled]);
#if ENABLE(LEGACY_ENCRYPTED_MEDIA)
RuntimeEnabledFeatures::sharedFeatures().setLegacyEncryptedMediaAPIEnabled(preferences.legacyEncryptedMediaAPIEnabled);