Index: cc/single_thread_proxy.cc |
diff --git a/cc/single_thread_proxy.cc b/cc/single_thread_proxy.cc |
index 1dc1e6bb95354af91577bad1643439ce586dd5f9..aa60e3e52dd6550e89626c41c9ce019687ebac2e 100644 |
--- a/cc/single_thread_proxy.cc |
+++ b/cc/single_thread_proxy.cc |
@@ -4,6 +4,7 @@ |
#include "cc/single_thread_proxy.h" |
+#include "base/auto_reset.h" |
#include "base/debug/trace_event.h" |
#include "cc/draw_quad.h" |
#include "cc/layer_tree_host.h" |
@@ -25,6 +26,7 @@ SingleThreadProxy::SingleThreadProxy(LayerTreeHost* layerTreeHost) |
, m_outputSurfaceLost(false) |
, m_rendererInitialized(false) |
, m_nextFrameIsNewlyCommittedFrame(false) |
+ , m_insideDraw(false) |
, m_totalCommitCount(0) |
{ |
TRACE_EVENT0("cc", "SingleThreadProxy::SingleThreadProxy"); |
@@ -269,6 +271,18 @@ void SingleThreadProxy::setNeedsRedrawOnImplThread() |
m_layerTreeHost->scheduleComposite(); |
} |
+void SingleThreadProxy::didSwapUseIncompleteTextureOnImplThread() |
+{ |
+ // implSidePainting only. |
+ NOTREACHED(); |
+} |
+ |
+void SingleThreadProxy::didUploadVisibleHighResolutionTileOnImplTread() |
+{ |
+ // implSidePainting only. |
+ NOTREACHED(); |
+} |
+ |
void SingleThreadProxy::setNeedsCommitOnImplThread() |
{ |
m_layerTreeHost->scheduleComposite(); |
@@ -309,6 +323,11 @@ void SingleThreadProxy::sendManagedMemoryStats() |
m_layerTreeHost->contentsTextureManager()->memoryUseBytes()); |
} |
+bool SingleThreadProxy::isInsideDraw() |
+{ |
+ return m_insideDraw; |
+} |
+ |
// Called by the legacy scheduling path (e.g. where render_widget does the scheduling) |
void SingleThreadProxy::compositeImmediately() |
{ |
@@ -359,6 +378,7 @@ bool SingleThreadProxy::doComposite() |
DCHECK(!m_outputSurfaceLost); |
{ |
DebugScopedSetImplThread impl(this); |
+ base::AutoReset<bool> markInside(&m_insideDraw, true); |
if (!m_layerTreeHostImpl->visible()) |
return false; |