Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index dd278d60f679d2ef3d9a7e87294bdc4729a4b99d..7987efed65af7872608c8eb629ef45cc80b4d929 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -148,6 +148,12 @@ ui::TextInputMode ConvertInputMode(const blink::WebString& input_mode) { |
return it->second; |
} |
+bool IsThreadedCompositingEnabled() { |
+ return !!content::RenderThreadImpl::current() |
piman
2014/06/13 21:56:42
Oh, iirc there's a couple of tests that mock Rende
danakj
2014/06/13 21:58:54
Oh thanks, done.
|
+ ->compositor_message_loop_proxy() |
+ .get(); |
+} |
+ |
// TODO(brianderson): Replace the hard-coded threshold with a fraction of |
// the BeginMainFrame interval. |
// 4166us will allow 1/4 of a 60Hz interval or 1/2 of a 120Hz interval to |
@@ -388,7 +394,6 @@ RenderWidget::RenderWidget(blink::WebPopupType popup_type, |
suppress_next_char_events_(false), |
screen_info_(screen_info), |
device_scale_factor_(screen_info_.deviceScaleFactor), |
- is_threaded_compositing_enabled_(false), |
current_event_latency_info_(NULL), |
next_output_surface_id_(0), |
#if defined(OS_ANDROID) |
@@ -402,9 +407,6 @@ RenderWidget::RenderWidget(blink::WebPopupType popup_type, |
if (!swapped_out) |
RenderProcess::current()->AddRefProcess(); |
DCHECK(RenderThread::Get()); |
- is_threaded_compositing_enabled_ = |
- CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kEnableThreadedCompositing); |
} |
RenderWidget::~RenderWidget() { |
@@ -833,7 +835,7 @@ scoped_ptr<cc::OutputSurface> RenderWidget::CreateOutputSurface(bool fallback) { |
uint32 output_surface_id = next_output_surface_id_++; |
if (command_line.HasSwitch(switches::kEnableDelegatedRenderer)) { |
- DCHECK(is_threaded_compositing_enabled_); |
+ DCHECK(IsThreadedCompositingEnabled()); |
return scoped_ptr<cc::OutputSurface>( |
new DelegatedCompositorOutputSurface( |
routing_id(), |
@@ -856,7 +858,7 @@ scoped_ptr<cc::OutputSurface> RenderWidget::CreateOutputSurface(bool fallback) { |
// Composite-to-mailbox is currently used for layout tests in order to cause |
// them to draw inside in the renderer to do the readback there. This should |
// no longer be the case when crbug.com/311404 is fixed. |
- DCHECK(is_threaded_compositing_enabled_ || |
+ DCHECK(IsThreadedCompositingEnabled() || |
RenderThreadImpl::current()->layout_test_mode()); |
cc::ResourceFormat format = cc::RGBA_8888; |
#if defined(OS_ANDROID) |
@@ -1167,8 +1169,8 @@ void RenderWidget::AutoResizeCompositor() { |
} |
void RenderWidget::initializeLayerTreeView() { |
- compositor_ = RenderWidgetCompositor::Create( |
- this, is_threaded_compositing_enabled_); |
+ compositor_ = |
+ RenderWidgetCompositor::Create(this, IsThreadedCompositingEnabled()); |
compositor_->setViewportSize(size_, physical_backing_size_); |
if (init_complete_) |
StartCompositor(); |