Title: [166768] trunk/Source/WebKit/efl
Revision
166768
Author
[email protected]
Date
2014-04-03 23:26:54 -0700 (Thu, 03 Apr 2014)

Log Message

[EFL] Should flush and render layers after the root layer is changed.
https://bugs.webkit.org/show_bug.cgi?id=131108

Patch by Hyowon Kim <[email protected]> on 2014-04-03
Reviewed by Gyuyoung Kim.

If there is no update event after root layer is changed, old webview can be shown.
Because the syncTimer is not being triggered by root layer change.
We should flush and render layers by starting syncTimer when the root layer is changed.

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::setRootGraphicsLayer): Add m_syncTimer.startOneShot(0);
* WebCoreSupport/AcceleratedCompositingContextEfl.h:
(WebCore::AcceleratedCompositingContext::setRootGraphicsLayer): Move implementation from header to source.

Modified Paths

Diff

Modified: trunk/Source/WebKit/efl/ChangeLog (166767 => 166768)


--- trunk/Source/WebKit/efl/ChangeLog	2014-04-04 05:23:52 UTC (rev 166767)
+++ trunk/Source/WebKit/efl/ChangeLog	2014-04-04 06:26:54 UTC (rev 166768)
@@ -1,3 +1,19 @@
+2014-04-03  Hyowon Kim  <[email protected]>
+
+        [EFL] Should flush and render layers after the root layer is changed.
+        https://bugs.webkit.org/show_bug.cgi?id=131108
+
+        Reviewed by Gyuyoung Kim.
+
+        If there is no update event after root layer is changed, old webview can be shown.
+        Because the syncTimer is not being triggered by root layer change.
+        We should flush and render layers by starting syncTimer when the root layer is changed.
+
+        * WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
+        (WebCore::AcceleratedCompositingContext::setRootGraphicsLayer): Add m_syncTimer.startOneShot(0);
+        * WebCoreSupport/AcceleratedCompositingContextEfl.h:
+        (WebCore::AcceleratedCompositingContext::setRootGraphicsLayer): Move implementation from header to source.
+
 2014-04-02  Ryuan Choi  <[email protected]>
 
         [EFL][WK1] Use Evas_Touch_Point_State instead of Ewk_Touch_Point_Type

Modified: trunk/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp (166767 => 166768)


--- trunk/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp	2014-04-04 05:23:52 UTC (rev 166767)
+++ trunk/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp	2014-04-04 06:26:54 UTC (rev 166768)
@@ -181,6 +181,14 @@
         m_syncTimer.startOneShot(1 / compositingFrameRate);
 }
 
+void AcceleratedCompositingContext::setRootGraphicsLayer(GraphicsLayer* rootLayer)
+{
+    m_rootLayer = rootLayer;
+
+    if (!m_syncTimer.isActive())
+        m_syncTimer.startOneShot(0);
+}
+
 } // namespace WebCore
 
 #endif // USE(TEXTURE_MAPPER_GL)

Modified: trunk/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h (166767 => 166768)


--- trunk/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h	2014-04-04 05:23:52 UTC (rev 166767)
+++ trunk/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h	2014-04-04 06:26:54 UTC (rev 166768)
@@ -42,7 +42,7 @@
     AcceleratedCompositingContext(Evas_Object* ewkView, Evas_Object* compositingObject);
     ~AcceleratedCompositingContext();
 
-    void setRootGraphicsLayer(GraphicsLayer* rootLayer) { m_rootLayer = rootLayer; }
+    void setRootGraphicsLayer(GraphicsLayer* rootLayer);
     void resize(const IntSize&);
     void flushAndRenderLayers();
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to