Changeset 238293 in webkit


Ignore:
Timestamp:
Nov 16, 2018 11:59:45 AM (5 years ago)
Author:
achristensen@apple.com
Message:

Add API to disable safe browsing checks
https://bugs.webkit.org/show_bug.cgi?id=191610

Reviewed by Dean Jackson.

Source/WebKit:

  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences setSafeBrowsingEnabled:]):
(-[WKPreferences isSafeBrowsingEnabled]):
(-[WKPreferences _setSafeBrowsingEnabled:]): Deleted.
(-[WKPreferences _safeBrowsingEnabled]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:

(resourceURL):
(TEST):
(safeBrowsingView):
(simpleURL): Deleted.

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r238290 r238293  
     12018-11-16  Alex Christensen  <achristensen@webkit.org>
     2
     3        Add API to disable safe browsing checks
     4        https://bugs.webkit.org/show_bug.cgi?id=191610
     5
     6        Reviewed by Dean Jackson.
     7
     8        * UIProcess/API/Cocoa/WKPreferences.h:
     9        * UIProcess/API/Cocoa/WKPreferences.mm:
     10        (-[WKPreferences setSafeBrowsingEnabled:]):
     11        (-[WKPreferences isSafeBrowsingEnabled]):
     12        (-[WKPreferences _setSafeBrowsingEnabled:]): Deleted.
     13        (-[WKPreferences _safeBrowsingEnabled]): Deleted.
     14        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
     15
    1162018-11-16  Chris Dumez  <cdumez@apple.com>
    217
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.h

    r226353 r238293  
    5454@property (nonatomic) BOOL javaScriptCanOpenWindowsAutomatically;
    5555
     56/*! @abstract A Boolean value indicating whether warnings should be
     57 shown for suspected unsafe content such as phishing or malware.
     58 @discussion The default value is YES.
     59 */
     60@property (nonatomic, getter=isSafeBrowsingEnabled) BOOL safeBrowsingEnabled WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
     61
    5662#if !TARGET_OS_IPHONE
    5763/*! @abstract A Boolean value indicating whether Java is enabled.
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm

    r237104 r238293  
    698698}
    699699
    700 - (void)_setSafeBrowsingEnabled:(BOOL)enabled
     700- (void)setSafeBrowsingEnabled:(BOOL)enabled
    701701{
    702702    _preferences->setSafeBrowsingEnabled(enabled);
    703703}
    704704
    705 - (BOOL)_safeBrowsingEnabled
     705- (BOOL)isSafeBrowsingEnabled
    706706{
    707707    return _preferences->safeBrowsingEnabled();
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h

    r237104 r238293  
    122122@property (nonatomic, setter=_setWebRTCLegacyAPIEnabled:) BOOL _webRTCLegacyAPIEnabled WK_API_AVAILABLE(macosx(10.13), ios(11.0));
    123123@property (nonatomic, setter=_setInactiveMediaCaptureSteamRepromptIntervalInMinutes:) double _inactiveMediaCaptureSteamRepromptIntervalInMinutes WK_API_AVAILABLE(macosx(10.13.4), ios(11.3));
    124 @property (nonatomic, setter=_setSafeBrowsingEnabled:) BOOL _safeBrowsingEnabled WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
    125124
    126125@property (nonatomic, setter=_setJavaScriptCanAccessClipboard:) BOOL _javaScriptCanAccessClipboard WK_API_AVAILABLE(macosx(10.13), ios(11.0));
  • trunk/Tools/ChangeLog

    r238279 r238293  
     12018-11-16  Alex Christensen  <achristensen@webkit.org>
     2
     3        Add API to disable safe browsing checks
     4        https://bugs.webkit.org/show_bug.cgi?id=191610
     5
     6        Reviewed by Dean Jackson.
     7
     8        * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
     9        (resourceURL):
     10        (TEST):
     11        (safeBrowsingView):
     12        (simpleURL): Deleted.
     13
    1142018-11-16  Zalan Bujtas  <zalan@apple.com>
    215
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm

    r238190 r238293  
    3030#import "ClassMethodSwizzler.h"
    3131#import "PlatformUtilities.h"
     32#import "TestNavigationDelegate.h"
    3233#import "TestWKWebView.h"
    3334#import <WebKit/WKNavigationDelegate.h>
     
    138139@end
    139140
    140 static NSURL *simpleURL()
    141 {
    142     return [[NSBundle mainBundle] URLForResource:@"simple" withExtension:@"html" subdirectory:@"TestWebKitAPI.resources"];
     141static NSURL *resourceURL(NSString *resource)
     142{
     143    return [[NSBundle mainBundle] URLForResource:resource withExtension:@"html" subdirectory:@"TestWebKitAPI.resources"];
     144}
     145
     146TEST(SafeBrowsing, Preference)
     147{
     148    TestWebKitAPI::ClassMethodSwizzler swizzler(objc_getClass("SSBLookupContext"), @selector(sharedLookupContext), [TestLookupContext methodForSelector:@selector(sharedLookupContext)]);
     149
     150    __block bool done = false;
     151    auto delegate = adoptNS([TestNavigationDelegate new]);
     152    delegate.get().didStartProvisionalNavigation = ^(WKWebView *, WKNavigation *) {
     153        done = true;
     154    };
     155
     156    auto webView = adoptNS([WKWebView new]);
     157    [webView setNavigationDelegate:delegate.get()];
     158    EXPECT_TRUE([webView configuration].preferences.safeBrowsingEnabled);
     159    [webView loadRequest:[NSURLRequest requestWithURL:resourceURL(@"simple")]];
     160    while (![webView _safeBrowsingWarningForTesting])
     161        TestWebKitAPI::Util::spinRunLoop();
     162    [webView configuration].preferences.safeBrowsingEnabled = NO;
     163    [webView loadRequest:[NSURLRequest requestWithURL:resourceURL(@"simple2")]];
     164    TestWebKitAPI::Util::run(&done);
     165    EXPECT_FALSE([webView configuration].preferences.safeBrowsingEnabled);
     166    EXPECT_FALSE([webView _safeBrowsingWarningForTesting]);
    143167}
    144168
     
    150174    auto webView = adoptNS([WKWebView new]);
    151175    [webView setNavigationDelegate:delegate.get()];
    152     [webView loadRequest:[NSURLRequest requestWithURL:simpleURL()]];
     176    [webView loadRequest:[NSURLRequest requestWithURL:resourceURL(@"simple")]];
    153177    while (![webView _safeBrowsingWarningForTesting])
    154178        TestWebKitAPI::Util::spinRunLoop();
Note: See TracChangeset for help on using the changeset viewer.