diff options
Diffstat (limited to 'chromium/content/browser/renderer_host/compositor_impl_android.cc')
-rw-r--r-- | chromium/content/browser/renderer_host/compositor_impl_android.cc | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/chromium/content/browser/renderer_host/compositor_impl_android.cc b/chromium/content/browser/renderer_host/compositor_impl_android.cc index 6cbf42626e1..8738af74a88 100644 --- a/chromium/content/browser/renderer_host/compositor_impl_android.cc +++ b/chromium/content/browser/renderer_host/compositor_impl_android.cc @@ -544,6 +544,11 @@ void CompositorImpl::SetRootWindow(gfx::NativeWindow root_window) { root_window_ = root_window; root_window_->SetLayer(root_layer ? root_layer : cc::Layer::Create()); root_window_->GetLayer()->SetBounds(size_); + if (!readback_layer_tree_) { + readback_layer_tree_ = cc::Layer::Create(); + readback_layer_tree_->SetHideLayerAndSubtree(true); + } + root_window->GetLayer()->AddChild(readback_layer_tree_); root_window->AttachCompositor(this); if (!host_) { CreateLayerTreeHost(); @@ -923,17 +928,8 @@ void CompositorImpl::DidCommit() { root_window_->OnCompositingDidCommit(); } -base::WeakPtr<ui::WindowAndroidCompositor> CompositorImpl::GetWeakPtr() { - return weak_factory_.GetWeakPtr(); -} - -void CompositorImpl::IncrementReadbackRequestCount() { - pending_readback_request_count_++; -} - -void CompositorImpl::DecrementReadbackRequestCount() { - DCHECK_GT(pending_readback_request_count_, 0u); - pending_readback_request_count_--; +void CompositorImpl::AttachLayerForReadback(scoped_refptr<cc::Layer> layer) { + readback_layer_tree_->AddChild(layer); } void CompositorImpl::RequestCopyOfOutputOnRootLayer( @@ -995,7 +991,7 @@ void CompositorImpl::OnDisplayMetricsChanged(const display::Display& display, } bool CompositorImpl::HavePendingReadbacks() { - return pending_readback_request_count_ > 0u; + return !readback_layer_tree_->children().empty(); } std::unique_ptr<ui::CompositorLock> CompositorImpl::GetCompositorLock( |