Chromium Code Reviews| Index: cc/CCLayerTreeHostImpl.cpp |
| diff --git a/cc/CCLayerTreeHostImpl.cpp b/cc/CCLayerTreeHostImpl.cpp |
| index 0c414cff25fde7bdcfee10135c677ff623e3ba14..35478ccc2d232e8b863d6ab88cdec8432dfea607 100644 |
| --- a/cc/CCLayerTreeHostImpl.cpp |
| +++ b/cc/CCLayerTreeHostImpl.cpp |
| @@ -10,6 +10,7 @@ |
| #include "CCDamageTracker.h" |
| #include "CCDebugRectHistory.h" |
| #include "CCDelayBasedTimeSource.h" |
| +#include "CCDelegatingRenderer.h" |
| #include "CCFontAtlas.h" |
| #include "CCFrameRateCounter.h" |
| #include "CCHeadsUpDisplayLayerImpl.h" |
| @@ -521,6 +522,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"); |
| @@ -688,9 +695,13 @@ bool CCLayerTreeHostImpl::initializeRenderer(PassOwnPtr<CCGraphicsContext> conte |
| OwnPtr<CCGraphicsContext> contextRef(context); |
| OwnPtr<CCResourceProvider> resourceProvider = CCResourceProvider::create(contextRef.get(), textureUploader); |
| - OwnPtr<CCRendererGL> renderer; |
| - if (resourceProvider.get()) |
| - renderer = CCRendererGL::create(this, resourceProvider.get()); |
| + OwnPtr<CCRenderer> renderer; |
| + if (resourceProvider.get()) { |
| + if (contextRef->capabilities().hasParentCompositor) |
| + renderer = CCDelegatingRenderer::create(this, resourceProvider.get()); |
| + else |
| + renderer = CCRendererGL::create(this, resourceProvider.get()); |
|
danakj
2012/09/21 20:51:41
We've become inconsistent in our naming of rendere
|
| + } |
| // Since we now have a new context/renderer, we cannot continue to use the old |
| // resources (i.e. renderSurfaces and texture IDs). |