Title: [235824] trunk/Tools
- Revision
- 235824
- Author
- [email protected]
- Date
- 2018-09-07 17:37:16 -0700 (Fri, 07 Sep 2018)
Log Message
[WinCairo][MiniBrowser][WebKit] REGRESSION(r235398): ASSERTION FAILED: !m_client.didReceiveTitleForFrame
https://bugs.webkit.org/show_bug.cgi?id=189336
Reviewed by Alex Christensen.
WKPageSetPageLoaderClient is deprecated. Replaced it with
WKPageSetPageNavigationClient.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::WebKitBrowserWindow):
Call WKPageSetPageNavigationClient instead of WKPageSetPageLoaderClient.
(WebKitBrowserWindow::didFinishNavigation):
Copied from didReceiveTitleForFrame. Use WKPageCopyTitle to get the title.
(WebKitBrowserWindow::didCommitNavigation):
Copied from didCommitLoadForFrame. Use WKPageCopyCommittedURL to get the URL.
(WebKitBrowserWindow::didReceiveTitleForFrame): Deleted.
(WebKitBrowserWindow::didCommitLoadForFrame): Deleted.
* MiniBrowser/win/WebKitBrowserWindow.h: Renamed the class methods.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (235823 => 235824)
--- trunk/Tools/ChangeLog 2018-09-08 00:36:09 UTC (rev 235823)
+++ trunk/Tools/ChangeLog 2018-09-08 00:37:16 UTC (rev 235824)
@@ -1,3 +1,24 @@
+2018-09-07 Fujii Hironori <[email protected]>
+
+ [WinCairo][MiniBrowser][WebKit] REGRESSION(r235398): ASSERTION FAILED: !m_client.didReceiveTitleForFrame
+ https://bugs.webkit.org/show_bug.cgi?id=189336
+
+ Reviewed by Alex Christensen.
+
+ WKPageSetPageLoaderClient is deprecated. Replaced it with
+ WKPageSetPageNavigationClient.
+
+ * MiniBrowser/win/WebKitBrowserWindow.cpp:
+ (WebKitBrowserWindow::WebKitBrowserWindow):
+ Call WKPageSetPageNavigationClient instead of WKPageSetPageLoaderClient.
+ (WebKitBrowserWindow::didFinishNavigation):
+ Copied from didReceiveTitleForFrame. Use WKPageCopyTitle to get the title.
+ (WebKitBrowserWindow::didCommitNavigation):
+ Copied from didCommitLoadForFrame. Use WKPageCopyCommittedURL to get the URL.
+ (WebKitBrowserWindow::didReceiveTitleForFrame): Deleted.
+ (WebKitBrowserWindow::didCommitLoadForFrame): Deleted.
+ * MiniBrowser/win/WebKitBrowserWindow.h: Renamed the class methods.
+
2018-09-07 Daniel Bates <[email protected]>
[iOS] uiController.typeCharacterUsingHardwareKeyboard("`", ...) dispatches DOM key events for ~
Modified: trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp (235823 => 235824)
--- trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp 2018-09-08 00:36:09 UTC (rev 235823)
+++ trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.cpp 2018-09-08 00:37:16 UTC (rev 235824)
@@ -91,10 +91,10 @@
m_view = adoptWK(WKViewCreate(rect, conf.get(), mainWnd));
auto page = WKViewGetPage(m_view.get());
- WKPageLoaderClientV0 loadClient = {{ 0, this }};
- loadClient.didReceiveTitleForFrame = didReceiveTitleForFrame;
- loadClient.didCommitLoadForFrame = didCommitLoadForFrame;
- WKPageSetPageLoaderClient(page, &loadClient.base);
+ WKPageNavigationClientV0 navigationClient = {{ 0, this }};
+ navigationClient.didFinishNavigation = didFinishNavigation;
+ navigationClient.didCommitNavigation = didCommitNavigation;
+ WKPageSetPageNavigationClient(page, &navigationClient.base);
}
HRESULT WebKitBrowserWindow::init()
@@ -213,22 +213,19 @@
return *const_cast<WebKitBrowserWindow*>(static_cast<const WebKitBrowserWindow*>(clientInfo));
}
-void WebKitBrowserWindow::didReceiveTitleForFrame(WKPageRef page, WKStringRef title, WKFrameRef frame, WKTypeRef userData, const void *clientInfo)
+void WebKitBrowserWindow::didFinishNavigation(WKPageRef page, WKNavigationRef navigation, WKTypeRef userData, const void* clientInfo)
{
- if (!WKFrameIsMainFrame(frame))
- return;
- std::wstring titleString = createString(title) + L" [WebKit]";
+ WKRetainPtr<WKStringRef> title = adoptWK(WKPageCopyTitle(page));
+ std::wstring titleString = createString(title.get()) + L" [WebKit]";
auto& thisWindow = toWebKitBrowserWindow(clientInfo);
SetWindowText(thisWindow.m_hMainWnd, titleString.c_str());
}
-void WebKitBrowserWindow::didCommitLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void *clientInfo)
+void WebKitBrowserWindow::didCommitNavigation(WKPageRef page, WKNavigationRef navigation, WKTypeRef userData, const void* clientInfo)
{
- if (!WKFrameIsMainFrame(frame))
- return;
auto& thisWindow = toWebKitBrowserWindow(clientInfo);
- WKRetainPtr<WKURLRef> wkurl = adoptWK(WKFrameCopyURL(frame));
+ WKRetainPtr<WKURLRef> wkurl = adoptWK(WKPageCopyCommittedURL(page));
std::wstring urlString = createString(wkurl.get());
SetWindowText(thisWindow.m_urlBarWnd, urlString.c_str());
}
Modified: trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.h (235823 => 235824)
--- trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.h 2018-09-08 00:36:09 UTC (rev 235823)
+++ trunk/Tools/MiniBrowser/win/WebKitBrowserWindow.h 2018-09-08 00:37:16 UTC (rev 235824)
@@ -57,8 +57,8 @@
void zoomIn() override;
void zoomOut() override;
- static void didReceiveTitleForFrame(WKPageRef, WKStringRef, WKFrameRef, WKTypeRef, const void *);
- static void didCommitLoadForFrame(WKPageRef, WKFrameRef, WKTypeRef, const void *);
+ static void didFinishNavigation(WKPageRef, WKNavigationRef, WKTypeRef, const void*);
+ static void didCommitNavigation(WKPageRef, WKNavigationRef, WKTypeRef, const void*);
WKRetainPtr<WKViewRef> m_view;
HWND m_hMainWnd { nullptr };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes