| Index: cc/CCLayerTreeHostImpl.cpp
|
| diff --git a/cc/CCLayerTreeHostImpl.cpp b/cc/CCLayerTreeHostImpl.cpp
|
| index 23b021fd029781796d107ea182d91f04c0d5ffc0..808dde74180e59bb939115f2edf3d5fa683539d2 100644
|
| --- a/cc/CCLayerTreeHostImpl.cpp
|
| +++ b/cc/CCLayerTreeHostImpl.cpp
|
| @@ -11,6 +11,7 @@
|
| #include "CCDamageTracker.h"
|
| #include "CCDebugRectHistory.h"
|
| #include "CCDelayBasedTimeSource.h"
|
| +#include "CCDelegatingRenderer.h"
|
| #include "CCFontAtlas.h"
|
| #include "CCFrameRateCounter.h"
|
| #include "CCHeadsUpDisplayLayerImpl.h"
|
| @@ -659,6 +660,12 @@ void CCLayerTreeHostImpl::onVSyncParametersChanged(double monotonicTimebase, dou
|
| m_client->onVSyncParametersChanged(monotonicTimebase, intervalInSeconds);
|
| }
|
|
|
| +void CCLayerTreeHostImpl::onSendFrameToParentCompositorAck(const WebKit::WebCompositorFrameAck& ack)
|
| +{
|
| + if (m_renderer)
|
| + m_renderer->onSendFrameToParentCompositorAck(ack);
|
| +}
|
| +
|
| void CCLayerTreeHostImpl::drawLayers(const FrameData& frame)
|
| {
|
| TRACE_EVENT0("cc", "CCLayerTreeHostImpl::drawLayers");
|
| @@ -847,7 +854,9 @@ bool CCLayerTreeHostImpl::initializeRenderer(scoped_ptr<CCGraphicsContext> conte
|
| if (!resourceProvider)
|
| return false;
|
|
|
| - if (context->context3D())
|
| + if (context->capabilities().hasParentCompositor)
|
| + m_renderer = CCDelegatingRenderer::create(this, resourceProvider.get());
|
| + else if (context->context3D())
|
| m_renderer = CCRendererGL::create(this, resourceProvider.get());
|
| else if (context->softwareDevice())
|
| m_renderer = CCRendererSoftware::create(this, resourceProvider.get(), context->softwareDevice());
|
|
|