| Index: content/renderer/render_widget.cc
|
| diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
|
| index 345b9e140d3f58a5ef43eb887f3bac6eeca98a8e..acf6c6d350f9d71bb792b98edcf7075bdec899ac 100644
|
| --- a/content/renderer/render_widget.cc
|
| +++ b/content/renderer/render_widget.cc
|
| @@ -1339,6 +1339,12 @@ void RenderWidget::initializeLayerTreeView() {
|
|
|
| compositor_ = RenderWidgetCompositor::Create(this, compositor_deps_);
|
| compositor_->setViewportSize(size_, physical_backing_size_);
|
| +
|
| + // For background pages and certain tests, we don't want to trigger
|
| + // OutputSurface creation.
|
| + if (never_visible_ || !RenderThreadImpl::current())
|
| + compositor_->SetNeverVisible();
|
| +
|
| StartCompositor();
|
| }
|
|
|
| @@ -2168,15 +2174,8 @@ void RenderWidget::didOverscroll(
|
| }
|
|
|
| void RenderWidget::StartCompositor() {
|
| - // For widgets that are never visible, we don't need the compositor to run
|
| - // at all.
|
| - if (never_visible_)
|
| - return;
|
| - // In tests without a RenderThreadImpl, don't set ready as this kicks
|
| - // off creating output surfaces that the test can't create.
|
| - if (!RenderThreadImpl::current())
|
| - return;
|
| - compositor_->StartCompositor();
|
| + if (!is_hidden())
|
| + compositor_->setVisible(true);
|
| }
|
|
|
| void RenderWidget::SchedulePluginMove(const WebPluginGeometry& move) {
|
|
|