[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 16:18:56 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 96fdd32c0246f898d0ce65362de55edf7ceb7b31
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Nov 22 09:27:03 2010 +0000
2010-11-22 João Paulo Rechi Vita <jprvita at profusion.mobi>
Reviewed by Kenneth Rohde Christiansen.
Fix EWebLauncher zoom discretization
https://bugs.webkit.org/show_bug.cgi?id=49810
* EWebLauncher/main.c:
(nearest_zoom_level_get):
(zoom_level_set):
(on_load_finished):
(on_key_down):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 6edd932..4a016c1 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,16 @@
+2010-11-22 João Paulo Rechi Vita <jprvita at profusion.mobi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix EWebLauncher zoom discretization
+ https://bugs.webkit.org/show_bug.cgi?id=49810
+
+ * EWebLauncher/main.c:
+ (nearest_zoom_level_get):
+ (zoom_level_set):
+ (on_load_finished):
+ (on_key_down):
+
2010-11-21 Sam Weinig <sam at webkit.org>
Rubber-stamped by Dan Bernstein.
diff --git a/WebKitTools/EWebLauncher/main.c b/WebKitTools/EWebLauncher/main.c
index 8ba58d8..c9f08d7 100644
--- a/WebKitTools/EWebLauncher/main.c
+++ b/WebKitTools/EWebLauncher/main.c
@@ -60,6 +60,7 @@
#define MAX_ZOOM_LEVEL 13
static int currentZoomLevel = DEFAULT_ZOOM_LEVEL;
+static float currentZoom = 1.0;
// the zoom values are chosen to be like in Mozilla Firefox 3
static int zoomLevels[] = {30, 50, 67, 80, 90,
@@ -183,7 +184,19 @@ print_history(Eina_List *list)
}
}
-static void
+static int
+nearest_zoom_level_get(float factor)
+{
+ int i, intFactor = (int)(factor * 100.0);
+ for (i = 0; zoomLevels[i] <= intFactor; i++) { }
+ printf("factor=%f, intFactor=%d, zoomLevels[%d]=%d, zoomLevels[%d]=%d\n",
+ factor, intFactor, i-1, zoomLevels[i-1], i, zoomLevels[i]);
+ if (intFactor - zoomLevels[i-1] < zoomLevels[i] - intFactor)
+ return i - 1;
+ return i;
+}
+
+static Eina_Bool
zoom_level_set(Evas_Object *webview, int level)
{
float factor = ((float) zoomLevels[level]) / 100.0;
@@ -192,7 +205,7 @@ zoom_level_set(Evas_Object *webview, int level)
evas_object_geometry_get(webview, &ox, &oy, NULL, NULL);
cx = mx - ox;
cy = my - oy;
- ewk_view_zoom_animated_set(webview, factor, 0.5, cx, cy);
+ return ewk_view_zoom_animated_set(webview, factor, 0.5, cx, cy);
}
static void
@@ -284,6 +297,10 @@ on_load_finished(void *user_data, Evas_Object *webview, void *event_info)
else
info("Failed loading page: %d %s \"%s\", url=%s\n",
err->code, err->domain, err->description, err->failing_url);
+
+ currentZoom = ewk_view_zoom_get(webview);
+ currentZoomLevel = nearest_zoom_level_get(currentZoom);
+ info("WebCore Zoom=%f, currentZoomLevel=%d\n", currentZoom, currentZoomLevel);
}
static void
@@ -557,12 +574,12 @@ on_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
info("Command::keyboard navigation toggle\n");*/
} else if (!strcmp(ev->key, "F7")) {
info("Zoom out (F7) was pressed.\n");
- if (currentZoomLevel > MIN_ZOOM_LEVEL)
- zoom_level_set(obj, --currentZoomLevel);
+ if (currentZoomLevel > MIN_ZOOM_LEVEL && zoom_level_set(obj, currentZoomLevel - 1))
+ currentZoomLevel--;
} else if (!strcmp(ev->key, "F8")) {
info("Zoom in (F8) was pressed.\n");
- if (currentZoomLevel < MAX_ZOOM_LEVEL)
- zoom_level_set(obj, ++currentZoomLevel);
+ if (currentZoomLevel < MAX_ZOOM_LEVEL && zoom_level_set(obj, currentZoomLevel + 1))
+ currentZoomLevel++;
} else if (!strcmp(ev->key, "F9")) {
info("Create new window (F9) was pressed.\n");
Eina_Rectangle geometry = {0, 0, 0, 0};
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list