Title: [240577] branches/safari-607-branch
Revision
240577
Author
[email protected]
Date
2019-01-28 01:46:20 -0800 (Mon, 28 Jan 2019)

Log Message

Cherry-pick r240516. rdar://problem/47586889

    Add SPI to inform an application that "Go Back" has been clicked from a safe browsing warning
    https://bugs.webkit.org/show_bug.cgi?id=193802
    <rdar://problem/46010580>

    Reviewed by Andy Estes.

    Source/WebKit:

    * UIProcess/API/APIUIClient.h:
    (API::UIClient::didClickGoBackFromSafeBrowsingWarning):
    * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
    * UIProcess/Cocoa/UIDelegate.h:
    * UIProcess/Cocoa/UIDelegate.mm:
    (WebKit::UIDelegate::setDelegate):
    (WebKit::UIDelegate::UIClient::didClickGoBackFromSafeBrowsingWarning):
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::decidePolicyForNavigationAction):

    Tools:

    * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
    (-[SafeBrowsingNavigationDelegate _webViewDidClickGoBackFromSafeBrowsingWarning:]):
    (TEST):

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240516 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-607-branch/Source/WebKit/ChangeLog (240576 => 240577)


--- branches/safari-607-branch/Source/WebKit/ChangeLog	2019-01-28 09:41:30 UTC (rev 240576)
+++ branches/safari-607-branch/Source/WebKit/ChangeLog	2019-01-28 09:46:20 UTC (rev 240577)
@@ -1,5 +1,55 @@
 2019-01-28  Babak Shafiei  <[email protected]>
 
+        Cherry-pick r240516. rdar://problem/47586889
+
+    Add SPI to inform an application that "Go Back" has been clicked from a safe browsing warning
+    https://bugs.webkit.org/show_bug.cgi?id=193802
+    <rdar://problem/46010580>
+    
+    Reviewed by Andy Estes.
+    
+    Source/WebKit:
+    
+    * UIProcess/API/APIUIClient.h:
+    (API::UIClient::didClickGoBackFromSafeBrowsingWarning):
+    * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
+    * UIProcess/Cocoa/UIDelegate.h:
+    * UIProcess/Cocoa/UIDelegate.mm:
+    (WebKit::UIDelegate::setDelegate):
+    (WebKit::UIDelegate::UIClient::didClickGoBackFromSafeBrowsingWarning):
+    * UIProcess/WebPageProxy.cpp:
+    (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+    
+    Tools:
+    
+    * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
+    (-[SafeBrowsingNavigationDelegate _webViewDidClickGoBackFromSafeBrowsingWarning:]):
+    (TEST):
+    
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240516 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-01-25  Alex Christensen  <[email protected]>
+
+            Add SPI to inform an application that "Go Back" has been clicked from a safe browsing warning
+            https://bugs.webkit.org/show_bug.cgi?id=193802
+            <rdar://problem/46010580>
+
+            Reviewed by Andy Estes.
+
+            * UIProcess/API/APIUIClient.h:
+            (API::UIClient::didClickGoBackFromSafeBrowsingWarning):
+            * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
+            * UIProcess/Cocoa/UIDelegate.h:
+            * UIProcess/Cocoa/UIDelegate.mm:
+            (WebKit::UIDelegate::setDelegate):
+            (WebKit::UIDelegate::UIClient::didClickGoBackFromSafeBrowsingWarning):
+            * UIProcess/WebPageProxy.cpp:
+            (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+
+2019-01-28  Babak Shafiei  <[email protected]>
+
         Cherry-pick r240533. rdar://problem/47586823
 
     REGRESSION: Some USDz from 3rd party websites don't go directly to AR QL

Modified: branches/safari-607-branch/Source/WebKit/UIProcess/API/APIUIClient.h (240576 => 240577)


--- branches/safari-607-branch/Source/WebKit/UIProcess/API/APIUIClient.h	2019-01-28 09:41:30 UTC (rev 240576)
+++ branches/safari-607-branch/Source/WebKit/UIProcess/API/APIUIClient.h	2019-01-28 09:46:20 UTC (rev 240577)
@@ -182,6 +182,7 @@
     virtual void didExceedBackgroundResourceLimitWhileInForeground(WebKit::WebPageProxy&, WKResourceLimit) { }
     
     virtual void didShowSafeBrowsingWarning() { }
+    virtual void didClickGoBackFromSafeBrowsingWarning() { }
 };
 
 } // namespace API

