Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Unified Diff: Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp

Issue 8479052: Merge 98185 - [chromium] Make setVisibility extension- and thread-correct (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/912/
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
===================================================================
--- Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp (revision 99500)
+++ Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp (working copy)
@@ -166,6 +166,10 @@
if (m_capabilities.usingMapSub)
extensions->ensureEnabled("GL_CHROMIUM_map_sub");
+ m_capabilities.usingSetVisibility = extensions->supports("GL_CHROMIUM_set_visibility");
+ if (m_capabilities.usingSetVisibility)
+ extensions->ensureEnabled("GL_CHROMIUM_set_visibility");
+
GLC(m_context.get(), m_context->getIntegerv(GraphicsContext3D::MAX_TEXTURE_SIZE, &m_capabilities.maxTextureSize));
m_capabilities.bestTextureFormat = PlatformColor::bestTextureFormat(m_context.get());
@@ -212,6 +216,16 @@
LOG_ERROR("GL command failed: File: %s\n\tLine %d\n\tcommand: %s, error %x\n", file, line, command, static_cast<int>(error));
}
+void LayerRendererChromium::setVisible(bool visible)
+{
+ if (!visible)
+ releaseRenderSurfaceTextures();
+ if (m_capabilities.usingSetVisibility) {
+ Extensions3DChromium* extensions3DChromium = static_cast<Extensions3DChromium*>(m_context->getExtensions());
+ extensions3DChromium->setVisibilityCHROMIUM(visible);
+ }
+}
+
void LayerRendererChromium::releaseRenderSurfaceTextures()
{
m_renderSurfaceTextureManager->evictAndDeleteAllTextures(m_renderSurfaceTextureAllocator.get());

Powered by Google App Engine
This is Rietveld 408576698