Changeset 149117 in webkit
- Timestamp:
- Apr 25, 2013 9:46:55 AM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 4 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r149107 r149117 1 2013-04-25 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Add WebKitWebViewGroup to WebKit2 GTK+ API 4 https://bugs.webkit.org/show_bug.cgi?id=111265 5 6 Reviewed by Anders Carlsson. 7 8 In the current API the settings are always shared by all web 9 views, because they are always created on the default page 10 group. This makes impossible to have different settings on 11 different web views. Expose the page group in the API, 12 so that users can create web views on a group different than the 13 default one to have their own settings. 14 15 * GNUmakefile.list.am: Add new files to compilation. 16 * UIProcess/API/gtk/WebKitSettings.cpp: 17 (webkitSettingsGetPreferences): Helper private method to get the 18 WebPreferences wrapped by a WebKitSettings object. 19 * UIProcess/API/gtk/WebKitSettingsPrivate.h: 20 * UIProcess/API/gtk/WebKitWebContext.cpp: 21 (_WebKitWebContextPrivate): Add a default WebKitWebViewGroup. 22 (webkitWebContextCreatePageForWebView): Create the WebPageProxy 23 with the WebPageGroup of the given WebKitWebViewGroup. 24 (webkitWebContextGetDefaultWebViewGroup): Helper private method to 25 get the default WebKitWebViewGroup. 26 * UIProcess/API/gtk/WebKitWebContextPrivate.h: 27 * UIProcess/API/gtk/WebKitWebView.cpp: 28 (_WebKitWebViewPrivate): Add a WebKitWebViewGroup in case the view 29 is created with a group. 30 (webkitWebViewUpdateSettings): Keep a reference of the group 31 settings to be able to disconnect the signals when the settings 32 object is replaced in the view group and connect to the signals 33 for the custom settings. 34 (webkitWebViewSettingsChanged): Disconnect the signals for the 35 previous settings and set the new settings. 36 (webkitWebViewDisconnectSettingsChangedSignalHandler): Disconnect 37 notify::settings signal of WebKitWebViewGroup. 38 (webkitWebViewConstructed): Pass the current WebKitWebViewGroup to 39 webkitWebContextCreatePageForWebView(). 40 (webkitWebViewSetProperty): Add setter for group property. 41 (webkitWebViewGetProperty): Add getter for group property. 42 (webkitWebViewDispose): Call 43 webkitWebViewDisconnectSettingsChangedSignalHandler(). 44 (webkit_web_view_class_init): Add WebKitWebView:group property. 45 (webkitWebViewHandleAuthenticationChallenge): Use 46 webkit_web_view_get_settings(). 47 (webkit_web_view_new_with_group): Create a new web view with the 48 given WebKitWebViewGroup. 49 (webkit_web_view_get_group): Return the current WebKitWebViewGroup 50 or the default one if the view was not created with 51 webkit_web_view_new_with_group(). 52 (webkit_web_view_set_settings): Set the settings of the current 53 WebKitWebViewGroup. 54 (webkit_web_view_get_settings): Get the settings of the current 55 WebKitWebViewGroup. 56 (webkit_web_view_set_zoom_level): Use 57 webkit_web_view_get_settings(). 58 (webkit_web_view_get_zoom_level): Ditto. 59 * UIProcess/API/gtk/WebKitWebView.h: 60 * UIProcess/API/gtk/WebKitWebViewGroup.cpp: Added. 61 (_WebKitWebViewGroupPrivate): 62 (webkitWebViewGroupSetProperty): 63 (webkitWebViewGroupGetProperty): 64 (webkitWebViewGroupConstructed): 65 (webkit_web_view_group_class_init): 66 (webkitWebViewGroupAttachSettingsToPageGroup): Set the 67 WebPreferences of the current WebKitSettings to the WebPageGroup. 68 (webkitWebViewGroupCreate): Create a new WebKitWebViewGroup for 69 the given WebPageGroup. 70 (webkitWebViewGroupGetPageGroup): Helper private method to get the 71 WebPageGroup wrapped by the WebKitWebViewGroup. 72 (webkit_web_view_group_new): Create a new WebKitWebViewGroup. 73 (webkit_web_view_group_get_name): Return the name of a 74 WebKitWebViewGroup. 75 (webkit_web_view_group_get_settings): Get the settings of a 76 WebKitWebViewGroup. 77 (webkit_web_view_group_set_settings): Set new settings of a 78 WebKitWebViewGroup. 79 * UIProcess/API/gtk/WebKitWebViewGroup.h: Added. 80 (_WebKitWebViewGroup): 81 (_WebKitWebViewGroupClass): 82 * UIProcess/API/gtk/WebKitWebViewGroupPrivate.h: Added. 83 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add 84 WebKitWebViewGroup section. 85 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols. 86 * UIProcess/API/gtk/docs/webkit2gtk.types: Add 87 webkit_web_view_group_get_type. 88 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to 89 compilation. 90 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 91 (testWebViewSettings): We can't watch settings in the default view 92 group anymore, because they are not released with the web view but 93 with the web context that is freed after the Test destructor. 94 * UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp: Added. 95 (testWebViewGroupDefault): 96 (testWebViewGroupNewGroup): 97 (testWebViewNewWithGroup): 98 (testWebViewGroupSettings): 99 (beforeAll): 100 (afterAll): 101 * UIProcess/API/gtk/webkit2.h: Include WebKitWebViewGroup.h. 102 1 103 2013-04-25 Jer Noble <jer.noble@apple.com> 2 104 -
trunk/Source/WebKit2/GNUmakefile.list.am
r148679 r149117 130 130 $(WebKit2)/UIProcess/API/gtk/WebKitWebView.h \ 131 131 $(WebKit2)/UIProcess/API/gtk/WebKitWebViewBase.h \ 132 $(WebKit2)/UIProcess/API/gtk/WebKitWebViewGroup.h \ 132 133 $(WebKit2)/UIProcess/API/gtk/WebKitWindowProperties.h \ 133 134 $(WebKit2)/UIProcess/API/gtk/webkit2.h … … 776 777 Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp \ 777 778 Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h \ 779 Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroup.h \ 780 Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroup.cpp \ 781 Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroupPrivate.h \ 778 782 Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.cpp \ 779 783 Source/WebKit2/UIProcess/API/gtk/WebKitWindowProperties.h \ -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp
r141040 r149117 34 34 #include "WebKitPrivate.h" 35 35 #include "WebKitSettingsPrivate.h" 36 #include "WebPageGroup.h"37 #include "WebPageProxy.h"38 #include "WebPreferences.h"39 36 #include <WebCore/UserAgentGtk.h> 40 37 #include <glib/gi18n-lib.h> … … 73 70 /** 74 71 * SECTION:WebKitSettings 75 * @short_description: Control the behaviour of a #WebKitWebView 76 * 77 * #WebKitSettings can be applied to a #WebKitWebView to control text charset, 78 * color, font sizes, printing mode, script support, loading of images and various other things. 72 * @short_description: Control the behaviour of #WebKitWebView<!-- -->s 73 * @see_also: #WebKitWebViewGroup, #WebKitWebView 74 * 75 * #WebKitSettings can be applied to a #WebKitWebViewGroup to control text charset, 76 * color, font sizes, printing mode, script support, loading of images and various 77 * other things on the #WebKitWebView<!-- -->s of the group. 79 78 * After creation, a #WebKitSettings object contains default settings. 80 79 * 81 80 * <informalexample><programlisting> 82 * /<!-- -->* Create a new #WebKitSettings and disable JavaScript. *<!-- -->/ 83 * WebKitSettings *settings = webkit_settings_new (); 84 * g_object_set (G_OBJECT (settings), "enable-javascript", FALSE, NULL); 85 * 86 * webkit_web_view_set_settings (WEBKIT_WEB_VIEW (my_webview), settings); 81 * /<!-- -->* Disable JavaScript. *<!-- -->/ 82 * WebKitSettings *settings = webkit_web_view_group_get_settings (my_view_group); 83 * webkit_settings_set_enable_javascript (settings, FALSE); 84 * 87 85 * </programlisting></informalexample> 88 86 */ … … 1076 1074 } 1077 1075 1078 void webkitSettingsAttachSettingsToPage(WebKitSettings* settings, WebPageProxy* page) 1079 { 1080 page->pageGroup()->setPreferences(settings->priv->preferences.get()); 1081 page->setCanRunModal(settings->priv->allowModalDialogs); 1082 page->setCustomUserAgent(String::fromUTF8(settings->priv->userAgent.data())); 1076 WebPreferences* webkitSettingsGetPreferences(WebKitSettings* settings) 1077 { 1078 return settings->priv->preferences.get(); 1083 1079 } 1084 1080 … … 1087 1083 * 1088 1084 * Creates a new #WebKitSettings instance with default values. It must 1089 * be manually attached to a #WebKitWebView .1085 * be manually attached to a #WebKitWebViewGroup. 1090 1086 * See also webkit_settings_new_with_settings(). 1091 1087 * … … 1104 1100 * 1105 1101 * Creates a new #WebKitSettings instance with the given settings. It must 1106 * be manually attached to a #WebKitWebView .1102 * be manually attached to a #WebKitWebViewGroup. 1107 1103 * 1108 1104 * Returns: a new #WebKitSettings instance. -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettingsPrivate.h
r131760 r149117 28 28 29 29 #include "WebKitSettings.h" 30 #include "WebPreferences.h" 30 31 31 void webkitSettingsAttachSettingsToPage(WebKitSettings*, WebKit::WebPageProxy*);32 WebKit::WebPreferences* webkitSettingsGetPreferences(WebKitSettings*); 32 33 33 34 #endif // WebKitSettingsPrivate_h -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp
r148887 r149117 37 37 #include "WebKitWebContextPrivate.h" 38 38 #include "WebKitWebViewBasePrivate.h" 39 #include "WebKitWebViewGroupPrivate.h" 39 40 #include "WebResourceCacheManagerProxy.h" 40 41 #include <WebCore/FileSystem.h> … … 144 145 145 146 HashMap<uint64_t, WebKitWebView*> webViews; 147 GRefPtr<WebKitWebViewGroup> defaultWebViewGroup; 146 148 }; 147 149 … … 875 877 } 876 878 877 void webkitWebContextCreatePageForWebView(WebKitWebContext* context, WebKitWebView* webView )879 void webkitWebContextCreatePageForWebView(WebKitWebContext* context, WebKitWebView* webView, WebKitWebViewGroup* webViewGroup) 878 880 { 879 881 WebKitWebViewBase* webViewBase = WEBKIT_WEB_VIEW_BASE(webView); 880 webkitWebViewBaseCreateWebPage(webViewBase, context->priv->context.get(), 0); 882 WebPageGroup* pageGroup = webViewGroup ? webkitWebViewGroupGetPageGroup(webViewGroup) : 0; 883 webkitWebViewBaseCreateWebPage(webViewBase, context->priv->context.get(), pageGroup); 884 881 885 WebPageProxy* page = webkitWebViewBaseGetPage(webViewBase); 882 886 context->priv->webViews.set(page->pageID(), webView); 887 888 if (!pageGroup && !context->priv->defaultWebViewGroup) 889 context->priv->defaultWebViewGroup = adoptGRef(webkitWebViewGroupCreate(page->pageGroup())); 883 890 } 884 891 … … 893 900 return page ? context->priv->webViews.get(page->pageID()) : 0; 894 901 } 902 903 WebKitWebViewGroup* webkitWebContextGetDefaultWebViewGroup(WebKitWebContext* context) 904 { 905 return context->priv->defaultWebViewGroup.get(); 906 } -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h
r141096 r149117 32 32 #include "WebKitURISchemeRequest.h" 33 33 #include "WebKitWebContext.h" 34 #include "WebKitWebViewGroup.h" 34 35 #include "WebSoupRequestManagerProxy.h" 35 36 … … 43 44 void webkitWebContextDidFailToLoadURIRequest(WebKitWebContext*, uint64_t requestID); 44 45 void webkitWebContextDidFinishURIRequest(WebKitWebContext*, uint64_t requestID); 45 void webkitWebContextCreatePageForWebView(WebKitWebContext*, WebKitWebView* );46 void webkitWebContextCreatePageForWebView(WebKitWebContext*, WebKitWebView*, WebKitWebViewGroup*); 46 47 void webkitWebContextWebViewDestroyed(WebKitWebContext*, WebKitWebView*); 47 48 WebKitWebView* webkitWebContextGetWebViewForPage(WebKitWebContext*, WebKit::WebPageProxy*); 49 WebKitWebViewGroup* webkitWebContextGetDefaultWebViewGroup(WebKitWebContext*); 48 50 49 51 #endif // WebKitWebContextPrivate_h -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
r148966 r149117 48 48 #include "WebKitResponsePolicyDecision.h" 49 49 #include "WebKitScriptDialogPrivate.h" 50 #include "WebKitSettingsPrivate.h"51 50 #include "WebKitUIClient.h" 52 51 #include "WebKitURIRequestPrivate.h" … … 56 55 #include "WebKitWebResourcePrivate.h" 57 56 #include "WebKitWebViewBasePrivate.h" 57 #include "WebKitWebViewGroupPrivate.h" 58 58 #include "WebKitWebViewPrivate.h" 59 59 #include "WebKitWindowPropertiesPrivate.h" … … 127 127 128 128 PROP_WEB_CONTEXT, 129 PROP_GROUP, 129 130 PROP_TITLE, 130 131 PROP_ESTIMATED_LOAD_PROGRESS, … … 164 165 GRefPtr<WebKitBackForwardList> backForwardList; 165 166 GRefPtr<WebKitSettings> settings; 167 unsigned long settingsChangedHandlerID; 168 GRefPtr<WebKitWebViewGroup> group; 166 169 GRefPtr<WebKitWindowProperties> windowProperties; 167 170 … … 364 367 } 365 368 366 static void webkitWebViewSetSettings(WebKitWebView* webView, WebKitSettings* settings) 367 { 368 webView->priv->settings = settings; 369 webkitSettingsAttachSettingsToPage(webView->priv->settings.get(), getPage(webView)); 369 static void webkitWebViewUpdateSettings(WebKitWebView* webView) 370 { 371 // We keep a ref of the current settings to disconnect the signals when settings change in the group. 372 webView->priv->settings = webkit_web_view_get_settings(webView); 373 374 WebKitSettings* settings = webView->priv->settings.get(); 375 WebPageProxy* page = getPage(webView); 376 page->setCanRunModal(webkit_settings_get_allow_modal_dialogs(settings)); 377 page->setCustomUserAgent(String::fromUTF8(webkit_settings_get_user_agent(settings))); 378 370 379 g_signal_connect(settings, "notify::allow-modal-dialogs", G_CALLBACK(allowModalDialogsChanged), webView); 371 380 g_signal_connect(settings, "notify::zoom-text-only", G_CALLBACK(zoomTextOnlyChanged), webView); … … 379 388 g_signal_handlers_disconnect_by_func(settings, reinterpret_cast<gpointer>(zoomTextOnlyChanged), webView); 380 389 g_signal_handlers_disconnect_by_func(settings, reinterpret_cast<gpointer>(userAgentChanged), webView); 390 } 391 392 static void webkitWebViewSettingsChanged(WebKitWebViewGroup* group, GParamSpec*, WebKitWebView* webView) 393 { 394 webkitWebViewDisconnectSettingsSignalHandlers(webView); 395 webkitWebViewUpdateSettings(webView); 396 } 397 398 static void webkitWebViewDisconnectSettingsChangedSignalHandler(WebKitWebView* webView) 399 { 400 WebKitWebViewPrivate* priv = webView->priv; 401 if (priv->settingsChangedHandlerID) 402 g_signal_handler_disconnect(webkit_web_view_get_group(webView), priv->settingsChangedHandlerID); 403 priv->settingsChangedHandlerID = 0; 381 404 } 382 405 … … 463 486 WebKitWebView* webView = WEBKIT_WEB_VIEW(object); 464 487 WebKitWebViewPrivate* priv = webView->priv; 465 webkitWebContextCreatePageForWebView(priv->context, webView );488 webkitWebContextCreatePageForWebView(priv->context, webView, priv->group.get()); 466 489 467 490 webkitWebViewBaseSetDownloadRequestHandler(WEBKIT_WEB_VIEW_BASE(webView), webkitWebViewHandleDownloadRequest); … … 477 500 priv->windowProperties = adoptGRef(webkitWindowPropertiesCreate()); 478 501 479 GRefPtr<WebKitSettings> settings = adoptGRef(webkit_settings_new()); 480 webkitWebViewSetSettings(webView, settings.get()); 502 webkitWebViewUpdateSettings(webView); 503 priv->settingsChangedHandlerID = 504 g_signal_connect(webkit_web_view_get_group(webView), "notify::settings", G_CALLBACK(webkitWebViewSettingsChanged), webView); 481 505 } 482 506 … … 489 513 gpointer webContext = g_value_get_object(value); 490 514 webView->priv->context = webContext ? WEBKIT_WEB_CONTEXT(webContext) : webkit_web_context_get_default(); 515 break; 516 } 517 case PROP_GROUP: { 518 gpointer group = g_value_get_object(value); 519 webView->priv->group = group ? WEBKIT_WEB_VIEW_GROUP(group) : 0; 491 520 break; 492 521 } … … 509 538 case PROP_WEB_CONTEXT: 510 539 g_value_take_object(value, webView->priv->context); 540 break; 541 case PROP_GROUP: 542 g_value_set_object(value, webkit_web_view_get_group(webView)); 511 543 break; 512 544 case PROP_TITLE: … … 541 573 webkitWebViewCancelFaviconRequest(webView); 542 574 webkitWebViewDisconnectMainResourceResponseChangedSignalHandler(webView); 575 webkitWebViewDisconnectSettingsChangedSignalHandler(webView); 543 576 webkitWebViewDisconnectSettingsSignalHandlers(webView); 544 577 webkitWebViewDisconnectFaviconDatabaseSignalHandlers(webView); … … 586 619 WEBKIT_TYPE_WEB_CONTEXT, 587 620 static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY))); 621 /** 622 * WebKitWebView:group: 623 * 624 * The #WebKitWebViewGroup of the view. 625 */ 626 g_object_class_install_property( 627 gObjectClass, 628 PROP_GROUP, 629 g_param_spec_object( 630 "group", 631 _("WebView Group"), 632 _("The WebKitWebViewGroup of the view"), 633 WEBKIT_TYPE_WEB_VIEW_GROUP, 634 static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY))); 588 635 589 636 /** … … 1694 1741 { 1695 1742 CredentialStorageMode credentialStorageMode; 1696 if (webkit_settings_get_enable_private_browsing(web View->priv->settings.get()))1743 if (webkit_settings_get_enable_private_browsing(webkit_web_view_get_settings(webView))) 1697 1744 credentialStorageMode = DisallowPersistentStorage; 1698 1745 else … … 1710 1757 * webkit_web_view_new: 1711 1758 * 1712 * Creates a new #WebKitWebView with the default #WebKitWebContext. 1713 * See also webkit_web_view_new_with_context(). 1759 * Creates a new #WebKitWebView with the default #WebKitWebContext and the 1760 * default #WebKitWebViewGroup. 1761 * See also webkit_web_view_new_with_context() and webkit_web_view_new_with_group(). 1714 1762 * 1715 1763 * Returns: The newly created #WebKitWebView widget … … 1724 1772 * @context: the #WebKitWebContext to be used by the #WebKitWebView 1725 1773 * 1726 * Creates a new #WebKitWebView with the given #WebKitWebContext. 1774 * Creates a new #WebKitWebView with the given #WebKitWebContext and the 1775 * default #WebKitWebViewGroup. 1776 * See also webkit_web_view_new_with_group(). 1727 1777 * 1728 1778 * Returns: The newly created #WebKitWebView widget … … 1736 1786 1737 1787 /** 1788 * webkit_web_view_new_with_group: 1789 * @group: a #WebKitWebViewGroup 1790 * 1791 * Creates a new #WebKitWebView with the given #WebKitWebViewGroup. 1792 * The view will be part of @group and it will be affected by the 1793 * group properties like the settings. 1794 * 1795 * Returns: The newly created #WebKitWebView widget 1796 */ 1797 GtkWidget* webkit_web_view_new_with_group(WebKitWebViewGroup* group) 1798 { 1799 g_return_val_if_fail(WEBKIT_IS_WEB_VIEW_GROUP(group), 0); 1800 1801 return GTK_WIDGET(g_object_new(WEBKIT_TYPE_WEB_VIEW, "group", group, NULL)); 1802 } 1803 1804 /** 1738 1805 * webkit_web_view_get_context: 1739 1806 * @web_view: a #WebKitWebView … … 1748 1815 1749 1816 return webView->priv->context; 1817 } 1818 1819 /** 1820 * webkit_web_view_get_group: 1821 * @web_view: a #WebKitWebView 1822 * 1823 * Gets the group @web_view belongs to. 1824 * 1825 * Returns: (transfer none): the #WebKitWebViewGroup to which the view belongs 1826 */ 1827 WebKitWebViewGroup* webkit_web_view_get_group(WebKitWebView* webView) 1828 { 1829 g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0); 1830 1831 if (webView->priv->group) 1832 return webView->priv->group.get(); 1833 1834 return webkitWebContextGetDefaultWebViewGroup(webView->priv->context); 1750 1835 } 1751 1836 … … 2187 2272 * @settings: a #WebKitSettings 2188 2273 * 2189 * Sets the #WebKitSettings to be applied to @web_view. The 2190 * existing #WebKitSettings of @web_view will be replaced by 2191 * @settings. New settings are applied immediately on @web_view. 2192 * The same #WebKitSettings object can be shared 2193 * by multiple #WebKitWebView<!-- -->s. 2274 * Sets the #WebKitSettings to be applied to @web_view. 2275 * This is a convenient method to set new settings to the 2276 * #WebKitWebViewGroup @web_view belongs to. 2277 * New settings are applied immediately on all #WebKitWebView<!-- -->s 2278 * in the @web_view group. 2279 * See also webkit_web_view_group_set_settings(). 2194 2280 */ 2195 2281 void webkit_web_view_set_settings(WebKitWebView* webView, WebKitSettings* settings) 2196 2282 { 2197 g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView)); 2198 g_return_if_fail(WEBKIT_IS_SETTINGS(settings)); 2199 2200 if (webView->priv->settings == settings) 2201 return; 2202 2203 webkitWebViewDisconnectSettingsSignalHandlers(webView); 2204 webkitWebViewSetSettings(webView, settings); 2283 webkit_web_view_group_set_settings(webkit_web_view_get_group(webView), settings); 2205 2284 } 2206 2285 … … 2210 2289 * 2211 2290 * Gets the #WebKitSettings currently applied to @web_view. 2212 * If no other #WebKitSettings have been explicitly applied to 2213 * @web_view with webkit_web_view_set_settings(), the default 2214 * #WebKitSettings will be returned. This method always returns 2215 * a valid #WebKitSettings object. 2216 * To modify any of the @web_view settings, you can either create 2217 * a new #WebKitSettings object with webkit_settings_new(), setting 2218 * the desired preferences, and then replace the existing @web_view 2219 * settings with webkit_web_view_set_settings() or get the existing 2220 * @web_view settings and update it directly. #WebKitSettings objects 2221 * can be shared by multiple #WebKitWebView<!-- -->s, so modifying 2291 * This is a convenient method to get the settings of the 2292 * #WebKitWebViewGroup @web_view belongs to. 2293 * #WebKitSettings objects are shared by all the #WebKitWebView<!-- -->s 2294 * in the same #WebKitWebViewGroup, so modifying 2222 2295 * the settings of a #WebKitWebView would affect other 2223 * #WebKitWebView<!-- -->s using the same #WebKitSettings. 2296 * #WebKitWebView<!-- -->s of the same group. 2297 * See also webkit_web_view_group_get_settings(). 2224 2298 * 2225 2299 * Returns: (transfer none): the #WebKitSettings attached to @web_view … … 2227 2301 WebKitSettings* webkit_web_view_get_settings(WebKitWebView* webView) 2228 2302 { 2229 g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0); 2230 2231 return webView->priv->settings.get(); 2303 return webkit_web_view_group_get_settings(webkit_web_view_get_group(webView)); 2232 2304 } 2233 2305 … … 2264 2336 2265 2337 WebPageProxy* page = getPage(webView); 2266 if (webkit_settings_get_zoom_text_only(web View->priv->settings.get()))2338 if (webkit_settings_get_zoom_text_only(webkit_web_view_get_settings(webView))) 2267 2339 page->setTextZoomFactor(zoomLevel); 2268 2340 else … … 2285 2357 2286 2358 WebPageProxy* page = getPage(webView); 2287 gboolean zoomTextOnly = webkit_settings_get_zoom_text_only(web View->priv->settings.get());2359 gboolean zoomTextOnly = webkit_settings_get_zoom_text_only(webkit_web_view_get_settings(webView)); 2288 2360 return zoomTextOnly ? page->textZoomFactor() : page->pageZoomFactor(); 2289 2361 } -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h
r148679 r149117 47 47 #include <webkit2/WebKitWebResource.h> 48 48 #include <webkit2/WebKitWebViewBase.h> 49 #include <webkit2/WebKitWebViewGroup.h> 49 50 #include <webkit2/WebKitWindowProperties.h> 50 51 … … 262 263 webkit_web_view_new_with_context (WebKitWebContext *context); 263 264 265 WEBKIT_API GtkWidget * 266 webkit_web_view_new_with_group (WebKitWebViewGroup *group); 267 264 268 WEBKIT_API WebKitWebContext * 265 269 webkit_web_view_get_context (WebKitWebView *web_view); 270 271 WEBKIT_API WebKitWebViewGroup * 272 webkit_web_view_get_group (WebKitWebView *web_view); 266 273 267 274 WEBKIT_API void -
trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-docs.sgml
r139305 r149117 42 42 <xi:include href="xml/WebKitFormSubmissionRequest.xml"/> 43 43 <xi:include href="xml/WebKitSecurityManager.xml"/> 44 <xi:include href="xml/WebKitWebViewGroup.xml"/> 44 45 </chapter> 45 46 -
trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt
r148966 r149117 91 91 webkit_web_view_new 92 92 webkit_web_view_new_with_context 93 webkit_web_view_new_with_group 93 94 webkit_web_view_get_context 95 webkit_web_view_get_group 94 96 webkit_web_view_load_uri 95 97 webkit_web_view_load_html … … 942 944 943 945 <SECTION> 946 <FILE>WebKitWebViewGroup</FILE> 947 WebKitWebViewGroup 948 webkit_web_view_group_new 949 webkit_web_view_group_get_name 950 webkit_web_view_group_get_settings 951 webkit_web_view_group_set_settings 952 953 <SUBSECTION Standard> 954 WebKitWebViewGroupClass 955 WEBKIT_TYPE_WEB_VIEW_GROUP 956 WEBKIT_WEB_VIEW_GROUP 957 WEBKIT_IS_WEB_VIEW_GROUP 958 WEBKIT_WEB_VIEW_GROUP_CLASS 959 WEBKIT_IS_WEB_VIEW_GROUP_CLASS 960 WEBKIT_WEB_VIEW_GROUP_GET_CLASS 961 962 <SUBSECTION Private> 963 WebKitWebViewGroupPrivate 964 webkit_web_view_group_get_type 965 </SECTION> 966 967 <SECTION> 944 968 <FILE>WebKitWebExtension</FILE> 945 969 WebKitWebExtension -
trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk.types
r139305 r149117 22 22 webkit_context_menu_get_type 23 23 webkit_context_menu_item_get_type 24 webkit_web_view_group_get_type 24 25 webkit_web_extension_get_type 25 26 webkit_web_page_get_type -
trunk/Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am
r148279 r149117 21 21 Programs/WebKit2APITests/TestWebKitWebContext \ 22 22 Programs/WebKit2APITests/TestWebKitWebView \ 23 Programs/WebKit2APITests/TestWebKitWebViewGroup \ 23 24 Programs/WebKit2APITests/TestWebViewEditor 24 25 … … 253 254 Programs_WebKit2APITests_TestWebExtensions_LDFLAGS = $(webkit2_tests_ldflags) 254 255 256 Programs_WebKit2APITests_TestWebKitWebViewGroup_SOURCES = \ 257 Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp 258 Programs_WebKit2APITests_TestWebKitWebViewGroup_CPPFLAGS = $(webkit2_tests_cppflags) 259 Programs_WebKit2APITests_TestWebKitWebViewGroup_LDADD = $(webkit2_tests_ldadd) 260 Programs_WebKit2APITests_TestWebKitWebViewGroup_LDFLAGS = $(webkit2_tests_ldflags) 261 255 262 endif # ENABLE_WEBKIT2 -
trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp
r148788 r149117 49 49 { 50 50 WebKitSettings* defaultSettings = webkit_web_view_get_settings(test->m_webView); 51 test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(defaultSettings));52 51 g_assert(defaultSettings); 53 52 g_assert(webkit_settings_get_enable_javascript(defaultSettings)); 54 53 55 54 GRefPtr<WebKitSettings> newSettings = adoptGRef(webkit_settings_new()); 56 test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(newSettings.get()));57 55 g_object_set(G_OBJECT(newSettings.get()), "enable-javascript", FALSE, NULL); 58 56 webkit_web_view_set_settings(test->m_webView, newSettings.get()); … … 68 66 69 67 GRefPtr<WebKitSettings> newSettings2 = adoptGRef(webkit_settings_new()); 70 test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(newSettings2.get()));71 68 webkit_web_view_set_settings(WEBKIT_WEB_VIEW(webView2.get()), newSettings2.get()); 72 69 settings = webkit_web_view_get_settings(WEBKIT_WEB_VIEW(webView2.get())); -
trunk/Source/WebKit2/UIProcess/API/gtk/webkit2.h
r129906 r149117 60 60 #include <webkit2/WebKitWebView.h> 61 61 #include <webkit2/WebKitWebViewBase.h> 62 #include <webkit2/WebKitWebViewGroup.h> 62 63 #include <webkit2/WebKitWindowProperties.h> 63 64
Note: See TracChangeset
for help on using the changeset viewer.