Title: [285876] trunk/Tools
Revision
285876
Author
[email protected]
Date
2021-11-16 11:49:47 -0800 (Tue, 16 Nov 2021)

Log Message

[Win][MiniBrowser][WK2] Show a message box for a provisional navigation failure
https://bugs.webkit.org/show_bug.cgi?id=233170

Reviewed by Don Olmstead.

Show a MessageBox if a provisional navigation failed.

* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::WebKitBrowserWindow):
(WebKitBrowserWindow::didFailProvisionalNavigation):
* MiniBrowser/win/WebKitBrowserWindow.h:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (285875 => 285876)


--- trunk/Tools/ChangeLog	2021-11-16 19:31:42 UTC (rev 285875)
+++ trunk/Tools/ChangeLog	2021-11-16 19:49:47 UTC (rev 285876)
@@ -1,3 +1,17 @@
+2021-11-16  Fujii Hironori  <[email protected]>
+
+        [Win][MiniBrowser][WK2] Show a message box for a provisional navigation failure
+        https://bugs.webkit.org/show_bug.cgi?id=233170
+
+        Reviewed by Don Olmstead.
+
+        Show a MessageBox if a provisional navigation failed.
+
+        * MiniBrowser/win/WebKitBrowserWindow.cpp:
+        (WebKitBrowserWindow::WebKitBrowserWindow):
+        (WebKitBrowserWindow::didFailProvisionalNavigation):
+        * MiniBrowser/win/WebKitBrowserWindow.h:
+
 2021-11-16  Zhifei Fang  <[email protected]>
 
         Make run-_javascript_-core-test and run-jsc-stress-tests support a customized identity file

Modified: trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp (285875 => 285876)


--- trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp	2021-11-16 19:31:42 UTC (rev 285875)
+++ trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp	2021-11-16 19:49:47 UTC (rev 285876)
@@ -41,6 +41,7 @@
 #include <WebKit/WKWebsiteDataStoreRef.h>
 #include <WebKit/WKWebsiteDataStoreRefCurl.h>
 #include <filesystem>
+#include <sstream>
 #include <vector>
 
 std::wstring createString(WKURLRef wkURL)
@@ -153,6 +154,7 @@
     WKPageNavigationClientV0 navigationClient = { };
     navigationClient.base.version = 0;
     navigationClient.base.clientInfo = this;
+    navigationClient.didFailProvisionalNavigation = didFailProvisionalNavigation;
     navigationClient.didReceiveAuthenticationChallenge = didReceiveAuthenticationChallenge;
     WKPageSetPageNavigationClient(page, &navigationClient.base);
 
@@ -359,6 +361,17 @@
     thisWindow.m_client.activeURLChanged(createString(url.get()));
 }
 
+void WebKitBrowserWindow::didFailProvisionalNavigation(WKPageRef page, WKNavigationRef navigation, WKErrorRef error, WKTypeRef userData, const void* clientInfo)
+{
+    auto& thisWindow = toWebKitBrowserWindow(clientInfo);
+    std::wstringstream text;
+    text << createString(adoptWK(WKErrorCopyLocalizedDescription(error)).get()) << std::endl;
+    text << L"Error Code: " << WKErrorGetErrorCode(error) << std::endl;
+    text << L"Domain: " << createString(adoptWK(WKErrorCopyDomain(error)).get()) << std::endl;
+    text << L"Failing URL: " << createString(adoptWK(WKErrorCopyFailingURL(error)).get());
+    MessageBox(thisWindow.m_hMainWnd, text.str().c_str(), L"Provisional Navigation Failure", MB_OK | MB_ICONWARNING);
+}
+
 void WebKitBrowserWindow::didReceiveAuthenticationChallenge(WKPageRef page, WKAuthenticationChallengeRef challenge, const void* clientInfo)
 {
     auto& thisWindow = toWebKitBrowserWindow(clientInfo);

Modified: trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.h (285875 => 285876)


--- trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.h	2021-11-16 19:31:42 UTC (rev 285875)
+++ trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.h	2021-11-16 19:49:47 UTC (rev 285876)
@@ -69,6 +69,7 @@
     static void didChangeIsLoading(const void*);
     static void didChangeEstimatedProgress(const void*);
     static void didChangeActiveURL(const void*);
+    static void didFailProvisionalNavigation(WKPageRef, WKNavigationRef, WKErrorRef, WKTypeRef, const void*);
     static void didReceiveAuthenticationChallenge(WKPageRef, WKAuthenticationChallengeRef, const void*);
     static WKPageRef createNewPage(WKPageRef, WKPageConfigurationRef, WKNavigationActionRef, WKWindowFeaturesRef, const void *);
     static void didNotHandleKeyEvent(WKPageRef, WKNativeEventPtr, const void*);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to