Modified: branches/safari-607-branch/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h (240576 => 240577)


--- branches/safari-607-branch/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h	2019-01-28 09:41:30 UTC (rev 240576)
+++ branches/safari-607-branch/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h	2019-01-28 09:46:20 UTC (rev 240577)
@@ -102,6 +102,7 @@
 - (void)_webViewRequestPointerLock:(WKWebView *)webView WK_API_AVAILABLE(macosx(10.12.3));
 - (void)_webViewDidRequestPointerLock:(WKWebView *)webView completionHandler:(void (^)(BOOL))completionHandler WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
 - (void)_webViewDidShowSafeBrowsingWarning:(WKWebView *)webView WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
+- (void)_webViewDidClickGoBackFromSafeBrowsingWarning:(WKWebView *)webView WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
 - (void)_webViewDidLosePointerLock:(WKWebView *)webView WK_API_AVAILABLE(macosx(10.12.3));
 - (void)_webView:(WKWebView *)webView hasVideoInPictureInPictureDidChange:(BOOL)hasVideoInPictureInPicture WK_API_AVAILABLE(macosx(10.13), ios(11.0));
 

Modified: branches/safari-607-branch/Source/WebKit/UIProcess/Cocoa/UIDelegate.h (240576 => 240577)


--- branches/safari-607-branch/Source/WebKit/UIProcess/Cocoa/UIDelegate.h	2019-01-28 09:41:30 UTC (rev 240576)
+++ branches/safari-607-branch/Source/WebKit/UIProcess/Cocoa/UIDelegate.h	2019-01-28 09:46:20 UTC (rev 240577)
@@ -147,6 +147,7 @@
 
         void imageOrMediaDocumentSizeChanged(const WebCore::IntSize&) final;
         void didShowSafeBrowsingWarning() final;
+        void didClickGoBackFromSafeBrowsingWarning() final;
 
         UIDelegate& m_uiDelegate;
     };
@@ -224,6 +225,7 @@
 #endif
         bool webViewHasVideoInPictureInPictureDidChange : 1;
         bool webViewDidShowSafeBrowsingWarning : 1;
+        bool webViewDidClickGoBackFromSafeBrowsingWarning : 1;
     } m_delegateMethods;
 };
 

Modified: branches/safari-607-branch/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm (240576 => 240577)


--- branches/safari-607-branch/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm	2019-01-28 09:41:30 UTC (rev 240576)
+++ branches/safari-607-branch/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm	2019-01-28 09:46:20 UTC (rev 240577)
@@ -170,6 +170,7 @@
     
     m_delegateMethods.webViewHasVideoInPictureInPictureDidChange = [delegate respondsToSelector:@selector(_webView:hasVideoInPictureInPictureDidChange:)];
     m_delegateMethods.webViewDidShowSafeBrowsingWarning = [delegate respondsToSelector:@selector(_webViewDidShowSafeBrowsingWarning:)];
+    m_delegateMethods.webViewDidClickGoBackFromSafeBrowsingWarning = [delegate respondsToSelector:@selector(_webViewDidClickGoBackFromSafeBrowsingWarning:)];
 }
 
 #if ENABLE(CONTEXT_MENUS)
@@ -1235,6 +1236,18 @@
     [static_cast<id <WKUIDelegatePrivate>>(delegate) _webViewDidShowSafeBrowsingWarning:m_uiDelegate.m_webView];
 }
 
+void UIDelegate::UIClient::didClickGoBackFromSafeBrowsingWarning()
+{
+    if (!m_uiDelegate.m_delegateMethods.webViewDidClickGoBackFromSafeBrowsingWarning)
+        return;
+    
+    auto delegate = m_uiDelegate.m_delegate.get();
+    if (!delegate)
+        return;
+
+    [static_cast<id <WKUIDelegatePrivate>>(delegate) _webViewDidClickGoBackFromSafeBrowsingWarning:m_uiDelegate.m_webView];
+}
+
 void UIDelegate::UIClient::hasVideoInPictureInPictureDidChange(WebPageProxy*, bool hasVideoInPictureInPicture)
 {
     if (!m_uiDelegate.m_delegateMethods.webViewHasVideoInPictureInPictureDidChange)

Modified: branches/safari-607-branch/Source/WebKit/UIProcess/WebPageProxy.cpp (240576 => 240577)


--- branches/safari-607-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2019-01-28 09:41:30 UTC (rev 240576)
+++ branches/safari-607-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2019-01-28 09:46:20 UTC (rev 240577)
@@ -4437,6 +4437,7 @@
                 }, [&] (ContinueUnsafeLoad continueUnsafeLoad) {
                     switch (continueUnsafeLoad) {
                     case ContinueUnsafeLoad::No:
+                        protectedThis->m_uiClient->didClickGoBackFromSafeBrowsingWarning();
                         completionHandler(PolicyAction::Ignore);
                         break;
                     case ContinueUnsafeLoad::Yes:

Modified: branches/safari-607-branch/Tools/ChangeLog (240576 => 240577)


--- branches/safari-607-branch/Tools/ChangeLog	2019-01-28 09:41:30 UTC (rev 240576)
+++ branches/safari-607-branch/Tools/ChangeLog	2019-01-28 09:46:20 UTC (rev 240577)
@@ -1,5 +1,49 @@
 2019-01-28  Babak Shafiei  <[email protected]>
 
+        Cherry-pick r240516. rdar://problem/47586889
+
+    Add SPI to inform an application that "Go Back" has been clicked from a safe browsing warning
+    https://bugs.webkit.org/show_bug.cgi?id=193802
+    <rdar://problem/46010580>
+    
+    Reviewed by Andy Estes.
+    
+    Source/WebKit:
+    
+    * UIProcess/API/APIUIClient.h:
+    (API::UIClient::didClickGoBackFromSafeBrowsingWarning):
+    * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
+    * UIProcess/Cocoa/UIDelegate.h:
+    * UIProcess/Cocoa/UIDelegate.mm:
+    (WebKit::UIDelegate::setDelegate):
+    (WebKit::UIDelegate::UIClient::didClickGoBackFromSafeBrowsingWarning):
+    * UIProcess/WebPageProxy.cpp:
+    (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+    
+    Tools:
+    
+    * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
+    (-[SafeBrowsingNavigationDelegate _webViewDidClickGoBackFromSafeBrowsingWarning:]):
+    (TEST):
+    
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240516 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-01-25  Alex Christensen  <[email protected]>
+
+            Add SPI to inform an application that "Go Back" has been clicked from a safe browsing warning
+            https://bugs.webkit.org/show_bug.cgi?id=193802
+            <rdar://problem/46010580>
+
+            Reviewed by Andy Estes.
+
+            * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
+            (-[SafeBrowsingNavigationDelegate _webViewDidClickGoBackFromSafeBrowsingWarning:]):
+            (TEST):
+
+2019-01-28  Babak Shafiei  <[email protected]>
+
         Cherry-pick r240533. rdar://problem/47586823
 
     REGRESSION: Some USDz from 3rd party websites don't go directly to AR QL

Modified: branches/safari-607-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm (240576 => 240577)


--- branches/safari-607-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm	2019-01-28 09:41:30 UTC (rev 240576)
+++ branches/safari-607-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm	2019-01-28 09:46:20 UTC (rev 240577)
@@ -40,6 +40,7 @@
 
 static bool committedNavigation;
 static bool warningShown;
+static bool goBackClicked;
 
 @interface SafeBrowsingNavigationDelegate : NSObject <WKNavigationDelegate, WKUIDelegatePrivate>
 @end
@@ -56,6 +57,11 @@
     warningShown = true;
 }
 
+- (void)_webViewDidClickGoBackFromSafeBrowsingWarning:(WKWebView *)webView
+{
+    goBackClicked = true;
+}
+
 @end
 
 @interface TestServiceLookupResult : NSObject {
@@ -221,7 +227,9 @@
 TEST(SafeBrowsing, GoBack)
 {
     auto webView = safeBrowsingView();
+    EXPECT_FALSE(goBackClicked);
     goBack([webView _safeBrowsingWarning]);
+    EXPECT_TRUE(goBackClicked);
 }
 
 template<typename ViewType> void visitUnsafeSite(ViewType *view)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to