Modified: trunk/Tools/ChangeLog (174723 => 174724)
--- trunk/Tools/ChangeLog 2014-10-15 05:05:56 UTC (rev 174723)
+++ trunk/Tools/ChangeLog 2014-10-15 07:33:44 UTC (rev 174724)
@@ -1,3 +1,18 @@
+2014-10-15 Rohit Kumar <kumar.ro...@samsung.com>
+
+ [GTK] Minibrowser : Add keyboard support for zoom in , zoom out and default zoom in GTK Minibrowser
+ https://bugs.webkit.org/show_bug.cgi?id=137060
+
+ Reviewed by Philippe Normand.
+
+ Add keyboard support for zoom in , zoom out and default zoom using 'Ctrl' + '+', 'Ctrl' + '-' and 'Ctrl' + '0' respectively.
+
+ * MiniBrowser/gtk/BrowserWindow.c:
+ (zoomInCallback):
+ (zoomOutCallback):
+ (defaultZoomCallback): Callback for default zoom keyboard support.
+ (browser_window_init):
+
2014-10-14 Simon Fraser <simon.fra...@apple.com>
[Mac] DRT stderr logging after the test completes gets attributed to the next test
Modified: trunk/Tools/MiniBrowser/gtk/BrowserWindow.c (174723 => 174724)
--- trunk/Tools/MiniBrowser/gtk/BrowserWindow.c 2014-10-15 05:05:56 UTC (rev 174723)
+++ trunk/Tools/MiniBrowser/gtk/BrowserWindow.c 2014-10-15 07:33:44 UTC (rev 174724)
@@ -76,6 +76,7 @@
static const char *miniBrowserAboutScheme = "minibrowser-about";
static const gdouble minimumZoomLevel = 0.5;
static const gdouble maximumZoomLevel = 3;
+static const gdouble defaultZoomLevel = 1;
static const gdouble zoomStep = 1.2;
static gint windowCount = 0;
@@ -501,16 +502,25 @@
static void zoomInCallback(BrowserWindow *window)
{
- gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) * zoomStep;
- webkit_web_view_set_zoom_level(window->webView, zoomLevel);
+ if (browserWindowCanZoomIn(window)) {
+ gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) * zoomStep;
+ webkit_web_view_set_zoom_level(window->webView, zoomLevel);
+ }
}
static void zoomOutCallback(BrowserWindow *window)
{
- gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) / zoomStep;
- webkit_web_view_set_zoom_level(window->webView, zoomLevel);
+ if (browserWindowCanZoomOut(window)) {
+ gdouble zoomLevel = webkit_web_view_get_zoom_level(window->webView) / zoomStep;
+ webkit_web_view_set_zoom_level(window->webView, zoomLevel);
+ }
}
+static void defaultZoomCallback(BrowserWindow *window)
+{
+ webkit_web_view_set_zoom_level(window->webView, defaultZoomLevel);
+}
+
static void searchCallback(BrowserWindow *window)
{
browser_search_bar_open(window->searchBar);
@@ -646,6 +656,20 @@
gtk_accel_group_connect(window->accelGroup, GDK_KEY_Home, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE,
g_cclosure_new_swap(G_CALLBACK(loadHomePage), window, NULL));
+ /* Zoom in, zoom out and default zoom*/
+ gtk_accel_group_connect(window->accelGroup, GDK_KEY_equal, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+ g_cclosure_new_swap(G_CALLBACK(zoomInCallback), window, NULL));
+ gtk_accel_group_connect(window->accelGroup, GDK_KEY_KP_Add, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+ g_cclosure_new_swap(G_CALLBACK(zoomInCallback), window, NULL));
+ gtk_accel_group_connect(window->accelGroup, GDK_KEY_minus, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+ g_cclosure_new_swap(G_CALLBACK(zoomOutCallback), window, NULL));
+ gtk_accel_group_connect(window->accelGroup, GDK_KEY_KP_Subtract, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+ g_cclosure_new_swap(G_CALLBACK(zoomOutCallback), window, NULL));
+ gtk_accel_group_connect(window->accelGroup, GDK_KEY_0, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+ g_cclosure_new_swap(G_CALLBACK(defaultZoomCallback), window, NULL));
+ gtk_accel_group_connect(window->accelGroup, GDK_KEY_KP_0, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE,
+ g_cclosure_new_swap(G_CALLBACK(defaultZoomCallback), window, NULL));
+
GtkWidget *toolbar = gtk_toolbar_new();
window->toolbar = toolbar;
gtk_orientable_set_orientation(GTK_ORIENTABLE(toolbar), GTK_ORIENTATION_HORIZONTAL);