Index: cc/layer_tree_host_impl.cc |
diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc |
index c110fc99d254a9c2cdba5fa85591b91bc4184d0c..e578b00721a4d5b38eb9f0115dbcba6f6336241e 100644 |
--- a/cc/layer_tree_host_impl.cc |
+++ b/cc/layer_tree_host_impl.cc |
@@ -13,6 +13,7 @@ |
#include "cc/damage_tracker.h" |
#include "cc/debug_rect_history.h" |
#include "cc/delay_based_time_source.h" |
+#include "cc/delegating_renderer.h" |
#include "cc/frame_rate_counter.h" |
#include "cc/gl_renderer.h" |
#include "cc/heads_up_display_layer_impl.h" |
@@ -973,7 +974,9 @@ bool LayerTreeHostImpl::initializeRenderer(scoped_ptr<OutputSurface> outputSurfa |
if (m_settings.implSidePainting) |
m_tileManager.reset(new TileManager(this, resourceProvider.get(), m_settings.numRasterThreads)); |
- if (outputSurface->Context3D()) |
+ if (outputSurface->Capabilities().has_parent_compositor) |
+ m_renderer = DelegatingRenderer::Create(this, resourceProvider.get()); |
+ else if (outputSurface->Context3D()) |
m_renderer = GLRenderer::create(this, resourceProvider.get()); |
else if (outputSurface->SoftwareDevice()) |
m_renderer = SoftwareRenderer::create(this, resourceProvider.get(), outputSurface->SoftwareDevice()); |