Title: [253655] trunk/Source
Revision
253655
Author
katherine_che...@apple.com
Date
2019-12-17 15:40:07 -0800 (Tue, 17 Dec 2019)

Log Message

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.

Source/WebCore:

* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setInAppBrowserPrivacyEnabled):
(WebCore::RuntimeEnabledFeatures::isInAppBrowserPrivacyEnabled const):
* page/Settings.yaml:

Source/WebKit:

* Shared/WebPreferences.yaml:

Source/WebKitLegacy/mac:

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences isInAppBrowserPrivacyEnabled]):
(-[WebPreferences setInAppBrowserPrivacyEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Modified Paths

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);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to