Title: [237104] trunk/Source/WebKit
Revision
237104
Author
achristen...@apple.com
Date
2018-10-15 07:31:39 -0700 (Mon, 15 Oct 2018)

Log Message

Add a temporarily off by default preference for doing safe browsing checks
https://bugs.webkit.org/show_bug.cgi?id=190522

Reviewed by Chris Dumez.

Safe browsing development has taken longer than anticipated.
To prevent the unused possible contacting the safe browsing provider for no benefit, make this off by default for now.
I'll make it on by default when it's actually used.

* Shared/WebPreferences.yaml:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setSafeBrowsingEnabled:]):
(-[WKPreferences _safeBrowsingEnabled]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (237103 => 237104)


--- trunk/Source/WebKit/ChangeLog	2018-10-15 14:30:57 UTC (rev 237103)
+++ trunk/Source/WebKit/ChangeLog	2018-10-15 14:31:39 UTC (rev 237104)
@@ -1,5 +1,24 @@
 2018-10-15  Alex Christensen  <achristen...@webkit.org>
 
+        Add a temporarily off by default preference for doing safe browsing checks
+        https://bugs.webkit.org/show_bug.cgi?id=190522
+
+        Reviewed by Chris Dumez.
+
+        Safe browsing development has taken longer than anticipated.
+        To prevent the unused possible contacting the safe browsing provider for no benefit, make this off by default for now.
+        I'll make it on by default when it's actually used.
+
+        * Shared/WebPreferences.yaml:
+        * UIProcess/API/Cocoa/WKPreferences.mm:
+        (-[WKPreferences _setSafeBrowsingEnabled:]):
+        (-[WKPreferences _safeBrowsingEnabled]):
+        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+
+2018-10-15  Alex Christensen  <achristen...@webkit.org>
+
         Include EnumTraits.h less
         https://bugs.webkit.org/show_bug.cgi?id=190535
 

Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (237103 => 237104)


--- trunk/Source/WebKit/Shared/WebPreferences.yaml	2018-10-15 14:30:57 UTC (rev 237103)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml	2018-10-15 14:31:39 UTC (rev 237104)
@@ -46,6 +46,11 @@
   type: bool
   defaultValue: true
 
+SafeBrowsingEnabled:
+  type: bool
+  defaultValue: false
+  webcoreBinding: none
+
 PrivateBrowsingEnabled:
   type: bool
   defaultValue: false

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm (237103 => 237104)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm	2018-10-15 14:30:57 UTC (rev 237103)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm	2018-10-15 14:31:39 UTC (rev 237104)
@@ -697,6 +697,16 @@
     _preferences->setICECandidateFilteringEnabled(enabled);
 }
 
+- (void)_setSafeBrowsingEnabled:(BOOL)enabled
+{
+    _preferences->setSafeBrowsingEnabled(enabled);
+}
+
+- (BOOL)_safeBrowsingEnabled
+{
+    return _preferences->safeBrowsingEnabled();
+}
+
 - (BOOL)_webRTCLegacyAPIEnabled
 {
     return NO;

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h (237103 => 237104)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h	2018-10-15 14:30:57 UTC (rev 237103)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h	2018-10-15 14:31:39 UTC (rev 237104)
@@ -121,6 +121,7 @@
 @property (nonatomic, setter=_setICECandidateFilteringEnabled:) BOOL _iceCandidateFilteringEnabled WK_API_AVAILABLE(macosx(10.13.4), ios(11.3));
 @property (nonatomic, setter=_setWebRTCLegacyAPIEnabled:) BOOL _webRTCLegacyAPIEnabled WK_API_AVAILABLE(macosx(10.13), ios(11.0));
 @property (nonatomic, setter=_setInactiveMediaCaptureSteamRepromptIntervalInMinutes:) double _inactiveMediaCaptureSteamRepromptIntervalInMinutes WK_API_AVAILABLE(macosx(10.13.4), ios(11.3));
+@property (nonatomic, setter=_setSafeBrowsingEnabled:) BOOL _safeBrowsingEnabled WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
 
 @property (nonatomic, setter=_setJavaScriptCanAccessClipboard:) BOOL _javaScriptCanAccessClipboard WK_API_AVAILABLE(macosx(10.13), ios(11.0));
 @property (nonatomic, setter=_setDOMPasteAllowed:) BOOL _domPasteAllowed WK_API_AVAILABLE(macosx(10.13), ios(11.0));

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (237103 => 237104)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-10-15 14:30:57 UTC (rev 237103)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-10-15 14:31:39 UTC (rev 237104)
@@ -4114,6 +4114,9 @@
     UNUSED_PARAM(newNavigationID);
 #endif
 
+    if (!m_preferences->safeBrowsingEnabled())
+        shouldSkipSafeBrowsingCheck = ShouldSkipSafeBrowsingCheck::Yes;
+
     auto listener = makeRef(frame.setUpPolicyListenerProxy([this, protectedThis = makeRef(*this), frame = makeRef(frame), sender = WTFMove(sender), navigation] (WebCore::PolicyAction policyAction, API::WebsitePolicies* policies, ProcessSwapRequestedByClient processSwapRequestedByClient, Vector<Ref<SafeBrowsingResult>>&&) mutable {
         // FIXME: do something with the SafeBrowsingResults.
         receivedNavigationPolicyDecision(policyAction, navigation.get(), processSwapRequestedByClient, frame, policies, WTFMove(sender));
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to