Title: [106627] trunk/Source/WebKit/efl
Revision
106627
Author
[email protected]
Date
2012-02-02 21:42:14 -0800 (Thu, 02 Feb 2012)

Log Message

[EFL] Add contentsSize flag into ewk_tiled_backing_store's private data.
https://bugs.webkit.org/show_bug.cgi?id=77586

Patch by KwangHyuk Kim <[email protected]> on 2012-02-02
Reviewed by Andreas Kling.

As both zoom and content size change are identified by model flag,
ewk_tiled_backing_store can not detect the conflict between them.
In order to prevent conflict between zoom and contents size change,
contentsSize flag is newly added.

* ewk/ewk_tiled_backing_store.cpp:
(_Ewk_Tiled_Backing_Store_Item):
(_Ewk_Tiled_Backing_Store_Data):
(_ewk_tiled_backing_store_smart_calculate):
(ewk_tiled_backing_store_contents_resize):

Modified Paths

Diff

Modified: trunk/Source/WebKit/efl/ChangeLog (106626 => 106627)


--- trunk/Source/WebKit/efl/ChangeLog	2012-02-03 05:29:33 UTC (rev 106626)
+++ trunk/Source/WebKit/efl/ChangeLog	2012-02-03 05:42:14 UTC (rev 106627)
@@ -1,3 +1,21 @@
+2012-02-02  KwangHyuk Kim  <[email protected]>
+
+        [EFL] Add contentsSize flag into ewk_tiled_backing_store's private data.
+        https://bugs.webkit.org/show_bug.cgi?id=77586
+
+        Reviewed by Andreas Kling.
+
+        As both zoom and content size change are identified by model flag,
+        ewk_tiled_backing_store can not detect the conflict between them.
+        In order to prevent conflict between zoom and contents size change,
+        contentsSize flag is newly added.
+
+        * ewk/ewk_tiled_backing_store.cpp:
+        (_Ewk_Tiled_Backing_Store_Item):
+        (_Ewk_Tiled_Backing_Store_Data):
+        (_ewk_tiled_backing_store_smart_calculate):
+        (ewk_tiled_backing_store_contents_resize):
+
 2012-02-02  Raphael Kubo da Costa  <[email protected]>
 
         [EFL] Remove check for ENABLE_GTK_PLUGINS_SUPPORT

Modified: trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp (106626 => 106627)


--- trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp	2012-02-03 05:29:33 UTC (rev 106626)
+++ trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp	2012-02-03 05:42:14 UTC (rev 106627)
@@ -106,6 +106,7 @@
         bool size : 1;
         bool model : 1;
         bool offset : 1;
+        bool contentsSize : 1;
     } changed;
 #ifdef DEBUG_MEM_LEAKS
     Ecore_Event_Handler* sig_usr;
@@ -1322,10 +1323,10 @@
 
     ewk_tile_matrix_freeze(priv->model.matrix);
 
-    if (priv->changed.model && !priv->changed.size)
+    if (priv->changed.contentsSize)
         ewk_tile_matrix_invalidate(priv->model.matrix);
 
-    if (!priv->render.suspend && priv->changed.model) {
+    if (!priv->render.suspend && (priv->changed.model || priv->changed.contentsSize)) {
         unsigned long columns, rows;
 
         columns = priv->model.width / priv->view.tile.width + 1;
@@ -1356,7 +1357,7 @@
         priv->changed.size = false;
     }
 
-    if (!priv->render.suspend && priv->changed.model) {
+    if (!priv->render.suspend && (priv->changed.model || priv->changed.contentsSize)) {
         _ewk_tiled_backing_store_fill_renderers(priv);
         ewk_tile_matrix_resize(priv->model.matrix,
                                priv->model.current.columns,
@@ -1371,6 +1372,8 @@
         { 0, 0, priv->model.width, priv->model.height };
         ewk_tile_matrix_update(priv->model.matrix, &rect,
                                priv->view.tile.zoom);
+
+        priv->changed.contentsSize = false;
     }
 
     ewk_tile_matrix_thaw(priv->model.matrix);
@@ -1796,7 +1799,7 @@
 
     priv->model.width = width;
     priv->model.height = height;
-    priv->changed.model = true;
+    priv->changed.contentsSize = true;
 
     DBG("w,h=%d, %d", width, height);
     _ewk_tiled_backing_store_changed(priv);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to