- Revision
- 174499
- Author
- [email protected]
- Date
- 2014-10-08 23:37:47 -0700 (Wed, 08 Oct 2014)
Log Message
[GTK] Use the PageLoadState observer also to monitor title and estimated load progress
https://bugs.webkit.org/show_bug.cgi?id=136997
Reviewed by Gustavo Noronha Silva.
* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView): Remove implementation of
didReceiveTitleForFrame, didStartProgress, didChangeProgress and
didFinishProgress.
(didReceiveTitleForFrame): Deleted.
(didChangeProgress): Deleted.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_get_estimated_load_progress): Return the value
directly from the PageLoadState object, since we don't need to
cache the value anymore.
(webkitWebViewSetTitle): Deleted.
(webkitWebViewSetEstimatedLoadProgress): Deleted.
* UIProcess/API/gtk/WebKitWebViewPrivate.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (174498 => 174499)
--- trunk/Source/WebKit2/ChangeLog 2014-10-09 06:34:46 UTC (rev 174498)
+++ trunk/Source/WebKit2/ChangeLog 2014-10-09 06:37:47 UTC (rev 174499)
@@ -1,5 +1,26 @@
2014-10-08 Carlos Garcia Campos <[email protected]>
+ [GTK] Use the PageLoadState observer also to monitor title and estimated load progress
+ https://bugs.webkit.org/show_bug.cgi?id=136997
+
+ Reviewed by Gustavo Noronha Silva.
+
+ * UIProcess/API/gtk/WebKitLoaderClient.cpp:
+ (attachLoaderClientToView): Remove implementation of
+ didReceiveTitleForFrame, didStartProgress, didChangeProgress and
+ didFinishProgress.
+ (didReceiveTitleForFrame): Deleted.
+ (didChangeProgress): Deleted.
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkit_web_view_get_estimated_load_progress): Return the value
+ directly from the PageLoadState object, since we don't need to
+ cache the value anymore.
+ (webkitWebViewSetTitle): Deleted.
+ (webkitWebViewSetEstimatedLoadProgress): Deleted.
+ * UIProcess/API/gtk/WebKitWebViewPrivate.h:
+
+2014-10-08 Carlos Garcia Campos <[email protected]>
+
Race condition with WebKitWebView:is-loading after starting page load
https://bugs.webkit.org/show_bug.cgi?id=136692
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitLoaderClient.cpp (174498 => 174499)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitLoaderClient.cpp 2014-10-09 06:34:46 UTC (rev 174498)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitLoaderClient.cpp 2014-10-09 06:37:47 UTC (rev 174499)
@@ -91,14 +91,6 @@
resourceError.failingURL().utf8().data(), webError.get());
}
-static void didReceiveTitleForFrame(WKPageRef, WKStringRef titleRef, WKFrameRef frameRef, WKTypeRef, const void* clientInfo)
-{
- if (!WKFrameIsMainFrame(frameRef))
- return;
-
- webkitWebViewSetTitle(WEBKIT_WEB_VIEW(clientInfo), toImpl(titleRef)->string().utf8());
-}
-
static void didDisplayInsecureContentForFrame(WKPageRef, WKFrameRef, WKTypeRef /* userData */, const void *clientInfo)
{
webkitWebViewInsecureContentDetected(WEBKIT_WEB_VIEW(clientInfo), WEBKIT_INSECURE_CONTENT_DISPLAYED);
@@ -109,11 +101,6 @@
webkitWebViewInsecureContentDetected(WEBKIT_WEB_VIEW(clientInfo), WEBKIT_INSECURE_CONTENT_RUN);
}
-static void didChangeProgress(WKPageRef page, const void* clientInfo)
-{
- webkitWebViewSetEstimatedLoadProgress(WEBKIT_WEB_VIEW(clientInfo), WKPageGetEstimatedProgress(page));
-}
-
static void didChangeBackForwardList(WKPageRef, WKBackForwardListItemRef addedItem, WKArrayRef removedItems, const void* clientInfo)
{
webkitBackForwardListChanged(webkit_web_view_get_back_forward_list(WEBKIT_WEB_VIEW(clientInfo)), toImpl(addedItem), toImpl(removedItems));
@@ -144,7 +131,7 @@
didFinishLoadForFrame,
didFailLoadWithErrorForFrame,
0, // didSameDocumentNavigationForFrame
- didReceiveTitleForFrame,
+ 0, // didReceiveTitleForFrame,
0, // didFirstLayoutForFrame
0, // didFirstVisuallyNonEmptyLayoutForFrame
0, // didRemoveFrameFromHierarchy
@@ -152,9 +139,9 @@
didRunInsecureContentForFrame,
0, // canAuthenticateAgainstProtectionSpaceInFrame
didReceiveAuthenticationChallengeInFrame,
- didChangeProgress, // didStartProgress
- didChangeProgress,
- didChangeProgress, // didFinishProgress
+ 0, // didStartProgress
+ 0, // didChangeProgress,
+ 0, // didFinishProgress
0, // didBecomeUnresponsive
0, // didBecomeResponsive
processDidCrash,
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (174498 => 174499)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2014-10-09 06:34:46 UTC (rev 174498)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2014-10-09 06:37:47 UTC (rev 174499)
@@ -160,7 +160,6 @@
WebKitWebView* relatedView;
CString title;
CString customTextEncoding;
- double estimatedLoadProgress;
CString activeURI;
bool isLoading;
@@ -237,8 +236,16 @@
g_object_thaw_notify(G_OBJECT(m_webView));
}
- virtual void willChangeTitle() override { }
- virtual void didChangeTitle() override { }
+ virtual void willChangeTitle() override
+ {
+ g_object_freeze_notify(G_OBJECT(m_webView));
+ }
+ virtual void didChangeTitle() override
+ {
+ m_webView->priv->title = getPage(m_webView)->pageLoadState().title().utf8();
+ g_object_notify(G_OBJECT(m_webView), "title");
+ g_object_thaw_notify(G_OBJECT(m_webView));
+ }
virtual void willChangeActiveURL() override
{
@@ -253,8 +260,17 @@
virtual void willChangeHasOnlySecureContent() override { }
virtual void didChangeHasOnlySecureContent() override { }
- virtual void willChangeEstimatedProgress() override { }
- virtual void didChangeEstimatedProgress() override { }
+
+ virtual void willChangeEstimatedProgress() override
+ {
+ g_object_freeze_notify(G_OBJECT(m_webView));
+ }
+ virtual void didChangeEstimatedProgress() override
+ {
+ g_object_notify(G_OBJECT(m_webView), "estimated-load-progress");
+ g_object_thaw_notify(G_OBJECT(m_webView));
+ }
+
virtual void willChangeCanGoBack() override { }
virtual void didChangeCanGoBack() override { }
virtual void willChangeCanGoForward() override { }
@@ -1657,25 +1673,6 @@
g_signal_emit(webView, signals[LOAD_CHANGED], 0, WEBKIT_LOAD_FINISHED);
}
-void webkitWebViewSetTitle(WebKitWebView* webView, const CString& title)
-{
- WebKitWebViewPrivate* priv = webView->priv;
- if (priv->title == title)
- return;
-
- priv->title = title;
- g_object_notify(G_OBJECT(webView), "title");
-}
-
-void webkitWebViewSetEstimatedLoadProgress(WebKitWebView* webView, double estimatedLoadProgress)
-{
- if (webView->priv->estimatedLoadProgress == estimatedLoadProgress)
- return;
-
- webView->priv->estimatedLoadProgress = estimatedLoadProgress;
- g_object_notify(G_OBJECT(webView), "estimated-load-progress");
-}
-
WebPageProxy* webkitWebViewCreateNewPage(WebKitWebView* webView, const WindowFeatures& windowFeatures, WebKitNavigationAction* navigationAction)
{
WebKitWebView* newWebView;
@@ -2520,7 +2517,7 @@
gdouble webkit_web_view_get_estimated_load_progress(WebKitWebView* webView)
{
g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
- return webView->priv->estimatedLoadProgress;
+ return getPage(webView)->pageLoadState().estimatedProgress();
}
/**
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h (174498 => 174499)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h 2014-10-09 06:34:46 UTC (rev 174498)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h 2014-10-09 06:37:47 UTC (rev 174499)
@@ -35,8 +35,6 @@
void webkitWebViewLoadChanged(WebKitWebView*, WebKitLoadEvent);
void webkitWebViewLoadFailed(WebKitWebView*, WebKitLoadEvent, const char* failingURI, GError*);
void webkitWebViewLoadFailedWithTLSErrors(WebKitWebView*, const char* failingURI, GError*, GTlsCertificateFlags, GTlsCertificate*);
-void webkitWebViewSetEstimatedLoadProgress(WebKitWebView*, double estimatedLoadProgress);
-void webkitWebViewSetTitle(WebKitWebView*, const CString&);
WebKit::WebPageProxy* webkitWebViewCreateNewPage(WebKitWebView*, const WebCore::WindowFeatures&, WebKitNavigationAction*);
void webkitWebViewReadyToShowPage(WebKitWebView*);
void webkitWebViewRunAsModal(WebKitWebView*);