From 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 27 Jun 2017 06:07:23 +0000 Subject: webkitgtk-2.16.5 --- .../PrivateBrowsingPushStateNoHistoryCallback.cpp | 32 ++++++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'Tools/TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp') diff --git a/Tools/TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp b/Tools/TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp index 3d0db3d2f..532c92373 100644 --- a/Tools/TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp +++ b/Tools/TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp @@ -24,24 +24,33 @@ */ #include "config.h" + +#if WK_HAVE_C_SPI + #include "PlatformUtilities.h" #include "PlatformWebView.h" #include "Test.h" -#include +#include namespace TestWebKitAPI { -static bool testDone; +static bool didNavigate; +static bool didSameDocumentNavigation; -static void didNavigateWithNavigationData(WKContextRef context, WKPageRef page, WKNavigationDataRef navigationData, WKFrameRef frame, const void* clientInfo) +static void didNavigateWithoutNavigationData(WKContextRef context, WKPageRef page, WKNavigationDataRef navigationData, WKFrameRef frame, const void* clientInfo) { // This should never be called when navigating in Private Browsing. FAIL(); } +static void didNavigateWithNavigationData(WKContextRef context, WKPageRef page, WKNavigationDataRef navigationData, WKFrameRef frame, const void* clientInfo) +{ + didNavigate = true; +} + static void didSameDocumentNavigationForFrame(WKPageRef page, WKFrameRef frame, WKSameDocumentNavigationType type, WKTypeRef userData, const void *clientInfo) { - testDone = true; + didSameDocumentNavigation = true; } TEST(WebKit2, PrivateBrowsingPushStateNoHistoryCallback) @@ -52,7 +61,7 @@ TEST(WebKit2, PrivateBrowsingPushStateNoHistoryCallback) memset(&historyClient, 0, sizeof(historyClient)); historyClient.base.version = 0; - historyClient.didNavigateWithNavigationData = didNavigateWithNavigationData; + historyClient.didNavigateWithNavigationData = didNavigateWithoutNavigationData; WKContextSetHistoryClient(context.get(), &historyClient.base); @@ -75,7 +84,18 @@ TEST(WebKit2, PrivateBrowsingPushStateNoHistoryCallback) WKRetainPtr url(AdoptWK, Util::createURLForResource("push-state", "html")); WKPageLoadURL(webView.page(), url.get()); - Util::run(&testDone); + Util::run(&didSameDocumentNavigation); + + WKPreferencesSetPrivateBrowsingEnabled(preferences.get(), false); + + historyClient.didNavigateWithNavigationData = didNavigateWithNavigationData; + WKContextSetHistoryClient(context.get(), &historyClient.base); + + WKPageLoadURL(webView.page(), url.get()); + + Util::run(&didNavigate); } } // namespace TestWebKitAPI + +#endif -- cgit v1.2.1