Title: [195771] trunk/Source/WebCore
Revision
195771
Author
[email protected]
Date
2016-01-28 12:03:30 -0800 (Thu, 28 Jan 2016)

Log Message

[ThreadedCompositor] Fix flickers happening on video when entering/leaving fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=153585

Reviewed by Michael Catanzaro.

Video thumbnail flickers where threaded compositor is enabled. This is because
a content buffer is not set to a target layer which changes before swapBuffer.
This is a very rare case though, it happens where video size changes many times in a short period.

* platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::activateOnCompositingThread):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (195770 => 195771)


--- trunk/Source/WebCore/ChangeLog	2016-01-28 19:52:57 UTC (rev 195770)
+++ trunk/Source/WebCore/ChangeLog	2016-01-28 20:03:30 UTC (rev 195771)
@@ -1,3 +1,17 @@
+2016-01-28  ChangSeok Oh  <[email protected]>
+
+        [ThreadedCompositor] Fix flickers happening on video when entering/leaving fullscreen.
+        https://bugs.webkit.org/show_bug.cgi?id=153585
+
+        Reviewed by Michael Catanzaro.
+
+        Video thumbnail flickers where threaded compositor is enabled. This is because
+        a content buffer is not set to a target layer which changes before swapBuffer.
+        This is a very rare case though, it happens where video size changes many times in a short period.
+
+        * platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
+        (WebCore::TextureMapperPlatformLayerProxy::activateOnCompositingThread):
+
 2016-01-27  Jer Noble  <[email protected]>
 
         Allow CachedResourceLoader clients to opt out of the MemoryCache.

Modified: trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp (195770 => 195771)


--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp	2016-01-28 19:52:57 UTC (rev 195770)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp	2016-01-28 20:03:30 UTC (rev 195771)
@@ -63,6 +63,9 @@
     LockHolder locker(m_lock);
     m_compositor = compositor;
     m_targetLayer = targetLayer;
+    if (m_targetLayer && m_currentBuffer)
+        m_targetLayer->setContentsLayer(m_currentBuffer.get());
+
     m_compositorThreadUpdateTimer = std::make_unique<RunLoop::Timer<TextureMapperPlatformLayerProxy>>(RunLoop::current(), this, &TextureMapperPlatformLayerProxy::compositorThreadUpdateTimerFired);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to