Diff
Modified: trunk/Source/WebKit2/ChangeLog (104144 => 104145)
--- trunk/Source/WebKit2/ChangeLog 2012-01-05 12:55:50 UTC (rev 104144)
+++ trunk/Source/WebKit2/ChangeLog 2012-01-05 13:04:35 UTC (rev 104145)
@@ -1,5 +1,27 @@
2012-01-05 Carlos Garcia Campos <cgar...@igalia.com>
+ [GTK] Add methods to get/set the WebView zoom level to WebKit2 GTK+ API
+ https://bugs.webkit.org/show_bug.cgi?id=75248
+
+ Reviewed by Gustavo Noronha Silva.
+
+ It uses the page zoom factor unconditionally for now.
+
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkitWebViewSetProperty):
+ (webkitWebViewGetProperty):
+ (webkit_web_view_class_init): Add WebKitWebView:zoom-level
+ property.
+ (webkit_web_view_set_zoom_level): Set current zoom level.
+ (webkit_web_view_get_zoom_level): Get current zoom level.
+ * UIProcess/API/gtk/WebKitWebView.h:
+ * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
+ * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
+ (testWebViewZoomLevel):
+ (beforeAll):
+
+2012-01-05 Carlos Garcia Campos <cgar...@igalia.com>
+
[GTK] Rename webkit_web_view_load_alternate_html as webkit_web_view_replace_content in WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=75433
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (104144 => 104145)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2012-01-05 12:55:50 UTC (rev 104144)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2012-01-05 13:04:35 UTC (rev 104145)
@@ -67,7 +67,8 @@
PROP_WEB_CONTEXT,
PROP_TITLE,
PROP_ESTIMATED_LOAD_PROGRESS,
- PROP_URI
+ PROP_URI,
+ PROP_ZOOM_LEVEL
};
struct _WebKitWebViewPrivate {
@@ -187,6 +188,9 @@
case PROP_WEB_CONTEXT:
webView->priv->context = WEBKIT_WEB_CONTEXT(g_value_get_object(value));
break;
+ case PROP_ZOOM_LEVEL:
+ webkit_web_view_set_zoom_level(webView, g_value_get_double(value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
}
@@ -209,6 +213,9 @@
case PROP_URI:
g_value_set_string(value, webkit_web_view_get_uri(webView));
break;
+ case PROP_ZOOM_LEVEL:
+ g_value_set_double(value, webkit_web_view_get_zoom_level(webView));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
}
@@ -405,6 +412,20 @@
G_TYPE_POINTER);
/**
+ * WebKitWebView:zoom-level:
+ *
+ * The zoom level of the #WebKitWebView content.
+ * See webkit_web_view_set_zoom_level() for more details.
+ */
+ g_object_class_install_property(gObjectClass,
+ PROP_ZOOM_LEVEL,
+ g_param_spec_double("zoom-level",
+ "Zoom level",
+ "The zoom level of the view content",
+ 0, G_MAXDOUBLE, 1,
+ WEBKIT_PARAM_READWRITE));
+
+ /**
* WebKitWebView::create:
* @web_view: the #WebKitWebView on which the signal is emitted
*
@@ -1147,3 +1168,40 @@
return webView->priv->windowProperties.get();
}
+
+/**
+ * webkit_web_view_set_zoom_level:
+ * @web_view: a #WebKitWebView
+ * @zoom_level: the zoom level
+ *
+ * Set the zoom level of @web_view, i.e. the factor by which the
+ * view contents are scaled with respect to their original size.
+ */
+void webkit_web_view_set_zoom_level(WebKitWebView* webView, gdouble zoomLevel)
+{
+ g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
+
+ WKPageRef wkPage = toAPI(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView)));
+ if (WKPageGetPageZoomFactor(wkPage) == zoomLevel)
+ return;
+
+ WKPageSetPageZoomFactor(wkPage, zoomLevel);
+ g_object_notify(G_OBJECT(webView), "zoom-level");
+}
+
+/**
+ * webkit_web_view_get_zoom_level:
+ * @web_view: a #WebKitWebView
+ *
+ * Get the zoom level of @web_view, i.e. the factor by which the
+ * view contents are scaled with respect to their original size.
+ *
+ * Returns: the current zoom level of @web_view
+ */
+gdouble webkit_web_view_get_zoom_level(WebKitWebView* webView)
+{
+ g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 1);
+
+ WKPageRef wkPage = toAPI(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView)));
+ return WKPageGetPageZoomFactor(wkPage);
+}
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h (104144 => 104145)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h 2012-01-05 12:55:50 UTC (rev 104144)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h 2012-01-05 13:04:35 UTC (rev 104145)
@@ -201,6 +201,12 @@
WEBKIT_API WebKitWindowProperties *
webkit_web_view_get_window_properties (WebKitWebView *web_view);
+WEBKIT_API void
+webkit_web_view_set_zoom_level (WebKitWebView *web_view,
+ gdouble zoom_level);
+WEBKIT_API gdouble
+webkit_web_view_get_zoom_level (WebKitWebView *web_view);
+
G_END_DECLS
#endif
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt (104144 => 104145)
--- trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt 2012-01-05 12:55:50 UTC (rev 104144)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt 2012-01-05 13:04:35 UTC (rev 104145)
@@ -72,6 +72,8 @@
webkit_web_view_set_settings
webkit_web_view_get_settings
webkit_web_view_get_window_properties
+webkit_web_view_set_zoom_level
+webkit_web_view_get_zoom_level
<SUBSECTION Standard>
WebKitWebViewClass
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp (104144 => 104145)
--- trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp 2012-01-05 12:55:50 UTC (rev 104144)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp 2012-01-05 13:04:35 UTC (rev 104145)
@@ -357,6 +357,13 @@
g_assert_cmpint(events[2], ==, UIClientTest::Close);
}
+static void testWebViewZoomLevel(WebViewTest* test, gconstpointer)
+{
+ g_assert_cmpfloat(webkit_web_view_get_zoom_level(test->m_webView), ==, 1);
+ webkit_web_view_set_zoom_level(test->m_webView, 2.5);
+ g_assert_cmpfloat(webkit_web_view_get_zoom_level(test->m_webView), ==, 2.5);
+}
+
void beforeAll()
{
WebViewTest::add("WebKitWebView", "default-context", testWebViewDefaultContext);
@@ -366,6 +373,7 @@
UIClientTest::add("WebKitWebView", "create-ready-close", testWebViewCreateReadyClose);
UIClientTest::add("WebKitWebView", "_javascript_-dialogs", testWebViewJavaScriptDialogs);
UIClientTest::add("WebKitWebView", "window-properties", testWebViewWindowProperties);
+ WebViewTest::add("WebKitWebView", "zoom-level", testWebViewZoomLevel);
}
void afterAll()