Title: [98424] trunk/Source/WebKit/efl
Revision
98424
Author
[email protected]
Date
2011-10-25 19:11:33 -0700 (Tue, 25 Oct 2011)

Log Message

Fix occurrence of unpainted tiles while scrolling and zooming.
https://bugs.webkit.org/show_bug.cgi?id=70711

Patch by KwangHyuk Kim <[email protected]> on 2011-10-25
Reviewed by Adam Barth.

Cast one of operatees to float type when ewk_tiled_backing_store calculate tiles list on viewport.
For the proper calculation to generate a float number, at least one of operatees must be a float type.
But, currently both two operatees to calculate the number of tiles on viewport routine aren't float type,
so it generates smaller result than expected result when it is using ceil API.
As a result, it can lose a line of tiles which should be displayed in viewport area while scrolling and zooming.

* ewk/ewk_tiled_backing_store.cpp:
(_ewk_tiled_backing_store_recalc_renderers):
(ewk_tiled_backing_store_zoom_weak_set):

Modified Paths

Diff

Modified: trunk/Source/WebKit/efl/ChangeLog (98423 => 98424)


--- trunk/Source/WebKit/efl/ChangeLog	2011-10-26 01:59:37 UTC (rev 98423)
+++ trunk/Source/WebKit/efl/ChangeLog	2011-10-26 02:11:33 UTC (rev 98424)
@@ -1,5 +1,22 @@
 2011-10-25  KwangHyuk Kim  <[email protected]>
 
+        Fix occurrence of unpainted tiles while scrolling and zooming.
+        https://bugs.webkit.org/show_bug.cgi?id=70711
+
+        Reviewed by Adam Barth.
+
+        Cast one of operatees to float type when ewk_tiled_backing_store calculate tiles list on viewport.
+        For the proper calculation to generate a float number, at least one of operatees must be a float type.
+        But, currently both two operatees to calculate the number of tiles on viewport routine aren't float type,
+        so it generates smaller result than expected result when it is using ceil API.
+        As a result, it can lose a line of tiles which should be displayed in viewport area while scrolling and zooming.
+
+        * ewk/ewk_tiled_backing_store.cpp:
+        (_ewk_tiled_backing_store_recalc_renderers):
+        (ewk_tiled_backing_store_zoom_weak_set):
+
+2011-10-25  KwangHyuk Kim  <[email protected]>
+
         [EFL] Move assignment of some variables out of loop for ewk_tiled_backing_store.
         https://bugs.webkit.org/show_bug.cgi?id=67588
 

Modified: trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp (98423 => 98424)


--- trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp	2011-10-26 01:59:37 UTC (rev 98423)
+++ trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp	2011-10-26 02:11:33 UTC (rev 98424)
@@ -812,8 +812,8 @@
     long columns, rows, oldRows, oldCols;
     INF("ewkTile%p, new size: %dx%d", priv->self, width, height);
 
-    columns = 1 + static_cast<int>(ceil(static_cast<float>(width / tileWidth)));
-    rows = 1 + static_cast<int>(ceil(static_cast<float>(height / tileHeight)));
+    columns = 1 + static_cast<int>(ceil(width / static_cast<float>(tileWidth)));
+    rows = 1 + static_cast<int>(ceil(height / static_cast<float>(tileHeight)));
 
     INF("ewkTile%p new grid size cols: %ld, rows: %ld, was %ld, %ld",
         priv->self, columns, rows, priv->view.cols, priv->view.rows);
@@ -1596,8 +1596,8 @@
 
     evas_object_resize(priv->contentsClipper, modelWidth, modelHeight);
 
-    int vrows = static_cast<int>(ceil(static_cast<float>(priv->view.height / tileHeight)) + 1);
-    int vcols = static_cast<int>(ceil(static_cast<float>(priv->view.width / tileWidth)) + 1);
+    int vrows = static_cast<int>(ceil(priv->view.height /static_cast<float>(tileHeight)) + 1);
+    int vcols = static_cast<int>(ceil(priv->view.width / static_cast<float>(tileWidth)) + 1);
     Evas_Coord newX = currentX + (priv->view.offset.cur.x - currentX) * scale;
     Evas_Coord newY = currentY + (priv->view.offset.cur.y - currentY) * scale;
     Evas_Coord baseX = newX % tileWidth;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to