Diff
Modified: trunk/Source/WebKit2/ChangeLog (171741 => 171742)
--- trunk/Source/WebKit2/ChangeLog 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/ChangeLog 2014-07-29 12:42:53 UTC (rev 171742)
@@ -1,3 +1,78 @@
+2014-07-29 Adrian Perez de Castro <ape...@igalia.com>
+
+ [GTK] Remove WebKitWebViewGroup from WebKit2 GTK+ API
+ https://bugs.webkit.org/show_bug.cgi?id=133729
+
+ Reviewed by Carlos Garcia Campos.
+
+ Removes WebKitWebViewGroup, effectively reverting the changes
+ introduced by r149117. The motivation for WebKitWebViewGroup
+ was using the user style sheet injection API, which has been
+ moved into WebKitUserContentManager, rendering it unneeded.
+
+ * PlatformGTK.cmake: Remove WebKitWebViewGroup source files
+ from the build.
+ * UIProcess/API/C/gtk/WKView.cpp:
+ (WKViewCreate): Accomodate for changes in the signature of
+ webkitWebViewBaseCreate().
+ * UIProcess/API/gtk/WebKitSettings.cpp: Update API documentation.
+ * UIProcess/API/gtk/WebKitWebContext.cpp: Remove the default web
+ view group from WebKitWebContext.
+ (webkitWebContextCreatePageForWebView): Allow passing a
+ WebPreferences object at construction.
+ (webkitWebContextGetDefaultWebViewGroup): Deleted.
+ * UIProcess/API/gtk/WebKitWebContextPrivate.h: Ditto.
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkitWebViewUpdateSettings): Use WebPageProxy::setPreferences()
+ directly. Handle the case when webkit_web_view_set_settings()
+ is called on construction by doing an early-return.
+ (webkitWebViewConstructed): Call webkitWebViewUpdateSettings()
+ after creating the internal WebPageProxy object.
+ (webkitWebViewSetProperty): Removed "group" property, added
+ "settings" property.
+ (webkitWebViewGetProperty): Ditto.
+ (webkitWebViewDispose): Do not disconnect signal handler for
+ the (now unexistant) WebKitWebViewGroup.
+ (webkit_web_view_class_init): Removed "group" property, added
+ "settings" property.
+ (webkitWebViewHandleAuthenticationChallenge): Access the
+ WebKitWebSettings directly.
+ (webkit_web_view_new_with_related_view): Make new views share
+ settings with their related view.
+ (webkit_web_view_new_with_settings): Added.
+ (webkit_web_view_set_settings): Access the settings directly in
+ the WebKitWebView.
+ (webkit_web_view_get_settings): Ditto.
+ (webkit_web_view_set_zoom_level): Ditto.
+ (webkit_web_view_get_zoom_level): Ditto.
+ (webkitWebViewSettingsChanged): Deleted.
+ (webkitWebViewDisconnectSettingsChangedSignalHandler): Deleted.
+ (webkit_web_view_new_with_group): Deleted.
+ (webkit_web_view_get_group): Deleted.
+ * UIProcess/API/gtk/WebKitWebView.h: Removed API methods related
+ to WebKitWebViewGroup.
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (webkitWebViewBaseCreate): Allow passing a WebPreferences object
+ for constructing the WebPageProxy.
+ (webkitWebViewBaseUpdatePreferences): Instead of going through
+ the page group, use WebPageProxy::preferences() directly.
+ (webkitWebViewBaseCreateWebPage): Allow passing a WebPreferences
+ object for constructing the WebPageProxy.
+ * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Update the
+ prototypes of the internal functions.
+ * UIProcess/API/gtk/WebKitWebViewGroup.cpp: Removed.
+ * UIProcess/API/gtk/WebKitWebViewGroup.h: Removed.
+ * UIProcess/API/gtk/WebKitWebViewGroupPrivate.h: Removed.
+ * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Change public API
+ bits in the documentation.
+ * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
+ * UIProcess/API/gtk/docs/webkit2gtk.types: Ditto.
+ * UIProcess/API/gtk/webkit2.h: Removed WebKitWebViewGroup.h header.
+ * UIProcess/gtk/WebInspectorProxyGtk.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ Accomodate for changes in the signature of
+ webkitWebViewBaseCreate().
+
2014-07-29 Carlos Garcia Campos <cgar...@igalia.com>
Implement webkit_web_view_load_string() in WebKit2
Modified: trunk/Source/WebKit2/PlatformGTK.cmake (171741 => 171742)
--- trunk/Source/WebKit2/PlatformGTK.cmake 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/PlatformGTK.cmake 2014-07-29 12:42:53 UTC (rev 171742)
@@ -234,9 +234,6 @@
UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp
UIProcess/API/gtk/WebKitWebViewBaseAccessible.h
UIProcess/API/gtk/WebKitWebViewBasePrivate.h
- UIProcess/API/gtk/WebKitWebViewGroup.cpp
- UIProcess/API/gtk/WebKitWebViewGroup.h
- UIProcess/API/gtk/WebKitWebViewGroupPrivate.h
UIProcess/API/gtk/WebKitWebViewPrivate.h
UIProcess/API/gtk/WebKitWindowProperties.cpp
UIProcess/API/gtk/WebKitWindowProperties.h
@@ -366,7 +363,6 @@
${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebResource.h
${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebView.h
${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebViewBase.h
- ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebViewGroup.h
${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWindowProperties.h
${WEBKIT2_DIR}/UIProcess/API/gtk/webkit2.h
)
Modified: trunk/Source/WebKit2/UIProcess/API/C/gtk/WKView.cpp (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/C/gtk/WKView.cpp 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/C/gtk/WKView.cpp 2014-07-29 12:42:53 UTC (rev 171742)
@@ -37,7 +37,7 @@
WKViewRef WKViewCreate(WKContextRef contextRef, WKPageGroupRef pageGroupRef)
{
- return toAPI(webkitWebViewBaseCreate(toImpl(contextRef), toImpl(pageGroupRef), nullptr, nullptr));
+ return toAPI(webkitWebViewBaseCreate(toImpl(contextRef), nullptr, toImpl(pageGroupRef), nullptr, nullptr));
}
WKPageRef WKViewGetPage(WKViewRef viewRef)
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp 2014-07-29 12:42:53 UTC (rev 171742)
@@ -34,6 +34,8 @@
#include "ExperimentalFeatures.h"
#include "WebKitPrivate.h"
#include "WebKitSettingsPrivate.h"
+#include "WebPageProxy.h"
+#include "WebPreferences.h"
#include <WebCore/UserAgentGtk.h>
#include <glib/gi18n-lib.h>
#include <wtf/text/CString.h>
@@ -70,13 +72,12 @@
/**
* SECTION:WebKitSettings
- * @short_description: Control the behaviour of #WebKitWebView<!-- -->s
- * @see_also: #WebKitWebViewGroup, #WebKitWebView
+ * @short_description: Control the behaviour of a #WebKitWebView
*
- * #WebKitSettings can be applied to a #WebKitWebViewGroup to control text charset,
+ * #WebKitSettings can be applied to a #WebKitWebView to control text charset,
* color, font sizes, printing mode, script support, loading of images and various
- * other things on the #WebKitWebView<!-- -->s of the group.
- * After creation, a #WebKitSettings object contains default settings.
+ * other things on a #WebKitWebView. After creation, a #WebKitSettings object
+ * contains default settings.
*
* <informalexample><programlisting>
* /<!-- -->* Disable _javascript_. *<!-- -->/
@@ -1223,7 +1224,7 @@
* webkit_settings_new:
*
* Creates a new #WebKitSettings instance with default values. It must
- * be manually attached to a #WebKitWebViewGroup.
+ * be manually attached to a #WebKitWebView.
* See also webkit_settings_new_with_settings().
*
* Returns: a new #WebKitSettings instance.
@@ -1240,7 +1241,7 @@
* %NULL-terminated
*
* Creates a new #WebKitSettings instance with the given settings. It must
- * be manually attached to a #WebKitWebViewGroup.
+ * be manually attached to a #WebKitWebView.
*
* Returns: a new #WebKitSettings instance.
*/
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp 2014-07-29 12:42:53 UTC (rev 171742)
@@ -37,12 +37,13 @@
#include "WebKitPrivate.h"
#include "WebKitRequestManagerClient.h"
#include "WebKitSecurityManagerPrivate.h"
+#include "WebKitSettingsPrivate.h"
#include "WebKitTextChecker.h"
#include "WebKitURISchemeRequestPrivate.h"
#include "WebKitUserContentManagerPrivate.h"
#include "WebKitWebContextPrivate.h"
#include "WebKitWebViewBasePrivate.h"
-#include "WebKitWebViewGroupPrivate.h"
+#include "WebKitWebViewPrivate.h"
#include "WebResourceCacheManagerProxy.h"
#include <WebCore/FileSystem.h>
#include <WebCore/IconDatabase.h>
@@ -156,7 +157,6 @@
WebKitTLSErrorsPolicy tlsErrorsPolicy;
HashMap<uint64_t, WebKitWebView*> webViews;
- GRefPtr<WebKitWebViewGroup> defaultWebViewGroup;
CString webExtensionsDirectory;
GRefPtr<GVariant> webExtensionsInitializationUserData;
@@ -1051,19 +1051,16 @@
context->priv->uriSchemeRequests.remove(customProtocolID);
}
-void webkitWebContextCreatePageForWebView(WebKitWebContext* context, WebKitWebView* webView, WebKitWebViewGroup* webViewGroup, WebKitUserContentManager* userContentManager, WebKitWebView* relatedView)
+void webkitWebContextCreatePageForWebView(WebKitWebContext* context, WebKitWebView* webView, WebKitUserContentManager* userContentManager, WebKitWebView* relatedView)
{
WebKitWebViewBase* webViewBase = WEBKIT_WEB_VIEW_BASE(webView);
- WebPageGroup* pageGroup = webViewGroup ? webkitWebViewGroupGetPageGroup(webViewGroup) : 0;
WebPageProxy* relatedPage = relatedView ? webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(relatedView)) : nullptr;
+ WebPreferences* preferences = webkitSettingsGetPreferences(webkit_web_view_get_settings(webView));
WebUserContentControllerProxy* userContentControllerProxy = userContentManager ? webkitUserContentManagerGetUserContentControllerProxy(userContentManager) : nullptr;
- webkitWebViewBaseCreateWebPage(webViewBase, context->priv->context.get(), pageGroup, userContentControllerProxy, relatedPage);
+ webkitWebViewBaseCreateWebPage(webViewBase, context->priv->context.get(), preferences, nullptr, userContentControllerProxy, relatedPage);
WebPageProxy* page = webkitWebViewBaseGetPage(webViewBase);
context->priv->webViews.set(page->pageID(), webView);
-
- if (!pageGroup && !context->priv->defaultWebViewGroup)
- context->priv->defaultWebViewGroup = adoptGRef(webkitWebViewGroupCreate(&page->pageGroup()));
}
void webkitWebContextWebViewDestroyed(WebKitWebContext* context, WebKitWebView* webView)
@@ -1076,8 +1073,3 @@
{
return page ? context->priv->webViews.get(page->pageID()) : 0;
}
-
-WebKitWebViewGroup* webkitWebContextGetDefaultWebViewGroup(WebKitWebContext* context)
-{
- return context->priv->defaultWebViewGroup.get();
-}
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h 2014-07-29 12:42:53 UTC (rev 171742)
@@ -31,7 +31,6 @@
#include "WebKitPrivate.h"
#include "WebKitUserContentManager.h"
#include "WebKitWebContext.h"
-#include "WebKitWebViewGroup.h"
#include "WebSoupCustomProtocolRequestManager.h"
WebKit::WebContext* webkitWebContextGetContext(WebKitWebContext*);
@@ -43,10 +42,9 @@
void webkitWebContextStartLoadingCustomProtocol(WebKitWebContext*, uint64_t customProtocolID, API::URLRequest*);
void webkitWebContextStopLoadingCustomProtocol(WebKitWebContext*, uint64_t customProtocolID);
void webkitWebContextDidFinishLoadingCustomProtocol(WebKitWebContext*, uint64_t customProtocolID);
-void webkitWebContextCreatePageForWebView(WebKitWebContext*, WebKitWebView*, WebKitWebViewGroup*, WebKitUserContentManager*, WebKitWebView*);
+void webkitWebContextCreatePageForWebView(WebKitWebContext*, WebKitWebView*, WebKitUserContentManager*, WebKitWebView*);
void webkitWebContextWebViewDestroyed(WebKitWebContext*, WebKitWebView*);
WebKitWebView* webkitWebContextGetWebViewForPage(WebKitWebContext*, WebKit::WebPageProxy*);
-WebKitWebViewGroup* webkitWebContextGetDefaultWebViewGroup(WebKitWebContext*);
GVariant* webkitWebContextInitializeWebExtensions(WebKitWebContext*);
#endif // WebKitWebContextPrivate_h
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2014-07-29 12:42:53 UTC (rev 171742)
@@ -48,6 +48,7 @@
#include "WebKitPrivate.h"
#include "WebKitResponsePolicyDecision.h"
#include "WebKitScriptDialogPrivate.h"
+#include "WebKitSettingsPrivate.h"
#include "WebKitUIClient.h"
#include "WebKitURIRequestPrivate.h"
#include "WebKitURIResponsePrivate.h"
@@ -55,7 +56,6 @@
#include "WebKitWebInspectorPrivate.h"
#include "WebKitWebResourcePrivate.h"
#include "WebKitWebViewBasePrivate.h"
-#include "WebKitWebViewGroupPrivate.h"
#include "WebKitWebViewPrivate.h"
#include "WebKitWindowPropertiesPrivate.h"
#include <_javascript_Core/APICast.h>
@@ -132,7 +132,7 @@
PROP_WEB_CONTEXT,
PROP_RELATED_VIEW,
- PROP_GROUP,
+ PROP_SETTINGS,
PROP_USER_CONTENT_MANAGER,
PROP_TITLE,
PROP_ESTIMATED_LOAD_PROGRESS,
@@ -170,8 +170,6 @@
GRefPtr<WebKitBackForwardList> backForwardList;
GRefPtr<WebKitSettings> settings;
- unsigned long settingsChangedHandlerID;
- GRefPtr<WebKitWebViewGroup> group;
GRefPtr<WebKitUserContentManager> userContentManager;
GRefPtr<WebKitWindowProperties> windowProperties;
@@ -376,11 +374,15 @@
static void webkitWebViewUpdateSettings(WebKitWebView* webView)
{
- // We keep a ref of the current settings to disconnect the signals when settings change in the group.
- webView->priv->settings = webkit_web_view_get_settings(webView);
+ // The "settings" property is set on construction, and in that
+ // case webkit_web_view_set_settings() will be called *before* the
+ // WebPageProxy has been created so we should do an early return.
+ WebPageProxy* page = getPage(webView);
+ if (!page)
+ return;
WebKitSettings* settings = webView->priv->settings.get();
- WebPageProxy* page = getPage(webView);
+ page->setPreferences(*webkitSettingsGetPreferences(settings));
page->setCanRunModal(webkit_settings_get_allow_modal_dialogs(settings));
page->setCustomUserAgent(String::fromUTF8(webkit_settings_get_user_agent(settings)));
@@ -399,20 +401,6 @@
g_signal_handlers_disconnect_by_func(settings, reinterpret_cast<gpointer>(userAgentChanged), webView);
}
-static void webkitWebViewSettingsChanged(WebKitWebViewGroup*, GParamSpec*, WebKitWebView* webView)
-{
- webkitWebViewDisconnectSettingsSignalHandlers(webView);
- webkitWebViewUpdateSettings(webView);
-}
-
-static void webkitWebViewDisconnectSettingsChangedSignalHandler(WebKitWebView* webView)
-{
- WebKitWebViewPrivate* priv = webView->priv;
- if (priv->settingsChangedHandlerID)
- g_signal_handler_disconnect(webkit_web_view_get_group(webView), priv->settingsChangedHandlerID);
- priv->settingsChangedHandlerID = 0;
-}
-
static void webkitWebViewDisconnectMainResourceResponseChangedSignalHandler(WebKitWebView* webView)
{
WebKitWebViewPrivate* priv = webView->priv;
@@ -503,10 +491,13 @@
WebKitWebView* webView = WEBKIT_WEB_VIEW(object);
WebKitWebViewPrivate* priv = webView->priv;
- webkitWebContextCreatePageForWebView(priv->context, webView, priv->group.get(), priv->userContentManager.get(), priv->relatedView);
+ if (!priv->settings)
+ priv->settings = adoptGRef(webkit_settings_new());
+ webkitWebContextCreatePageForWebView(priv->context, webView, priv->userContentManager.get(), priv->relatedView);
// The related view is only valid during the construction.
priv->relatedView = nullptr;
+ webkitWebViewUpdateSettings(webView);
webkitWebViewBaseSetDownloadRequestHandler(WEBKIT_WEB_VIEW_BASE(webView), webkitWebViewHandleDownloadRequest);
attachLoaderClientToView(webView);
@@ -518,10 +509,6 @@
priv->backForwardList = adoptGRef(webkitBackForwardListCreate(&getPage(webView)->backForwardList()));
priv->windowProperties = adoptGRef(webkitWindowPropertiesCreate());
-
- webkitWebViewUpdateSettings(webView);
- priv->settingsChangedHandlerID =
- g_signal_connect(webkit_web_view_get_group(webView), "notify::settings", G_CALLBACK(webkitWebViewSettingsChanged), webView);
}
static void webkitWebViewSetProperty(GObject* object, guint propId, const GValue* value, GParamSpec* paramSpec)
@@ -539,9 +526,9 @@
webView->priv->relatedView = relatedView ? WEBKIT_WEB_VIEW(relatedView) : nullptr;
break;
}
- case PROP_GROUP: {
- gpointer group = g_value_get_object(value);
- webView->priv->group = group ? WEBKIT_WEB_VIEW_GROUP(group) : 0;
+ case PROP_SETTINGS: {
+ if (gpointer settings = g_value_get_object(value))
+ webkit_web_view_set_settings(webView, WEBKIT_SETTINGS(settings));
break;
}
case PROP_USER_CONTENT_MANAGER: {
@@ -565,8 +552,8 @@
case PROP_WEB_CONTEXT:
g_value_set_object(value, webView->priv->context);
break;
- case PROP_GROUP:
- g_value_set_object(value, webkit_web_view_get_group(webView));
+ case PROP_SETTINGS:
+ g_value_set_object(value, webkit_web_view_get_settings(webView));
break;
case PROP_USER_CONTENT_MANAGER:
g_value_set_object(value, webkit_web_view_get_user_content_manager(webView));
@@ -599,7 +586,6 @@
WebKitWebView* webView = WEBKIT_WEB_VIEW(object);
webkitWebViewCancelFaviconRequest(webView);
webkitWebViewDisconnectMainResourceResponseChangedSignalHandler(webView);
- webkitWebViewDisconnectSettingsChangedSignalHandler(webView);
webkitWebViewDisconnectSettingsSignalHandlers(webView);
webkitWebViewDisconnectFaviconDatabaseSignalHandlers(webView);
@@ -666,19 +652,21 @@
static_cast<GParamFlags>(WEBKIT_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)));
/**
- * WebKitWebView:group:
+ * WebKitWebView:settings:
*
- * The #WebKitWebViewGroup of the view.
+ * The #WebKitSettings of the view.
+ *
+ * Since: 2.6
*/
g_object_class_install_property(
gObjectClass,
- PROP_GROUP,
+ PROP_SETTINGS,
g_param_spec_object(
- "group",
- _("WebView Group"),
- _("The WebKitWebViewGroup of the view"),
- WEBKIT_TYPE_WEB_VIEW_GROUP,
- static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
+ "settings",
+ _("WebView settings"),
+ _("The WebKitSettings of the view"),
+ WEBKIT_TYPE_SETTINGS,
+ static_cast<GParamFlags>(WEBKIT_PARAM_WRITABLE | G_PARAM_CONSTRUCT)));
/**
* WebKitWebView:user-content-manager:
@@ -1897,7 +1885,7 @@
void webkitWebViewHandleAuthenticationChallenge(WebKitWebView* webView, AuthenticationChallengeProxy* authenticationChallenge)
{
- gboolean privateBrowsingEnabled = webkit_settings_get_enable_private_browsing(webkit_web_view_get_settings(webView));
+ gboolean privateBrowsingEnabled = webkit_settings_get_enable_private_browsing(webView->priv->settings.get());
webView->priv->authenticationRequest = adoptGRef(webkitAuthenticationRequestCreate(authenticationChallenge, privateBrowsingEnabled));
gboolean returnValue;
g_signal_emit(webView, signals[AUTHENTICATE], 0, webView->priv->authenticationRequest.get(), &returnValue);
@@ -1911,9 +1899,11 @@
/**
* webkit_web_view_new:
*
- * Creates a new #WebKitWebView with the default #WebKitWebContext and the
- * default #WebKitWebViewGroup.
- * See also webkit_web_view_new_with_context() and webkit_web_view_new_with_group().
+ * Creates a new #WebKitWebView with the default #WebKitWebContext and
+ * no #WebKitUserContentManager associated with it.
+ * See also webkit_web_view_new_with_context(),
+ * webkit_web_view_new_with_user_content_manager(), and
+ * webkit_web_view_new_with_settings().
*
* Returns: The newly created #WebKitWebView widget
*/
@@ -1926,9 +1916,10 @@
* webkit_web_view_new_with_context:
* @context: the #WebKitWebContext to be used by the #WebKitWebView
*
- * Creates a new #WebKitWebView with the given #WebKitWebContext and the
- * default #WebKitWebViewGroup.
- * See also webkit_web_view_new_with_group().
+ * Creates a new #WebKitWebView with the given #WebKitWebContext and
+ * no #WebKitUserContentManager associated with it.
+ * See also webkit_web_view_new_with_user_content_manager() and
+ * webkit_web_view_new_with_settings().
*
* Returns: The newly created #WebKitWebView widget
*/
@@ -1951,7 +1942,8 @@
* You can also use this method to implement other process models based on %WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES,
* like for example, sharing the same web process for all the views in the same security domain.
*
- * The newly created #WebKitWebView will also have the same #WebKitUserContentManager as @web_view.
+ * The newly created #WebKitWebView will also have the same #WebKitUserContentManager
+ * and #WebKitSettings as @web_view.
*
* Returns: (transfer full): The newly created #WebKitWebView widget
*
@@ -1963,25 +1955,27 @@
return GTK_WIDGET(g_object_new(WEBKIT_TYPE_WEB_VIEW,
"user-content-manager", webView->priv->userContentManager.get(),
+ "settings", webView->priv->settings.get(),
"related-view", webView,
nullptr));
}
/**
- * webkit_web_view_new_with_group:
- * @group: a #WebKitWebViewGroup
+ * webkit_web_view_new_with_settings:
+ * @settings: a #WebKitSettings
*
- * Creates a new #WebKitWebView with the given #WebKitWebViewGroup.
- * The view will be part of @group and it will be affected by the
- * group properties like the settings.
+ * Creates a new #WebKitWebView with the given #WebKitSettings.
+ * See also webkit_web_view_new_with_context(), and
+ * webkit_web_view_new_with_user_content_manager().
*
* Returns: The newly created #WebKitWebView widget
+ *
+ * Since: 2.6
*/
-GtkWidget* webkit_web_view_new_with_group(WebKitWebViewGroup* group)
+GtkWidget* webkit_web_view_new_with_settings(WebKitSettings* settings)
{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW_GROUP(group), 0);
-
- return GTK_WIDGET(g_object_new(WEBKIT_TYPE_WEB_VIEW, "group", group, NULL));
+ g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), nullptr);
+ return GTK_WIDGET(g_object_new(WEBKIT_TYPE_WEB_VIEW, "settings", settings, nullptr));
}
/**
@@ -2019,24 +2013,6 @@
}
/**
- * webkit_web_view_get_group:
- * @web_view: a #WebKitWebView
- *
- * Gets the group @web_view belongs to.
- *
- * Returns: (transfer none): the #WebKitWebViewGroup to which the view belongs
- */
-WebKitWebViewGroup* webkit_web_view_get_group(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
-
- if (webView->priv->group)
- return webView->priv->group.get();
-
- return webkitWebContextGetDefaultWebViewGroup(webView->priv->context);
-}
-
-/**
* webkit_web_view_get_user_content_manager:
* @web_view: a #WebKitWebView
*
@@ -2530,16 +2506,30 @@
* @web_view: a #WebKitWebView
* @settings: a #WebKitSettings
*
- * Sets the #WebKitSettings to be applied to @web_view.
- * This is a convenient method to set new settings to the
- * #WebKitWebViewGroup @web_view belongs to.
- * New settings are applied immediately on all #WebKitWebView<!-- -->s
- * in the @web_view group.
- * See also webkit_web_view_group_set_settings().
+ * Sets the #WebKitSettings to be applied to @web_view. The
+ * existing #WebKitSettings of @web_view will be replaced by
+ * @settings. New settings are applied immediately on @web_view.
+ * The same #WebKitSettings object can be shared
+ * by multiple #WebKitWebView<!-- -->s.
*/
void webkit_web_view_set_settings(WebKitWebView* webView, WebKitSettings* settings)
{
- webkit_web_view_group_set_settings(webkit_web_view_get_group(webView), settings);
+ g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
+ g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
+
+ if (webView->priv->settings == settings)
+ return;
+
+ // The "settings" property is set on construction, and in that
+ // case webkit_web_view_set_settings() will be called *before*
+ // any settings have been assigned. In that case there are no
+ // signal handlers to disconnect.
+ if (webView->priv->settings)
+ webkitWebViewDisconnectSettingsSignalHandlers(webView);
+
+ webView->priv->settings = settings;
+ webkitWebViewUpdateSettings(webView);
+ g_object_notify(G_OBJECT(webView), "settings");
}
/**
@@ -2547,19 +2537,25 @@
* @web_view: a #WebKitWebView
*
* Gets the #WebKitSettings currently applied to @web_view.
- * This is a convenient method to get the settings of the
- * #WebKitWebViewGroup @web_view belongs to.
- * #WebKitSettings objects are shared by all the #WebKitWebView<!-- -->s
- * in the same #WebKitWebViewGroup, so modifying
+ * If no other #WebKitSettings have been explicitly applied to
+ * @web_view with webkit_web_view_set_settings(), the default
+ * #WebKitSettings will be returned. This method always returns
+ * a valid #WebKitSettings object.
+ * To modify any of the @web_view settings, you can either create
+ * a new #WebKitSettings object with webkit_settings_new(), setting
+ * the desired preferences, and then replace the existing @web_view
+ * settings with webkit_web_view_set_settings() or get the existing
+ * @web_view settings and update it directly. #WebKitSettings objects
+ * can be shared by multiple #WebKitWebView<!-- -->s, so modifying
* the settings of a #WebKitWebView would affect other
- * #WebKitWebView<!-- -->s of the same group.
- * See also webkit_web_view_group_get_settings().
+ * #WebKitWebView<!-- -->s using the same #WebKitSettings.
*
* Returns: (transfer none): the #WebKitSettings attached to @web_view
*/
WebKitSettings* webkit_web_view_get_settings(WebKitWebView* webView)
{
- return webkit_web_view_group_get_settings(webkit_web_view_get_group(webView));
+ g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), nullptr);
+ return webView->priv->settings.get();
}
/**
@@ -2594,7 +2590,7 @@
return;
WebPageProxy* page = getPage(webView);
- if (webkit_settings_get_zoom_text_only(webkit_web_view_get_settings(webView)))
+ if (webkit_settings_get_zoom_text_only(webView->priv->settings.get()))
page->setTextZoomFactor(zoomLevel);
else
page->setPageZoomFactor(zoomLevel);
@@ -2615,7 +2611,7 @@
g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 1);
WebPageProxy* page = getPage(webView);
- gboolean zoomTextOnly = webkit_settings_get_zoom_text_only(webkit_web_view_get_settings(webView));
+ gboolean zoomTextOnly = webkit_settings_get_zoom_text_only(webView->priv->settings.get());
return zoomTextOnly ? page->textZoomFactor() : page->pageZoomFactor();
}
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h 2014-07-29 12:42:53 UTC (rev 171742)
@@ -49,7 +49,6 @@
#include <webkit2/WebKitWebInspector.h>
#include <webkit2/WebKitWebResource.h>
#include <webkit2/WebKitWebViewBase.h>
-#include <webkit2/WebKitWebViewGroup.h>
#include <webkit2/WebKitWindowProperties.h>
G_BEGIN_DECLS
@@ -256,10 +255,10 @@
webkit_web_view_new_with_context (WebKitWebContext *context);
WEBKIT_API GtkWidget *
-webkit_web_view_new_with_related_view (WebKitWebView *web_view);
+webkit_web_view_new_with_settings (WebKitSettings *settings);
WEBKIT_API GtkWidget *
-webkit_web_view_new_with_group (WebKitWebViewGroup *group);
+webkit_web_view_new_with_related_view (WebKitWebView *web_view);
WEBKIT_API GtkWidget *
webkit_web_view_new_with_user_content_manager (WebKitUserContentManager *user_content_manager);
@@ -267,9 +266,6 @@
WEBKIT_API WebKitWebContext *
webkit_web_view_get_context (WebKitWebView *web_view);
-WEBKIT_API WebKitWebViewGroup *
-webkit_web_view_get_group (WebKitWebView *web_view);
-
WEBKIT_API void
webkit_web_view_load_uri (WebKitWebView *web_view,
const gchar *uri);
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2014-07-29 12:42:53 UTC (rev 171742)
@@ -946,10 +946,10 @@
containerClass->forall = webkitWebViewBaseContainerForall;
}
-WebKitWebViewBase* webkitWebViewBaseCreate(WebContext* context, WebPageGroup* pageGroup, WebUserContentControllerProxy* userContentController, WebPageProxy* relatedPage)
+WebKitWebViewBase* webkitWebViewBaseCreate(WebContext* context, WebPreferences* preferences, WebPageGroup* pageGroup, WebUserContentControllerProxy* userContentController, WebPageProxy* relatedPage)
{
WebKitWebViewBase* webkitWebViewBase = WEBKIT_WEB_VIEW_BASE(g_object_new(WEBKIT_TYPE_WEB_VIEW_BASE, NULL));
- webkitWebViewBaseCreateWebPage(webkitWebViewBase, context, pageGroup, userContentController, relatedPage);
+ webkitWebViewBaseCreateWebPage(webkitWebViewBase, context, preferences, pageGroup, userContentController, relatedPage);
return webkitWebViewBase;
}
@@ -972,7 +972,7 @@
return;
#endif
- priv->pageProxy->pageGroup().preferences().setAcceleratedCompositingEnabled(false);
+ priv->pageProxy->preferences().setAcceleratedCompositingEnabled(false);
}
#if HAVE(GTK_SCALE_FACTOR)
@@ -982,11 +982,12 @@
}
#endif // HAVE(GTK_SCALE_FACTOR)
-void webkitWebViewBaseCreateWebPage(WebKitWebViewBase* webkitWebViewBase, WebContext* context, WebPageGroup* pageGroup, WebUserContentControllerProxy* userContentController, WebPageProxy* relatedPage)
+void webkitWebViewBaseCreateWebPage(WebKitWebViewBase* webkitWebViewBase, WebContext* context, WebPreferences* preferences, WebPageGroup* pageGroup, WebUserContentControllerProxy* userContentController, WebPageProxy* relatedPage)
{
WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv;
WebPageConfiguration webPageConfiguration;
+ webPageConfiguration.preferences = preferences;
webPageConfiguration.pageGroup = pageGroup;
webPageConfiguration.relatedPage = relatedPage;
webPageConfiguration.userContentController = userContentController;
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h 2014-07-29 12:42:53 UTC (rev 171742)
@@ -34,10 +34,10 @@
#include "WebKitWebViewBase.h"
#include "WebPageProxy.h"
-WebKitWebViewBase* webkitWebViewBaseCreate(WebKit::WebContext*, WebKit::WebPageGroup*, WebKit::WebUserContentControllerProxy*, WebKit::WebPageProxy*);
+WebKitWebViewBase* webkitWebViewBaseCreate(WebKit::WebContext*, WebKit::WebPreferences*, WebKit::WebPageGroup*, WebKit::WebUserContentControllerProxy*, WebKit::WebPageProxy*);
GtkIMContext* webkitWebViewBaseGetIMContext(WebKitWebViewBase*);
WebKit::WebPageProxy* webkitWebViewBaseGetPage(WebKitWebViewBase*);
-void webkitWebViewBaseCreateWebPage(WebKitWebViewBase*, WebKit::WebContext*, WebKit::WebPageGroup*, WebKit::WebUserContentControllerProxy*, WebKit::WebPageProxy*);
+void webkitWebViewBaseCreateWebPage(WebKitWebViewBase*, WebKit::WebContext*, WebKit::WebPreferences*, WebKit::WebPageGroup*, WebKit::WebUserContentControllerProxy*, WebKit::WebPageProxy*);
void webkitWebViewBaseSetTooltipText(WebKitWebViewBase*, const char*);
void webkitWebViewBaseSetTooltipArea(WebKitWebViewBase*, const WebCore::IntRect&);
void webkitWebViewBaseForwardNextKeyEvent(WebKitWebViewBase*);
Deleted: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroup.cpp (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroup.cpp 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroup.cpp 2014-07-29 12:42:53 UTC (rev 171742)
@@ -1,238 +0,0 @@
-/*
- * Copyright (C) 2013 Igalia S.L.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-#include "WebKitWebViewGroup.h"
-
-#include "APIArray.h"
-#include "APIString.h"
-#include "WebKitPrivate.h"
-#include "WebKitSettingsPrivate.h"
-#include "WebKitWebViewGroupPrivate.h"
-#include <glib/gi18n-lib.h>
-#include <wtf/gobject/GRefPtr.h>
-#include <wtf/text/CString.h>
-
-using namespace WebKit;
-
-/**
- * SECTION: WebKitWebViewGroup
- * @Short_description: Group of web views
- * @Title: WebKitWebViewGroup
- * @See_also: #WebKitWebView, #WebKitSettings
- *
- * A WebKitWebViewGroup represents a group of #WebKitWebView<!-- -->s that
- * share things like settings. There's a default WebKitWebViewGroup where
- * all #WebKitWebView<!-- -->s of the same #WebKitWebContext are added by default.
- * To create a #WebKitWebView in a different WebKitWebViewGroup you can use
- * webkit_web_view_new_with_group().
- *
- * WebKitWebViewGroups are identified by a unique name given when the group is
- * created with webkit_web_view_group_new().
- * WebKitWebViewGroups have a #WebKitSettings to control the settings of all
- * #WebKitWebView<!-- -->s of the group. You can get the settings with
- * webkit_web_view_group_get_settings() to handle the settings, or you can set
- * your own #WebKitSettings with webkit_web_view_group_set_settings(). When
- * the #WebKitSettings of a WebKitWebViewGroup changes, the signal notify::settings
- * is emitted on the group.
- */
-
-enum {
- PROP_0,
-
- PROP_SETTINGS
-};
-
-struct _WebKitWebViewGroupPrivate {
- RefPtr<WebPageGroup> pageGroup;
- CString name;
- GRefPtr<WebKitSettings> settings;
-};
-
-WEBKIT_DEFINE_TYPE(WebKitWebViewGroup, webkit_web_view_group, G_TYPE_OBJECT)
-
-static inline WebCore::UserContentInjectedFrames toWebCoreUserContentInjectedFrames(WebKitInjectedContentFrames kitFrames)
-{
- switch (kitFrames) {
- case WEBKIT_INJECTED_CONTENT_FRAMES_ALL:
- return WebCore::InjectInAllFrames;
- case WEBKIT_INJECTED_CONTENT_FRAMES_TOP_ONLY:
- return WebCore::InjectInTopFrameOnly;
- default:
- ASSERT_NOT_REACHED();
- return WebCore::InjectInAllFrames;
- }
-}
-
-static void webkitWebViewGroupSetProperty(GObject* object, guint propId, const GValue* value, GParamSpec* paramSpec)
-{
- WebKitWebViewGroup* group = WEBKIT_WEB_VIEW_GROUP(object);
-
- switch (propId) {
- case PROP_SETTINGS:
- webkit_web_view_group_set_settings(group, WEBKIT_SETTINGS(g_value_get_object(value)));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
- }
-}
-
-static void webkitWebViewGroupGetProperty(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
-{
- WebKitWebViewGroup* group = WEBKIT_WEB_VIEW_GROUP(object);
-
- switch (propId) {
- case PROP_SETTINGS:
- g_value_set_object(value, webkit_web_view_group_get_settings(group));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
- }
-}
-
-static void webkitWebViewGroupConstructed(GObject* object)
-{
- G_OBJECT_CLASS(webkit_web_view_group_parent_class)->constructed(object);
-
- WebKitWebViewGroupPrivate* priv = WEBKIT_WEB_VIEW_GROUP(object)->priv;
- priv->settings = adoptGRef(webkit_settings_new());
-}
-
-static void webkit_web_view_group_class_init(WebKitWebViewGroupClass* hitTestResultClass)
-{
- GObjectClass* objectClass = G_OBJECT_CLASS(hitTestResultClass);
- objectClass->set_property = webkitWebViewGroupSetProperty;
- objectClass->get_property = webkitWebViewGroupGetProperty;
- objectClass->constructed = webkitWebViewGroupConstructed;
-
- /**
- * WebKitWebViewGroup:settings:
- *
- * The #WebKitSettings of the web view group.
- */
- g_object_class_install_property(
- objectClass,
- PROP_SETTINGS,
- g_param_spec_object(
- "settings",
- _("Settings"),
- _("The settings of the web view group"),
- WEBKIT_TYPE_SETTINGS,
- WEBKIT_PARAM_READWRITE));
-}
-
-static void webkitWebViewGroupAttachSettingsToPageGroup(WebKitWebViewGroup* group)
-{
- group->priv->pageGroup->setPreferences(webkitSettingsGetPreferences(group->priv->settings.get()));
-}
-
-WebKitWebViewGroup* webkitWebViewGroupCreate(WebPageGroup* pageGroup)
-{
- WebKitWebViewGroup* group = WEBKIT_WEB_VIEW_GROUP(g_object_new(WEBKIT_TYPE_WEB_VIEW_GROUP, NULL));
- group->priv->pageGroup = pageGroup;
- webkitWebViewGroupAttachSettingsToPageGroup(group);
- return group;
-}
-
-WebPageGroup* webkitWebViewGroupGetPageGroup(WebKitWebViewGroup* group)
-{
- return group->priv->pageGroup.get();
-}
-
-/**
- * webkit_web_view_group_new:
- * @name: (allow-none): the name of the group
- *
- * Creates a new #WebKitWebViewGroup with the given @name.
- * If @name is %NULL a unique identifier name will be created
- * automatically.
- * The newly created #WebKitWebViewGroup doesn't contain any
- * #WebKitWebView, web views are added to the new group when created
- * with webkit_web_view_new_with_group() passing the group.
- *
- * Returns: (transfer full): a new #WebKitWebViewGroup
- */
-WebKitWebViewGroup* webkit_web_view_group_new(const char* name)
-{
- WebKitWebViewGroup* group = WEBKIT_WEB_VIEW_GROUP(g_object_new(WEBKIT_TYPE_WEB_VIEW_GROUP, NULL));
- group->priv->pageGroup = WebPageGroup::create(name ? String::fromUTF8(name) : String());
- webkitWebViewGroupAttachSettingsToPageGroup(group);
- return group;
-}
-
-/**
- * webkit_web_view_group_get_name:
- * @group: a #WebKitWebViewGroup
- *
- * Gets the name that uniquely identifies the #WebKitWebViewGroup.
- *
- * Returns: the name of @group
- */
-const char* webkit_web_view_group_get_name(WebKitWebViewGroup* group)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW_GROUP(group), 0);
-
- WebKitWebViewGroupPrivate* priv = group->priv;
- if (priv->name.isNull())
- priv->name = priv->pageGroup->identifier().utf8();
-
- return priv->name.data();
-}
-
-/**
- * webkit_web_view_group_get_settings:
- * @group: a #WebKitWebViewGroup
- *
- * Gets the #WebKitSettings of the #WebKitWebViewGroup.
- *
- * Returns: (transfer none): the settings of @group
- */
-WebKitSettings* webkit_web_view_group_get_settings(WebKitWebViewGroup* group)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW_GROUP(group), 0);
-
- return group->priv->settings.get();
-}
-
-/**
- * webkit_web_view_group_set_settings:
- * @group: a #WebKitWebViewGroup
- * @settings: a #WebKitSettings
- *
- * Sets a new #WebKitSettings for the #WebKitWebViewGroup. The settings will
- * affect to all the #WebKitWebView<!-- -->s of the group.
- * #WebKitWebViewGroup<!-- -->s always have a #WebKitSettings so if you just want to
- * modify a setting you can use webkit_web_view_group_get_settings() and modify the
- * returned #WebKitSettings instead.
- * Setting the same #WebKitSettings multiple times doesn't have any effect.
- * You can monitor the settings of a #WebKitWebViewGroup by connecting to the
- * notify::settings signal of @group.
- */
-void webkit_web_view_group_set_settings(WebKitWebViewGroup* group, WebKitSettings* settings)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW_GROUP(group));
- g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
-
- if (group->priv->settings == settings)
- return;
-
- group->priv->settings = settings;
- webkitWebViewGroupAttachSettingsToPageGroup(group);
- g_object_notify(G_OBJECT(group), "settings");
-}
Deleted: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroup.h (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroup.h 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroup.h 2014-07-29 12:42:53 UTC (rev 171742)
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2013 Igalia S.L.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#if !defined(__WEBKIT2_H_INSIDE__) && !defined(WEBKIT2_COMPILATION)
-#error "Only <webkit2/webkit2.h> can be included directly."
-#endif
-
-#ifndef WebKitWebViewGroup_h
-#define WebKitWebViewGroup_h
-
-#include <glib-object.h>
-#include <webkit2/WebKitDefines.h>
-#include <webkit2/WebKitSettings.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_VIEW_GROUP (webkit_web_view_group_get_type())
-#define WEBKIT_WEB_VIEW_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_VIEW_GROUP, WebKitWebViewGroup))
-#define WEBKIT_IS_WEB_VIEW_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_VIEW_GROUP))
-#define WEBKIT_WEB_VIEW_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_VIEW_GROUP, WebKitWebViewGroupClass))
-#define WEBKIT_IS_WEB_VIEW_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_VIEW_GROUP))
-#define WEBKIT_WEB_VIEW_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_VIEW_GROUP, WebKitWebViewGroupClass))
-
-typedef struct _WebKitWebViewGroup WebKitWebViewGroup;
-typedef struct _WebKitWebViewGroupClass WebKitWebViewGroupClass;
-typedef struct _WebKitWebViewGroupPrivate WebKitWebViewGroupPrivate;
-
-struct _WebKitWebViewGroup {
- GObject parent;
-
- WebKitWebViewGroupPrivate *priv;
-};
-
-struct _WebKitWebViewGroupClass {
- GObjectClass parent_class;
-
- void (*_webkit_reserved0) (void);
- void (*_webkit_reserved1) (void);
- void (*_webkit_reserved2) (void);
- void (*_webkit_reserved3) (void);
-};
-
-/**
- * WebKitInjectedContentFrames:
- * @WEBKIT_INJECTED_CONTENT_FRAMES_ALL: Content will be injected into all frames.
- * @WEBKIT_INJECTED_CONTENT_FRAMES_TOP_ONLY: Content will only be injected into the main frame.
- *
- * Enum values used for determining into which frames content is injected.
- */
-typedef enum {
- WEBKIT_INJECTED_CONTENT_FRAMES_ALL,
- WEBKIT_INJECTED_CONTENT_FRAMES_TOP_ONLY,
-} WebKitInjectedContentFrames;
-
-WEBKIT_API GType
-webkit_web_view_group_get_type (void);
-
-WEBKIT_API WebKitWebViewGroup *
-webkit_web_view_group_new (const gchar *name);
-
-WEBKIT_API const gchar *
-webkit_web_view_group_get_name (WebKitWebViewGroup *group);
-
-WEBKIT_API WebKitSettings *
-webkit_web_view_group_get_settings (WebKitWebViewGroup *group);
-
-WEBKIT_API void
-webkit_web_view_group_set_settings (WebKitWebViewGroup *group,
- WebKitSettings *settings);
-
-G_END_DECLS
-
-#endif
Deleted: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroupPrivate.h (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroupPrivate.h 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewGroupPrivate.h 2014-07-29 12:42:53 UTC (rev 171742)
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2013 Igalia S.L.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef WebKitWebViewGroupPrivate_h
-#define WebKitWebViewGroupPrivate_h
-
-#include "WebKitWebViewGroup.h"
-#include "WebPageGroup.h"
-
-WebKitWebViewGroup* webkitWebViewGroupCreate(WebKit::WebPageGroup*);
-WebKit::WebPageGroup* webkitWebViewGroupGetPageGroup(WebKitWebViewGroup*);
-
-#endif // WebKitWebViewGroupPrivate_h
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-docs.sgml (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-docs.sgml 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-docs.sgml 2014-07-29 12:42:53 UTC (rev 171742)
@@ -43,7 +43,6 @@
<xi:include href=""
<xi:include href=""
<xi:include href=""
- <xi:include href=""
<xi:include href=""
</chapter>
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt 2014-07-29 12:42:53 UTC (rev 171742)
@@ -134,10 +134,9 @@
webkit_web_view_new
webkit_web_view_new_with_context
webkit_web_view_new_with_related_view
-webkit_web_view_new_with_group
+webkit_web_view_new_with_settings
webkit_web_view_new_with_user_content_manager
webkit_web_view_get_context
-webkit_web_view_get_group
webkit_web_view_get_user_content_manager
webkit_web_view_load_uri
webkit_web_view_load_html
@@ -1060,29 +1059,6 @@
</SECTION>
<SECTION>
-<FILE>WebKitWebViewGroup</FILE>
-WebKitWebViewGroup
-WebKitInjectedContentFrames
-webkit_web_view_group_new
-webkit_web_view_group_get_name
-webkit_web_view_group_get_settings
-webkit_web_view_group_set_settings
-
-<SUBSECTION Standard>
-WebKitWebViewGroupClass
-WEBKIT_TYPE_WEB_VIEW_GROUP
-WEBKIT_WEB_VIEW_GROUP
-WEBKIT_IS_WEB_VIEW_GROUP
-WEBKIT_WEB_VIEW_GROUP_CLASS
-WEBKIT_IS_WEB_VIEW_GROUP_CLASS
-WEBKIT_WEB_VIEW_GROUP_GET_CLASS
-
-<SUBSECTION Private>
-WebKitWebViewGroupPrivate
-webkit_web_view_group_get_type
-</SECTION>
-
-<SECTION>
<FILE>WebKitWebExtension</FILE>
WebKitWebExtension
WebKitWebExtensionInitializeFunction
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk.types (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk.types 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk.types 2014-07-29 12:42:53 UTC (rev 171742)
@@ -21,7 +21,6 @@
webkit_uri_scheme_request_get_type
webkit_context_menu_get_type
webkit_context_menu_item_get_type
-webkit_web_view_group_get_type
webkit_web_extension_get_type
webkit_web_page_get_type
webkit_authentication_request_get_type
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/webkit2.h (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/API/gtk/webkit2.h 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/webkit2.h 2014-07-29 12:42:53 UTC (rev 171742)
@@ -69,7 +69,6 @@
#include <webkit2/WebKitWebResource.h>
#include <webkit2/WebKitWebView.h>
#include <webkit2/WebKitWebViewBase.h>
-#include <webkit2/WebKitWebViewGroup.h>
#include <webkit2/WebKitWindowProperties.h>
#undef __WEBKIT2_H_INSIDE__
Modified: trunk/Source/WebKit2/UIProcess/gtk/WebInspectorProxyGtk.cpp (171741 => 171742)
--- trunk/Source/WebKit2/UIProcess/gtk/WebInspectorProxyGtk.cpp 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Source/WebKit2/UIProcess/gtk/WebInspectorProxyGtk.cpp 2014-07-29 12:42:53 UTC (rev 171742)
@@ -62,7 +62,7 @@
{
ASSERT(m_page);
ASSERT(!m_inspectorView);
- m_inspectorView = GTK_WIDGET(webkitWebViewBaseCreate(&page()->process().context(), inspectorPageGroup(), nullptr, m_page));
+ m_inspectorView = GTK_WIDGET(webkitWebViewBaseCreate(&page()->process().context(), nullptr, inspectorPageGroup(), nullptr, m_page));
g_object_add_weak_pointer(G_OBJECT(m_inspectorView), reinterpret_cast<void**>(&m_inspectorView));
return webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(m_inspectorView));
}
Modified: trunk/Tools/ChangeLog (171741 => 171742)
--- trunk/Tools/ChangeLog 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Tools/ChangeLog 2014-07-29 12:42:53 UTC (rev 171742)
@@ -1,3 +1,23 @@
+2014-07-29 Adrian Perez de Castro <ape...@igalia.com>
+
+ [GTK] Remove WebKitWebViewGroup from WebKit2 GTK+ API
+ https://bugs.webkit.org/show_bug.cgi?id=133729
+
+ Reviewed by Carlos Garcia Campos.
+
+ Removes WebKitWebViewGroup, effectively reverting the changes
+ introduced by r149117. The motivation for WebKitWebViewGroup
+ was using the user style sheet injection API, which has been
+ moved into WebKitUserContentManager, rendering it unneeded.
+
+ * TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Remove tests
+ for WebKitWebViewGroup.
+ * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
+ (testWebViewSettings):
+ Restore the assertions that check that settings objects are
+ released. Add test for webkit_web_view_new_with_settings().
+ * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp: Removed.
+
2014-07-29 Carlos Garcia Campos <cgar...@igalia.com>
Implement webkit_web_view_load_string() in WebKit2
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt (171741 => 171742)
--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt 2014-07-29 12:42:53 UTC (rev 171742)
@@ -109,7 +109,6 @@
ADD_WK2_TEST(TestWebKitSettings TestWebKitSettings.cpp)
ADD_WK2_TEST(TestWebKitVersion TestWebKitVersion.cpp)
ADD_WK2_TEST(TestWebViewEditor TestWebViewEditor.cpp)
-ADD_WK2_TEST(TestWebKitWebViewGroup TestWebKitWebViewGroup.cpp)
ADD_WK2_TEST(TestWebKitWebContext TestWebKitWebContext.cpp)
ADD_WK2_TEST(TestWebKitWebView TestWebKitWebView.cpp)
ADD_WK2_TEST(TestWebKitUserContentManager TestWebKitUserContentManager.cpp)
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp (171741 => 171742)
--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp 2014-07-29 12:42:53 UTC (rev 171742)
@@ -46,10 +46,12 @@
static void testWebViewSettings(WebViewTest* test, gconstpointer)
{
WebKitSettings* defaultSettings = webkit_web_view_get_settings(test->m_webView);
+ test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(defaultSettings));
g_assert(defaultSettings);
g_assert(webkit_settings_get_enable_javascript(defaultSettings));
GRefPtr<WebKitSettings> newSettings = adoptGRef(webkit_settings_new());
+ test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(newSettings.get()));
g_object_set(G_OBJECT(newSettings.get()), "enable-_javascript_", FALSE, NULL);
webkit_web_view_set_settings(test->m_webView, newSettings.get());
@@ -63,10 +65,15 @@
g_assert(webkit_web_view_get_settings(WEBKIT_WEB_VIEW(webView2.get())) == settings);
GRefPtr<WebKitSettings> newSettings2 = adoptGRef(webkit_settings_new());
+ test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(newSettings2.get()));
webkit_web_view_set_settings(WEBKIT_WEB_VIEW(webView2.get()), newSettings2.get());
settings = webkit_web_view_get_settings(WEBKIT_WEB_VIEW(webView2.get()));
g_assert(settings == newSettings2.get());
g_assert(webkit_settings_get_enable_javascript(settings));
+
+ GRefPtr<GtkWidget> webView3 = webkit_web_view_new_with_settings(newSettings2.get());
+ test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(webView3.get()));
+ g_assert(webkit_web_view_get_settings(WEBKIT_WEB_VIEW(webView3.get())) == newSettings2.get());
}
static void testWebViewZoomLevel(WebViewTest* test, gconstpointer)
Deleted: trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp (171741 => 171742)
--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp 2014-07-29 11:41:21 UTC (rev 171741)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp 2014-07-29 12:42:53 UTC (rev 171742)
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2013 Igalia S.L.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2,1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-
-#include "WebKitTestServer.h"
-#include "WebViewTest.h"
-#include <cstdarg>
-#include <gtk/gtk.h>
-#include <webkit2/webkit2.h>
-#include <wtf/gobject/GRefPtr.h>
-
-static void testWebViewGroupDefault(Test* test, gconstpointer)
-{
- // Default group is shared by all WebViews by default.
- GRefPtr<WebKitWebView> webView1 = WEBKIT_WEB_VIEW(webkit_web_view_new());
- GRefPtr<WebKitWebView> webView2 = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_assert(webkit_web_view_get_group(webView1.get()) == webkit_web_view_get_group(webView2.get()));
-
- // Settings are shared by all web view in the same group.
- g_assert(webkit_web_view_get_settings(webView1.get()) == webkit_web_view_get_settings(webView2.get()));
- g_assert(webkit_web_view_get_settings(webView1.get()) == webkit_web_view_group_get_settings(webkit_web_view_get_group(webView2.get())));
-}
-
-static void testWebViewGroupNewGroup(Test* test, gconstpointer)
-{
- // Passing 0 as group name generates the name automatically.
- GRefPtr<WebKitWebViewGroup> viewGroup1 = adoptGRef(webkit_web_view_group_new(0));
- test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(viewGroup1.get()));
- g_assert(webkit_web_view_group_get_name(viewGroup1.get()));
-
- // New group with a given name.
- GRefPtr<WebKitWebViewGroup> viewGroup2 = adoptGRef(webkit_web_view_group_new("TestGroup2"));
- test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(viewGroup2.get()));
- g_assert_cmpstr(webkit_web_view_group_get_name(viewGroup2.get()), ==, "TestGroup2");
- g_assert_cmpstr(webkit_web_view_group_get_name(viewGroup2.get()), !=, webkit_web_view_group_get_name(viewGroup1.get()));
-
- // Every group has its own settings.
- g_assert(webkit_web_view_group_get_settings(viewGroup1.get()) != webkit_web_view_group_get_settings(viewGroup2.get()));
-}
-
-static void testWebViewNewWithGroup(Test* test, gconstpointer)
-{
- GRefPtr<WebKitWebViewGroup> viewGroup1 = adoptGRef(webkit_web_view_group_new("TestGroup1"));
- test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(viewGroup1.get()));
- GRefPtr<WebKitWebView> webView1 = WEBKIT_WEB_VIEW(webkit_web_view_new_with_group(viewGroup1.get()));
- g_assert(webkit_web_view_get_group(webView1.get()) == viewGroup1.get());
-
- GRefPtr<WebKitWebView> webView2 = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_assert(webkit_web_view_get_group(webView2.get()) != viewGroup1.get());
-
- // Settings should be different for views in different groups.
- g_assert(webkit_web_view_get_settings(webView1.get()) != webkit_web_view_get_settings(webView2.get()));
-}
-
-static void testWebViewGroupSettings(Test* test, gconstpointer)
-{
- GRefPtr<WebKitWebViewGroup> viewGroup1 = adoptGRef(webkit_web_view_group_new("TestGroup1"));
- test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(viewGroup1.get()));
- GRefPtr<WebKitSettings> newSettings = adoptGRef(webkit_settings_new_with_settings("enable-_javascript_", FALSE, nullptr));
- test->assertObjectIsDeletedWhenTestFinishes(G_OBJECT(newSettings.get()));
- webkit_web_view_group_set_settings(viewGroup1.get(), newSettings.get());
- g_assert(webkit_web_view_group_get_settings(viewGroup1.get()) == newSettings.get());
-
- GRefPtr<WebKitWebView> webView1 = WEBKIT_WEB_VIEW(webkit_web_view_new_with_group(viewGroup1.get()));
- GRefPtr<WebKitWebView> webView2 = WEBKIT_WEB_VIEW(webkit_web_view_new());
- WebKitSettings* webView1Settings = webkit_web_view_get_settings(webView1.get());
- WebKitSettings* webView2Settings = webkit_web_view_get_settings(webView2.get());
- g_assert(webView1Settings != webView2Settings);
- g_assert(webkit_settings_get_enable_javascript(webView1Settings) != webkit_settings_get_enable_javascript(webView2Settings));
-
- webkit_web_view_set_settings(webView1.get(), webView2Settings);
- g_assert(webkit_web_view_get_settings(webView1.get()) == webView2Settings);
- g_assert(webkit_web_view_group_get_settings(webkit_web_view_get_group(webView1.get())) == webView2Settings);
-}
-
-void beforeAll()
-{
- Test::add("WebKitWebViewGroup", "default-group", testWebViewGroupDefault);
- Test::add("WebKitWebViewGroup", "new-group", testWebViewGroupNewGroup);
- Test::add("WebKitWebView", "new-with-group", testWebViewNewWithGroup);
- Test::add("WebKitWebViewGroup", "settings", testWebViewGroupSettings);
-}
-
-void afterAll()
-{
-}