Changeset 99179 in webkit
- Timestamp:
- Nov 3, 2011 6:26:39 AM (12 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r99178 r99179 1 2011-11-03 Nayan Kumar K <nayankk@motorola.com> 2 3 [GTK][WEBKIT2] Add support for title property in WebKitWebView. 4 https://bugs.webkit.org/show_bug.cgi?id=68074 5 6 Reviewed by Philippe Normand. 7 8 Support for 'title' property is added in WebKitWebView. 9 Functions to get the value of this property is provided. 10 11 * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: 12 (didReceiveTitleForFrame): LoaderClient titleRecieve callback. 13 (webkitWebLoaderClientAttachLoaderClientToPage): Register didReceiveTitleForFrame callback. 14 * UIProcess/API/gtk/WebKitWebView.cpp: 15 (webkitWebViewGetProperty): 'title' property get function. 16 (webkit_web_view_class_init): Register new property. 17 (webkitWebViewSetTitle): Notify WebKitWebView about title receive. 18 (webkit_web_view_get_title): API to get main frame title. 19 * UIProcess/API/gtk/WebKitWebView.h: webkit_web_view_get_title API expose. 20 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added private API. 21 * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: 22 (testWebViewTitle): Test webkit_web_view_get_title API. 23 (beforeAll): Add testWebViewTitle test. 24 1 25 2011-11-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 2 26 -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp
r99149 r99179 1 1 /* 2 2 * Copyright (C) 2011 Igalia S.L. 3 * Portions Copyright (c) 2011 Motorola Mobility, Inc. All rights reserved. 3 4 * 4 5 * This library is free software; you can redistribute it and/or … … 132 133 } 133 134 135 static void didReceiveTitleForFrame(WKPageRef page, WKStringRef titleRef, WKFrameRef frameRef, WKTypeRef, const void*) 136 { 137 if (!WKFrameIsMainFrame(frameRef)) 138 return; 139 140 webkitWebViewSetTitle(WEBKIT_WEB_VIEW(toImpl(page)->viewWidget()), toImpl(titleRef)->string().utf8()); 141 } 142 134 143 static void didChangeProgress(WKPageRef page, const void* clientInfo) 135 144 { … … 157 166 didFailLoadWithErrorForFrame, 158 167 didSameDocumentNavigationForFrame, 159 0, // didReceiveTitleForFrame168 didReceiveTitleForFrame, 160 169 0, // didFirstLayoutForFrame 161 170 0, // didFirstVisuallyNonEmptyLayoutForFrame -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
r99176 r99179 45 45 46 46 PROP_WEB_CONTEXT, 47 PROP_TITLE, 47 48 PROP_ESTIMATED_LOAD_PROGRESS, 48 49 PROP_URI … … 51 52 struct _WebKitWebViewPrivate { 52 53 WebKitWebContext* context; 54 CString title; 53 55 CString customTextEncoding; 54 56 double estimatedLoadProgress; … … 109 111 case PROP_WEB_CONTEXT: 110 112 g_value_take_object(value, webView->priv->context); 113 break; 114 case PROP_TITLE: 115 g_value_set_string(value, webView->priv->title.data()); 111 116 break; 112 117 case PROP_ESTIMATED_LOAD_PROGRESS: … … 157 162 WEBKIT_TYPE_WEB_CONTEXT, 158 163 static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY))); 164 165 /** 166 * WebKitWebView:title: 167 * 168 * The main frame document title of this #WebKitWebView. If 169 * the title has not been received yet, it will be %NULL. 170 */ 171 g_object_class_install_property(gObjectClass, 172 PROP_TITLE, 173 g_param_spec_string("title", 174 "Title", 175 "Main frame document title", 176 0, 177 WEBKIT_PARAM_READABLE)); 178 159 179 /** 160 180 * WebKitWebView:estimated-load-progress: … … 190 210 } 191 211 212 void webkitWebViewSetTitle(WebKitWebView* webView, const CString& title) 213 { 214 WebKitWebViewPrivate* priv = webView->priv; 215 if (priv->title == title) 216 return; 217 218 priv->title = title; 219 g_object_notify(G_OBJECT(webView), "title"); 220 } 221 192 222 void webkitWebViewSetEstimatedLoadProgress(WebKitWebView* webView, double estimatedLoadProgress) 193 223 { … … 384 414 WKPageLoadAlternateHTMLString(toAPI(page), htmlString.get(), baseURL.get(), unreachableURL.get()); 385 415 webkitWebViewUpdateURI(webView); 416 } 417 418 /** 419 * webkit_web_view_get_title: 420 * @web_view: a #WebKitWebView 421 * 422 * Gets the value of #WebKitWebView:title. 423 * You can connect to #WebKitWebView::notify signal of @web_view to 424 * be notified when the title has been received. 425 * 426 * Returns: The main frame document title of @web_view. 427 */ 428 const gchar* webkit_web_view_get_title(WebKitWebView* webView) 429 { 430 g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0); 431 432 return webView->priv->title.data(); 386 433 } 387 434 -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h
r99176 r99179 109 109 webkit_web_view_stop_loading (WebKitWebView *web_view); 110 110 111 WEBKIT_API const gchar * 112 webkit_web_view_get_title (WebKitWebView *web_view); 113 111 114 WEBKIT_API void 112 115 webkit_web_view_reload (WebKitWebView *web_view); -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h
r98707 r99179 1 1 /* 2 2 * Copyright (C) 2011 Igalia S.L. 3 * Portions Copyright (c) 2011 Motorola Mobility, Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 29 30 #include "WebKitWebView.h" 30 31 #include <WebKit2/WebKit2.h> 32 #include <wtf/text/CString.h> 31 33 32 34 void webkitWebViewSetEstimatedLoadProgress(WebKitWebView*, double estimatedLoadProgress); 35 void webkitWebViewSetTitle(WebKitWebView*, const CString&); 33 36 void webkitWebViewUpdateURI(WebKitWebView*); 34 37 -
trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt
r99176 r99179 58 58 webkit_web_view_can_go_forward 59 59 webkit_web_view_go_forward 60 webkit_web_view_get_title 60 61 webkit_web_view_reload 61 62 webkit_web_view_reload_bypass_cache -
trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp
r99176 r99179 117 117 } 118 118 119 static void testWebViewTitle(LoadTrackingTest* test, gconstpointer) 120 { 121 g_assert(!webkit_web_view_get_title(test->m_webView)); 122 test->loadHtml("<html><head><title>Welcome to WebKit-GTK+!</title></head></html>", 0); 123 test->waitUntilLoadFinished(); 124 g_assert_cmpstr(webkit_web_view_get_title(test->m_webView), ==, "Welcome to WebKit-GTK+!"); 125 } 126 119 127 static void testWebViewReload(LoadTrackingTest* test, gconstpointer) 120 128 { … … 240 248 LoadTrackingTest::add("WebKitWebLoaderClient", "load-alternate-content", testLoadAlternateContent); 241 249 LoadStopTrackingTest::add("WebKitWebView", "stop-loading", testLoadCancelled); 250 LoadTrackingTest::add("WebKitWebView", "title", testWebViewTitle); 242 251 LoadTrackingTest::add("WebKitWebView", "progress", testLoadProgress); 243 252 LoadTrackingTest::add("WebKitWebView", "reload", testWebViewReload);
Note: See TracChangeset
for help on using the changeset viewer.