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