Title: [101135] trunk/Source/WebKit/efl
- Revision
- 101135
- Author
- [email protected]
- Date
- 2011-11-24 05:35:10 -0800 (Thu, 24 Nov 2011)
Log Message
[EFL] Add implementation considering ewk_tiled_backing_store's visible status.
https://bugs.webkit.org/show_bug.cgi?id=71791
Patch by KwangHyuk Kim <[email protected]> on 2011-11-24
Reviewed by Gustavo Noronha Silva.
In order to prevent rendering and pre-rendering while backing store is hidden,
its visibility is checked and pre-rendering is handled whenever backing store is shown or hidden.
* ewk/ewk_tiled_backing_store.cpp:
(_ewk_tiled_backing_store_item_process_idler_start):
(_ewk_tiled_backing_store_item_fill):
(_ewk_tiled_backing_store_smart_show):
(_ewk_tiled_backing_store_smart_hide):
(ewk_tiled_backing_store_add):
Modified Paths
Diff
Modified: trunk/Source/WebKit/efl/ChangeLog (101134 => 101135)
--- trunk/Source/WebKit/efl/ChangeLog 2011-11-24 13:27:57 UTC (rev 101134)
+++ trunk/Source/WebKit/efl/ChangeLog 2011-11-24 13:35:10 UTC (rev 101135)
@@ -1,3 +1,20 @@
+2011-11-24 KwangHyuk Kim <[email protected]>
+
+ [EFL] Add implementation considering ewk_tiled_backing_store's visible status.
+ https://bugs.webkit.org/show_bug.cgi?id=71791
+
+ Reviewed by Gustavo Noronha Silva.
+
+ In order to prevent rendering and pre-rendering while backing store is hidden,
+ its visibility is checked and pre-rendering is handled whenever backing store is shown or hidden.
+
+ * ewk/ewk_tiled_backing_store.cpp:
+ (_ewk_tiled_backing_store_item_process_idler_start):
+ (_ewk_tiled_backing_store_item_fill):
+ (_ewk_tiled_backing_store_smart_show):
+ (_ewk_tiled_backing_store_smart_hide):
+ (ewk_tiled_backing_store_add):
+
2011-11-22 Pavel Feldman <[email protected]>
Web Inspector: remove Inspector::bringToFront from the protocol.
Modified: trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp (101134 => 101135)
--- trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp 2011-11-24 13:27:57 UTC (rev 101134)
+++ trunk/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp 2011-11-24 13:35:10 UTC (rev 101135)
@@ -379,7 +379,7 @@
static inline void _ewk_tiled_backing_store_item_process_idler_start(Ewk_Tiled_Backing_Store_Data* priv)
{
- if (priv->render.idler)
+ if (priv->render.idler || !evas_object_visible_get(priv->self))
return;
priv->render.idler = ecore_idler_add(
_ewk_tiled_backing_store_item_process_idler_cb, priv);
@@ -410,6 +410,9 @@
static inline Eina_Bool _ewk_tiled_backing_store_item_fill(Ewk_Tiled_Backing_Store_Data* priv, Ewk_Tiled_Backing_Store_Item* item, unsigned long column, unsigned long row)
{
+ if (!evas_object_visible_get(priv->self))
+ return false;
+
unsigned long currentColumn = priv->model.base.column + column;
unsigned long currentRow = priv->model.base.row + row;
double lastUsed = ecore_loop_time_get();
@@ -797,6 +800,18 @@
_ewk_tiled_backing_store_changed(priv);
}
+static void _ewk_tiled_backing_store_smart_show(Evas_Object* ewkBackingStore)
+{
+ ewk_tiled_backing_store_enable_render(ewkBackingStore);
+ _parent_sc.show(ewkBackingStore);
+}
+
+static void _ewk_tiled_backing_store_smart_hide(Evas_Object* ewkBackingStore)
+{
+ ewk_tiled_backing_store_disable_render(ewkBackingStore);
+ _parent_sc.hide(ewkBackingStore);
+}
+
static void _ewk_tiled_backing_store_recalc_renderers(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord width, Evas_Coord height, Evas_Coord tileWidth, Evas_Coord tileHeight)
{
long columns, rows, oldRows, oldCols;
@@ -1382,6 +1397,8 @@
sc.del = _ewk_tiled_backing_store_smart_del;
sc.resize = _ewk_tiled_backing_store_smart_resize;
sc.move = _ewk_tiled_backing_store_smart_move;
+ sc.show = _ewk_tiled_backing_store_smart_show;
+ sc.hide = _ewk_tiled_backing_store_smart_hide;
sc.calculate = _ewk_tiled_backing_store_smart_calculate;
sc.member_add = _ewk_tiled_backing_store_smart_member_add;
sc.member_del = _ewk_tiled_backing_store_smart_member_del;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes