Changeset 241728 in webkit


Ignore:
Timestamp:
Feb 18, 2019 10:34:41 AM (5 years ago)
Author:
achristensen@apple.com
Message:

Disable safe browsing in WKWebView and remove its WKPreferences API
https://bugs.webkit.org/show_bug.cgi?id=194723
<rdar://problem/48122993>

Reviewed by Geoffrey Garen.

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

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

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:

(TEST):
(safeBrowsingView):
Make tests use SPI instead of API.

LayoutTests:

  • platform/mac-wk2/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt:

This test has results that depend on timing, and I need to update its results when I disable safe browsing.
I've done this several times before. See r237876 for an example.

Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r241723 r241728  
     12019-02-18  Alex Christensen  <achristensen@webkit.org>
     2
     3        Disable safe browsing in WKWebView and remove its WKPreferences API
     4        https://bugs.webkit.org/show_bug.cgi?id=194723
     5        <rdar://problem/48122993>
     6
     7        Reviewed by Geoffrey Garen.
     8
     9        * platform/mac-wk2/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt:
     10        This test has results that depend on timing, and I need to update its results when I disable safe browsing.
     11        I've done this several times before.  See r237876 for an example.
     12
    1132019-02-18  Antoine Quint  <graouts@apple.com>
    214
  • trunk/LayoutTests/platform/mac-wk2/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt

    r237876 r241728  
    1111CONSOLE MESSAGE: line 58: Input element value after text input events: "".
    1212CONSOLE MESSAGE: line 20: Pressing "z" with access key modifiers should navigate to resources/keyboard-events-after-navigation.html.
    13 CONSOLE MESSAGE: line 18: keydownevent dispatched (isTrusted: true).
    14 CONSOLE MESSAGE: line 18: keyupevent dispatched (isTrusted: true).
    1513CONSOLE MESSAGE: line 6: Finished navigating to resources/keyboard-events-after-navigation.html.
    1614CONSOLE MESSAGE: line 7: Trusted events should be logged and the input element should have the value "acd".
  • trunk/Source/WebKit/ChangeLog

    r241721 r241728  
     12019-02-18  Alex Christensen  <achristensen@webkit.org>
     2
     3        Disable safe browsing in WKWebView and remove its WKPreferences API
     4        https://bugs.webkit.org/show_bug.cgi?id=194723
     5        <rdar://problem/48122993>
     6
     7        Reviewed by Geoffrey Garen.
     8
     9        * Shared/WebPreferences.yaml:
     10        * UIProcess/API/Cocoa/WKPreferences.h:
     11        * UIProcess/API/Cocoa/WKPreferences.mm:
     12        (-[WKPreferences setSafeBrowsingEnabled:]): Deleted.
     13        (-[WKPreferences isSafeBrowsingEnabled]): Deleted.
     14
    1152019-02-18  Chris Fleizach  <cfleizach@apple.com>
    216
  • trunk/Source/WebKit/Shared/WebPreferences.yaml

    r241549 r241728  
    7777SafeBrowsingEnabled:
    7878  type: bool
    79   defaultValue: true
     79  defaultValue: false
    8080  webcoreBinding: none
    8181
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.h

    r238293 r241728  
    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 
    6256#if !TARGET_OS_IPHONE
    6357/*! @abstract A Boolean value indicating whether Java is enabled.
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm

    r241618 r241728  
    141141}
    142142
    143 - (void)setSafeBrowsingEnabled:(BOOL)enabled
    144 {
    145     _preferences->setSafeBrowsingEnabled(enabled);
    146 }
    147 
    148 - (BOOL)isSafeBrowsingEnabled
    149 {
    150     return _preferences->safeBrowsingEnabled();
    151 }
    152 
    153143#pragma mark OS X-specific methods
    154144
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h

    r241618 r241728  
     1
    12/*
    23 * Copyright (C) 2014-2016 Apple Inc. All rights reserved.
  • trunk/Tools/ChangeLog

    r241656 r241728  
     12019-02-18  Alex Christensen  <achristensen@webkit.org>
     2
     3        Disable safe browsing in WKWebView and remove its WKPreferences API
     4        https://bugs.webkit.org/show_bug.cgi?id=194723
     5        <rdar://problem/48122993>
     6
     7        Reviewed by Geoffrey Garen.
     8
     9        * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
     10        * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
     11        (TEST):
     12        (safeBrowsingView):
     13        Make tests use SPI instead of API.
     14
    1152019-02-17  Fujii Hironori  <Hironori.Fujii@sony.com>
    216
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm

    r241606 r241728  
    538538    [webView setNavigationDelegate:navigationDelegate.get()];
    539539
    540     [webView configuration].preferences.safeBrowsingEnabled = NO;
     540    [webView configuration].preferences._safeBrowsingEnabled = NO;
    541541
    542542    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"pson://www.webkit.org/main1.html"]];
     
    14901490    [webView setNavigationDelegate:delegate.get()];
    14911491
    1492     [webView configuration].preferences.safeBrowsingEnabled = NO;
     1492    [webView configuration].preferences._safeBrowsingEnabled = NO;
    14931493
    14941494    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"pson://www.webkit.org/main.html"]];
     
    20392039    [webView setNavigationDelegate:delegate.get()];
    20402040
    2041     [webView configuration].preferences.safeBrowsingEnabled = NO;
     2041    [webView configuration].preferences._safeBrowsingEnabled = NO;
    20422042
    20432043    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"pson://www.webkit.org/main1.html"]];
     
    27032703    [webView setNavigationDelegate:delegate.get()];
    27042704
    2705     [webView configuration].preferences.safeBrowsingEnabled = NO;
     2705    [webView configuration].preferences._safeBrowsingEnabled = NO;
    27062706
    27072707    failed = false;
     
    27312731    [webView setNavigationDelegate:delegate.get()];
    27322732
    2733     [webView configuration].preferences.safeBrowsingEnabled = NO;
     2733    [webView configuration].preferences._safeBrowsingEnabled = NO;
    27342734
    27352735    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"pson://www.webkit.org/main1.html"]];
     
    37063706    [webView setNavigationDelegate:navigationDelegate.get()];
    37073707
    3708     [webView configuration].preferences.safeBrowsingEnabled = NO;
     3708    [webView configuration].preferences._safeBrowsingEnabled = NO;
    37093709
    37103710    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"pson://www.webkit.org/main.html"]]];
     
    37643764    [webView setNavigationDelegate:navigationDelegate.get()];
    37653765
    3766     [webView configuration].preferences.safeBrowsingEnabled = NO;
     3766    [webView configuration].preferences._safeBrowsingEnabled = NO;
    37673767
    37683768    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"pson://www.webkit.org/main.html"]]];
  • trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm

    r240516 r241728  
    3333#import "TestWKWebView.h"
    3434#import <WebKit/WKNavigationDelegate.h>
     35#import <WebKit/WKPreferencesPrivate.h>
    3536#import <WebKit/WKUIDelegatePrivate.h>
    3637#import <WebKit/WKWebViewPrivate.h>
     
    170171
    171172    auto webView = adoptNS([WKWebView new]);
     173    [webView configuration].preferences._safeBrowsingEnabled = YES;
    172174    [webView setNavigationDelegate:delegate.get()];
    173     EXPECT_TRUE([webView configuration].preferences.safeBrowsingEnabled);
     175    EXPECT_FALSE([webView configuration].preferences._safeBrowsingEnabled);
     176    [webView configuration].preferences._safeBrowsingEnabled = YES;
    174177    [webView loadRequest:[NSURLRequest requestWithURL:resourceURL(@"simple")]];
    175178    while (![webView _safeBrowsingWarning])
    176179        TestWebKitAPI::Util::spinRunLoop();
    177     [webView configuration].preferences.safeBrowsingEnabled = NO;
     180    [webView configuration].preferences._safeBrowsingEnabled = NO;
    178181    [webView loadRequest:[NSURLRequest requestWithURL:resourceURL(@"simple2")]];
    179182    TestWebKitAPI::Util::run(&done);
    180     EXPECT_FALSE([webView configuration].preferences.safeBrowsingEnabled);
     183    EXPECT_FALSE([webView configuration].preferences._safeBrowsingEnabled);
    181184    EXPECT_FALSE([webView _safeBrowsingWarning]);
    182185}
     
    188191    static auto delegate = adoptNS([SafeBrowsingNavigationDelegate new]);
    189192    auto webView = adoptNS([WKWebView new]);
     193    [webView configuration].preferences._safeBrowsingEnabled = YES;
    190194    [webView setNavigationDelegate:delegate.get()];
    191195    [webView setUIDelegate:delegate.get()];
     
    313317    auto webViewWithWarning = [&] () -> RetainPtr<WKWebView> {
    314318        auto webView = adoptNS([WKWebView new]);
     319        [webView configuration].preferences._safeBrowsingEnabled = YES;
    315320        [webView addObserver:observer.get() forKeyPath:@"URL" options:NSKeyValueObservingOptionNew context:nil];
    316321
     
    405410    auto delegate = adoptNS([WKWebViewGoBackNavigationDelegate new]);
    406411    auto webView = adoptNS([WKWebView new]);
     412    [webView configuration].preferences._safeBrowsingEnabled = YES;
    407413    [webView setNavigationDelegate:delegate.get()];
    408414    [webView loadRequest:[NSURLRequest requestWithURL:resourceURL(@"simple")]];
Note: See TracChangeset for help on using the changeset viewer.