Changeset 38834 in webkit
- Timestamp:
- Nov 28, 2008 4:20:56 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r38782 r38834 1 2008-11-28 Gustavo Noronha Silva <gns@gnome.org> 2 3 Reviewed and slightly modified by Holger Freyther. 4 5 https://bugs.webkit.org/show_bug.cgi?id=19130 6 7 Added the new WebKitGtk files to be built: 8 WebKit/gtk/webkit/webkitwebwindowfeatures.{cpp,h} 9 10 * GNUmakefile.am: 11 1 12 2008-11-26 Kalle Vahlman <kalle.vahlman@movial.com> 2 13 -
trunk/GNUmakefile.am
r38215 r38834 310 310 WebKit/gtk/webkit/webkitwebinspector.h \ 311 311 WebKit/gtk/webkit/webkitwebsettings.h \ 312 WebKit/gtk/webkit/webkitwebwindowfeatures.h \ 312 313 WebKit/gtk/webkit/webkitwebview.h 313 314 … … 342 343 WebKit/gtk/webkit/webkitwebinspector.cpp \ 343 344 WebKit/gtk/webkit/webkitwebsettings.cpp \ 344 WebKit/gtk/webkit/webkitwebview.cpp 345 WebKit/gtk/webkit/webkitwebview.cpp \ 346 WebKit/gtk/webkit/webkitwebwindowfeatures.cpp 345 347 346 348 webkitgtk_cppflags += \ -
trunk/WebKit/gtk/ChangeLog
r38738 r38834 1 2008-11-28 Gustavo Noronha Silva <gns@gnome.org> 2 3 Reviewed and slightly modified by Holger Freyther. 4 5 https://bugs.webkit.org/show_bug.cgi?id=19130 6 7 ChromeClient::createWindow and friends need to be implemented 8 9 Code from Gustavo Noronha and Marco Barisione 10 <marco.barisione@collabora.co.uk> in this change set. 11 12 Implemented all the ChromeClient interfaces needed to have new 13 window creation functioning and exposed to client code. We 14 implemented a mirror GObject to the WindowFeatures object provided 15 by WebCore. 16 17 * WebCoreSupport/ChromeClientGtk.cpp: 18 (WebKit::ChromeClient::windowRect): 19 (WebKit::ChromeClient::setWindowRect): 20 (WebKit::ChromeClient::unfocus): 21 (WebKit::ChromeClient::createWindow): 22 (WebKit::ChromeClient::show): 23 (WebKit::ChromeClient::setToolbarsVisible): 24 (WebKit::ChromeClient::toolbarsVisible): 25 (WebKit::ChromeClient::setStatusbarVisible): 26 (WebKit::ChromeClient::statusbarVisible): 27 (WebKit::ChromeClient::setScrollbarsVisible): 28 (WebKit::ChromeClient::scrollbarsVisible): 29 (WebKit::ChromeClient::setMenubarVisible): 30 (WebKit::ChromeClient::menubarVisible): 31 (WebKit::ChromeClient::setResizable): 32 * WebCoreSupport/FrameLoaderClientGtk.cpp: 33 (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 34 (WebKit::FrameLoaderClient::dispatchShow): 35 (WebKit::FrameLoaderClient::dispatchCreatePage): 36 * webkit/webkit.h: 37 * webkit/webkitdefines.h: 38 * webkit/webkitprivate.h: 39 * webkit/webkitwebview.cpp: 40 * webkit/webkitwebview.h: 41 * webkit/webkitwebwindowfeatures.cpp: Added. 42 (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_class_init): 43 (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_init): 44 (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_finalize): 45 (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_set_property): 46 (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_get_property): 47 (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_new): 48 (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_new_from_core_features): 49 (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_equal): 50 * webkit/webkitwebwindowfeatures.h: Added. 51 1 52 2008-11-24 Darin Fisher <darin@chromium.org> 2 53 -
trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
r38179 r38834 4 4 * Copyright (C) 2008 Nuanti Ltd. 5 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> 6 * Copyright (C) 2008 Gustavo Noronha Silva <gns@gnome.org> 6 7 * 7 8 * This library is free software; you can redistribute it and/or … … 26 27 #include "FileChooser.h" 27 28 #include "FloatRect.h" 29 #include "FrameLoadRequest.h" 28 30 #include "IntRect.h" 29 31 #include "PlatformString.h" … … 32 34 #include "KURL.h" 33 35 #include "webkitwebview.h" 36 #include "webkitnetworkrequest.h" 34 37 #include "webkitprivate.h" 35 38 #include "NotImplemented.h" … … 62 65 return FloatRect(); 63 66 GtkWidget* window = gtk_widget_get_toplevel(GTK_WIDGET(m_webView)); 64 if ( window) {67 if (GTK_WIDGET_TOPLEVEL(window)) { 65 68 gint left, top, width, height; 66 69 gtk_window_get_position(GTK_WINDOW(window), &left, &top); … … 71 74 } 72 75 73 void ChromeClient::setWindowRect(const FloatRect& r) 74 { 75 notImplemented(); 76 void ChromeClient::setWindowRect(const FloatRect& rect) 77 { 78 if (!m_webView) 79 return; 80 81 IntRect intrect = IntRect(rect); 82 WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView); 83 84 g_object_set(G_OBJECT(webWindowFeatures), 85 "x", intrect.x(), 86 "y", intrect.y(), 87 "width", intrect.width(), 88 "height", intrect.height(), 89 NULL); 76 90 } 77 91 … … 102 116 return; 103 117 GtkWidget* window = gtk_widget_get_toplevel(GTK_WIDGET(m_webView)); 104 if ( window)118 if (GTK_WIDGET_TOPLEVEL(window)) 105 119 gtk_window_set_focus(GTK_WINDOW(window), NULL); 106 120 } 107 121 108 Page* ChromeClient::createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures& features) 109 { 110 if (features.dialog) { 111 notImplemented(); 122 Page* ChromeClient::createWindow(Frame* frame, const FrameLoadRequest& frameLoadRequest, const WindowFeatures& coreFeatures) 123 { 124 WebKitWebView* webView = 0; 125 126 g_signal_emit_by_name(m_webView, "create-web-view", kit(frame), &webView); 127 128 if (!webView) 112 129 return 0; 113 } else { 114 /* TODO: FrameLoadRequest is not used */115 WebKitWebView* webView = WEBKIT_WEB_VIEW_GET_CLASS(m_webView)->create_web_view(m_webView);116 if (!webView)117 return 0; 118 119 WebKitWebViewPrivate* privateData = WEBKIT_WEB_VIEW_GET_PRIVATE(webView);120 return privateData->corePage; 121 }130 131 WebKitWebWindowFeatures* webWindowFeatures = webkit_web_window_features_new_from_core_features(coreFeatures); 132 webkit_web_view_set_window_features(webView, webWindowFeatures); 133 g_object_unref(G_OBJECT(webWindowFeatures)); 134 135 if (!frameLoadRequest.isEmpty()) 136 webkit_web_view_open(webView, frameLoadRequest.resourceRequest().url().string().utf8().data()); 137 138 return core(webView); 122 139 } 123 140 124 141 void ChromeClient::show() 125 142 { 126 notImplemented(); 143 if (!m_webView) 144 return; 145 146 webkit_web_view_notify_ready(m_webView); 127 147 } 128 148 … … 138 158 } 139 159 140 void ChromeClient::setToolbarsVisible(bool) 141 { 142 notImplemented(); 160 void ChromeClient::setToolbarsVisible(bool visible) 161 { 162 if (!m_webView) 163 return; 164 165 WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView); 166 167 g_object_set(G_OBJECT(webWindowFeatures), "toolbar-visible", visible, NULL); 143 168 } 144 169 145 170 bool ChromeClient::toolbarsVisible() 146 171 { 147 notImplemented(); 148 return false; 149 } 150 151 void ChromeClient::setStatusbarVisible(bool) 152 { 153 notImplemented(); 172 if (!m_webView) 173 return false; 174 175 WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView); 176 gboolean visible; 177 178 g_object_get(G_OBJECT(webWindowFeatures), "toolbar-visible", &visible, NULL); 179 return visible; 180 } 181 182 void ChromeClient::setStatusbarVisible(bool visible) 183 { 184 if (!m_webView) 185 return; 186 187 WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView); 188 189 g_object_set(G_OBJECT(webWindowFeatures), "statusbar-visible", visible, NULL); 154 190 } 155 191 156 192 bool ChromeClient::statusbarVisible() 157 193 { 158 notImplemented(); 159 return false; 160 } 161 162 void ChromeClient::setScrollbarsVisible(bool) 163 { 164 notImplemented(); 194 if (!m_webView) 195 return false; 196 197 WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView); 198 gboolean visible; 199 200 g_object_get(G_OBJECT(webWindowFeatures), "statusbar-visible", &visible, NULL); 201 return visible; 202 } 203 204 void ChromeClient::setScrollbarsVisible(bool visible) 205 { 206 if (!m_webView) 207 return; 208 209 WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView); 210 211 g_object_set(G_OBJECT(webWindowFeatures), "scrollbar-visible", visible, NULL); 165 212 } 166 213 167 214 bool ChromeClient::scrollbarsVisible() { 168 notImplemented(); 169 return false; 170 } 171 172 void ChromeClient::setMenubarVisible(bool) 173 { 174 notImplemented(); 215 if (!m_webView) 216 return false; 217 218 WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView); 219 gboolean visible; 220 221 g_object_get(G_OBJECT(webWindowFeatures), "scrollbar-visible", &visible, NULL); 222 return visible; 223 } 224 225 void ChromeClient::setMenubarVisible(bool visible) 226 { 227 if (!m_webView) 228 return; 229 230 WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView); 231 232 g_object_set(G_OBJECT(webWindowFeatures), "menubar-visible", visible, NULL); 175 233 } 176 234 177 235 bool ChromeClient::menubarVisible() 178 236 { 179 notImplemented(); 180 return false; 237 if (!m_webView) 238 return false; 239 240 WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView); 241 gboolean visible; 242 243 g_object_get(G_OBJECT(webWindowFeatures), "menubar-visible", &visible, NULL); 244 return visible; 181 245 } 182 246 183 247 void ChromeClient::setResizable(bool) 184 248 { 185 notImplemented();249 // Ignored for now 186 250 } 187 251 -
trunk/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
r38732 r38834 45 45 #include "ScriptController.h" 46 46 #include "webkitwebview.h" 47 #include "webkitnetworkrequest.h" 47 48 #include "webkitwebframe.h" 48 49 #include "webkitprivate.h" … … 259 260 // FIXME: I think Qt version marshals this to another thread so when we 260 261 // have multi-threaded download, we might need to do the same 261 (core(m_frame)->loader()->*policyFunction)(Policy Ignore);262 (core(m_frame)->loader()->*policyFunction)(PolicyUse); 262 263 } 263 264 … … 544 545 void FrameLoaderClient::dispatchShow() 545 546 { 546 notImplemented(); 547 WebKitWebView* webView = getViewFromFrame(m_frame); 548 webkit_web_view_notify_ready(webView); 547 549 } 548 550 … … 717 719 Frame* FrameLoaderClient::dispatchCreatePage() 718 720 { 719 notImplemented(); 720 return 0; 721 WebKitWebView* webView = getViewFromFrame(m_frame); 722 WebKitWebView* newWebView = 0; 723 724 g_signal_emit_by_name(webView, "create-web-view", m_frame, &newWebView); 725 726 if (!newWebView) 727 return 0; 728 729 WebKitWebViewPrivate* privateData = WEBKIT_WEB_VIEW_GET_PRIVATE(newWebView); 730 return core(privateData->mainFrame); 721 731 } 722 732 -
trunk/WebKit/gtk/docs/webkitgtk-docs.sgml
r38696 r38834 21 21 <xi:include href="xml/webkitnetworkrequest.xml"/> 22 22 <xi:include href="xml/webkitwebinspector.xml"/> 23 <xi:include href="xml/webkitwebwindowfeatures.xml"/> 23 24 </chapter> 24 25 -
trunk/WebKit/gtk/docs/webkitgtk-sections.txt
r38696 r38834 202 202 webkit_web_view_zoom_in 203 203 webkit_web_view_zoom_out 204 webkit_web_view_get_window_features 205 webkit_web_view_set_window_features 204 206 <SUBSECTION Standard> 205 207 WEBKIT_WEB_VIEW … … 215 217 WebKitWebViewClass 216 218 WEBKIT_WEB_VIEW_GET_PRIVATE 219 </SECTION> 220 221 <SECTION> 222 <FILE>webkitwebwindowfeatures</FILE> 223 <TITLE>WebKitWebWindowFeatures</TITLE> 224 WebKitWebWindowFeatures 225 webkit_web_window_features_equal 226 webkit_web_window_features_new 227 <SUBSECTION Standard> 228 WEBKIT_IS_WEB_WINDOW_FEATURES 229 WEBKIT_IS_WEB_WINDOW_FEATURES_CLASS 230 WEBKIT_TYPE_WEB_WINDOW_FEATURES 231 WEBKIT_WEB_WINDOW_FEATURES 232 WEBKIT_WEB_WINDOW_FEATURES_CLASS 233 WEBKIT_WEB_WINDOW_FEATURES_GET_CLASS 234 <SUBSECTION Private> 235 webkit_web_window_features_get_type 236 WebKitWebWindowFeatures 237 WebKitWebWindowFeaturesClass 238 WebKitWebWindowFeaturesPrivate 217 239 </SECTION> 218 240 -
trunk/WebKit/gtk/docs/webkitgtk.types
r38696 r38834 9 9 webkit_navigation_response_get_type 10 10 webkit_web_view_target_info_get_type 11 webkit_web_window_features_get_type 11 12 -
trunk/WebKit/gtk/webkit/webkit.h
r37982 r38834 27 27 #include <webkit/webkitwebsettings.h> 28 28 #include <webkit/webkitwebinspector.h> 29 #include <webkit/webkitwebwindowfeatures.h> 29 30 #include <webkit/webkitwebview.h> 30 31 #include <webkit/webkitwebbackforwardlist.h> -
trunk/WebKit/gtk/webkit/webkitdefines.h
r37982 r38834 59 59 typedef struct _WebKitWebInspectorClass WebKitWebInspectorClass; 60 60 61 typedef struct _WebKitWebWindowFeatures WebKitWebWindowFeatures; 62 typedef struct _WebKitWebWindowFeaturesClass WebKitWebWindowFeaturesClass; 63 61 64 typedef struct _WebKitWebView WebKitWebView; 62 65 typedef struct _WebKitWebViewClass WebKitWebViewClass; -
trunk/WebKit/gtk/webkit/webkitprivate.h
r38710 r38834 31 31 #include <webkit/webkitwebframe.h> 32 32 #include <webkit/webkitwebsettings.h> 33 #include <webkit/webkitwebwindowfeatures.h> 33 34 #include <webkit/webkitwebbackforwardlist.h> 34 35 … … 40 41 #include "InspectorClientGtk.h" 41 42 #include "FrameLoaderClient.h" 43 #include "WindowFeatures.h" 42 44 43 45 #include <glib.h> … … 70 72 WebKitWebSettings* webSettings; 71 73 WebKitWebInspector* webInspector; 74 WebKitWebWindowFeatures* webWindowFeatures; 72 75 73 76 WebKitWebFrame* mainFrame; … … 122 125 webkit_web_inspector_set_inspected_uri(WebKitWebInspector* web_inspector, const gchar* inspected_uri); 123 126 127 WebKitWebWindowFeatures* 128 webkit_web_window_features_new_from_core_features (const WebCore::WindowFeatures& features); 129 130 void 131 webkit_web_view_notify_ready (WebKitWebView* web_view); 132 124 133 // FIXME: Move these to webkitwebframe.h once their API has been discussed. 125 134 -
trunk/WebKit/gtk/webkit/webkitwebview.cpp
r38695 r38834 5 5 * Copyright (C) 2007, 2008 Alp Toker <alp@atoker.com> 6 6 * Copyright (C) 2008 Jan Alonzo <jmalonzo@unpluggable.com> 7 * Copyright (C) 2008 Gustavo Noronha Silva <gns@gnome.org> 7 8 * Copyright (C) 2008 Nuanti Ltd. 8 9 * Copyright (C) 2008 Collabora Ltd. … … 75 76 /* normal signals */ 76 77 NAVIGATION_REQUESTED, 78 CREATE_WEB_VIEW, 79 WEB_VIEW_READY, 77 80 WINDOW_OBJECT_CLEARED, 78 81 LOAD_STARTED, … … 105 108 PROP_SETTINGS, 106 109 PROP_WEB_INSPECTOR, 110 PROP_WINDOW_FEATURES, 107 111 PROP_TRANSPARENT, 108 112 PROP_ZOOM_LEVEL, … … 247 251 g_value_set_object(value, webkit_web_view_get_inspector(webView)); 248 252 break; 253 case PROP_WINDOW_FEATURES: 254 g_value_set_object(value, webkit_web_view_get_window_features(webView)); 255 break; 249 256 case PROP_TRANSPARENT: 250 257 g_value_set_boolean(value, webkit_web_view_get_transparent(webView)); … … 271 278 case PROP_SETTINGS: 272 279 webkit_web_view_set_settings(webView, WEBKIT_WEB_SETTINGS(g_value_get_object(value))); 280 break; 281 case PROP_WINDOW_FEATURES: 282 webkit_web_view_set_window_features(webView, WEBKIT_WEB_WINDOW_FEATURES(g_value_get_object(value))); 273 283 break; 274 284 case PROP_TRANSPARENT: … … 606 616 } 607 617 608 static WebKitWebView* webkit_web_view_real_create_web_view(WebKitWebView*) 609 { 610 notImplemented(); 618 static WebKitWebView* webkit_web_view_real_create_web_view(WebKitWebView*, WebKitWebFrame*) 619 { 611 620 return 0; 621 } 622 623 static gboolean webkit_web_view_real_web_view_ready(WebKitWebView*) 624 { 625 return FALSE; 612 626 } 613 627 … … 771 785 g_object_unref(priv->webSettings); 772 786 g_object_unref(priv->webInspector); 787 g_object_unref(priv->webWindowFeatures); 773 788 g_object_unref(priv->mainFrame); 774 789 g_object_unref(priv->imContext); … … 780 795 } 781 796 797 static gboolean webkit_create_web_view_request_handled(GSignalInvocationHint* ihint, GValue* returnAccu, const GValue* handlerReturn, gpointer dummy) 798 { 799 gboolean continueEmission = TRUE; 800 gpointer newWebView = g_value_get_object(handlerReturn); 801 g_value_set_object(returnAccu, newWebView); 802 803 if (newWebView) 804 continueEmission = FALSE; 805 806 return continueEmission; 807 } 808 782 809 static gboolean webkit_navigation_request_handled(GSignalInvocationHint* ihint, GValue* returnAccu, const GValue* handlerReturn, gpointer dummy) 783 810 { … … 821 848 * Signals 822 849 */ 850 851 /** 852 * WebKitWebView::create-web-view: 853 * @web_view: the object on which the signal is emitted 854 * @frame: the #WebKitWebFrame 855 * @return: a newly allocated #WebKitWebView or %NULL 856 * 857 * Emitted when the creation of a new window is requested. 858 * If this signal is handled the signal handler should return the 859 * newly created #WebKitWebView. 860 * 861 * The new #WebKitWebView should not be displayed to the user 862 * until the #WebKitWebView::web-view-ready signal is emitted. 863 * 864 * The signal handlers should not try to deal with the reference 865 * count for the new #WebKitWebView. The widget to which the 866 * widget is added will handle that. 867 * 868 * Since 1.0.3 869 */ 870 webkit_web_view_signals[CREATE_WEB_VIEW] = g_signal_new("create-web-view", 871 G_TYPE_FROM_CLASS(webViewClass), 872 (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), 873 G_STRUCT_OFFSET (WebKitWebViewClass, create_web_view), 874 webkit_create_web_view_request_handled, 875 NULL, 876 webkit_marshal_OBJECT__OBJECT, 877 WEBKIT_TYPE_WEB_VIEW , 1, 878 WEBKIT_TYPE_WEB_FRAME); 879 880 /** 881 * WebKitWebView::web-view-ready: 882 * @web_view: the object on which the signal is emitted 883 * @return: %TRUE to stop other handlers from being invoked for 884 * the event, %FALSE to propagate the event further 885 * 886 * Emitted after #WebKitWebView::create-web-view when the new #WebKitWebView 887 * should be displayed to the user. When this signal is emitted 888 * all the information about how the window should look, including 889 * size, position, whether the location, status and scroll bars 890 * should be displayed, is already set on the 891 * #WebKitWebWindowFeatures object contained by the #WebKitWebView. 892 * 893 * Notice that some of that information may change during the life 894 * time of the window, so you may want to connect to the ::notify 895 * signal of the #WebKitWebWindowFeatures object to handle those. 896 * 897 * Since 1.0.3 898 */ 899 webkit_web_view_signals[WEB_VIEW_READY] = g_signal_new("web-view-ready", 900 G_TYPE_FROM_CLASS(webViewClass), 901 (GSignalFlags)(G_SIGNAL_RUN_LAST), 902 G_STRUCT_OFFSET (WebKitWebViewClass, web_view_ready), 903 g_signal_accumulator_true_handled, 904 NULL, 905 webkit_marshal_BOOLEAN__VOID, 906 G_TYPE_BOOLEAN, 0); 823 907 824 908 webkit_web_view_signals[NAVIGATION_REQUESTED] = g_signal_new("navigation-requested", … … 1157 1241 */ 1158 1242 webViewClass->create_web_view = webkit_web_view_real_create_web_view; 1243 webViewClass->web_view_ready = webkit_web_view_real_web_view_ready; 1159 1244 webViewClass->navigation_requested = webkit_web_view_real_navigation_requested; 1160 1245 webViewClass->window_object_cleared = webkit_web_view_real_window_object_cleared; … … 1286 1371 WEBKIT_TYPE_WEB_INSPECTOR, 1287 1372 WEBKIT_PARAM_READABLE)); 1373 1374 /** 1375 * WebKitWebView:window-features: 1376 * 1377 * An associated WebKitWebWindowFeatures instance. 1378 * 1379 * Since: 1.0.3 1380 */ 1381 g_object_class_install_property(objectClass, PROP_WINDOW_FEATURES, 1382 g_param_spec_object("window-features", 1383 "Window Features", 1384 "An associated WebKitWebWindowFeatures instance", 1385 WEBKIT_TYPE_WEB_WINDOW_FEATURES, 1386 WEBKIT_PARAM_READWRITE)); 1288 1387 1289 1388 g_object_class_install_property(objectClass, PROP_EDITABLE, … … 1541 1640 g_signal_connect(webView, "screen-changed", G_CALLBACK(webkit_web_view_screen_changed), NULL); 1542 1641 g_signal_connect(priv->webSettings, "notify", G_CALLBACK(webkit_web_view_settings_notify), webView); 1642 1643 priv->webWindowFeatures = webkit_web_window_features_new(); 1543 1644 } 1544 1645 … … 1549 1650 return GTK_WIDGET(webView); 1550 1651 } 1652 1653 // for internal use only 1654 void webkit_web_view_notify_ready(WebKitWebView* webView) 1655 { 1656 g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); 1657 1658 gboolean isHandled = FALSE; 1659 g_signal_emit(webView, webkit_web_view_signals[WEB_VIEW_READY], 0, &isHandled); 1660 } 1661 1551 1662 1552 1663 void webkit_web_view_set_settings(WebKitWebView* webView, WebKitWebSettings* webSettings) … … 1595 1706 WebKitWebViewPrivate* priv = webView->priv; 1596 1707 return priv->webInspector; 1708 } 1709 1710 /** 1711 * webkit_web_view_set_window_features 1712 * @web_view: a #WebKitWebView 1713 * @window_features: a #WebKitWebWindowFeatures 1714 * 1715 * This will set how the window containing the #WebKitWebView should 1716 * look and behave. Applications may want to monitor this property and 1717 * apply the settings it carries to the window holding the relevant 1718 * #WebKitWebView. 1719 * 1720 * Since: 1.0.3 1721 */ 1722 void webkit_web_view_set_window_features(WebKitWebView* webView, WebKitWebWindowFeatures* webWindowFeatures) 1723 { 1724 g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); 1725 g_return_if_fail(WEBKIT_IS_WEB_WINDOW_FEATURES(webWindowFeatures)); 1726 1727 WebKitWebViewPrivate* priv = webView->priv; 1728 1729 if(webkit_web_window_features_equal(priv->webWindowFeatures, webWindowFeatures)) 1730 return; 1731 1732 g_object_unref(priv->webWindowFeatures); 1733 g_object_ref(webWindowFeatures); 1734 priv->webWindowFeatures = webWindowFeatures; 1735 } 1736 1737 /** 1738 * webkit_web_view_get_window_features 1739 * @web_view: a #WebKitWebView 1740 * 1741 * Returns the instance of #WebKitWebWindowFeatures held by the given 1742 * #WebKitWebView. 1743 * 1744 * Return value: the #WebKitWebWindowFeatures 1745 * 1746 * Since: 1.0.3 1747 */ 1748 WebKitWebWindowFeatures* webkit_web_view_get_window_features(WebKitWebView* webView) 1749 { 1750 g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL); 1751 1752 WebKitWebViewPrivate* priv = webView->priv; 1753 return priv->webWindowFeatures; 1597 1754 } 1598 1755 -
trunk/WebKit/gtk/webkit/webkitwebview.h
r38695 r38834 66 66 /* 67 67 * default handler/virtual methods 68 * DISCUSS: create_web_view needs a request and should we make this a signal with default handler? this would69 * require someone doing a g_signal_stop_emission_by_name70 * WebUIDelegate has nothing for create_frame, WebPolicyDelegate as well...71 68 */ 72 WebKitWebView * (* create_web_view) (WebKitWebView* web_view); 69 WebKitWebView * (* create_web_view) (WebKitWebView *web_view, 70 WebKitWebFrame *web_frame); 71 72 gboolean (* web_view_ready) (WebKitWebView* web_view); 73 73 74 74 /* … … 253 253 webkit_web_view_get_inspector (WebKitWebView *web_view); 254 254 255 WEBKIT_API void 256 webkit_web_view_set_window_features (WebKitWebView *web_view, 257 WebKitWebWindowFeatures *window_features); 258 259 WEBKIT_API WebKitWebWindowFeatures* 260 webkit_web_view_get_window_features (WebKitWebView *web_view); 261 255 262 WEBKIT_API gboolean 256 263 webkit_web_view_get_transparent (WebKitWebView *web_view);
Note: See TracChangeset
for help on using the changeset viewer.