Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Unified Diff: ui/compositor/compositor.cc

Issue 2238693002: Plumb SetVisible from ui::Compositor to the DirectRenderer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: setvisible-browser: . Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/compositor/compositor.cc
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
index 416fcf15012ac1d3aa93d6905b3f10117bc9f20b..0c33cfd49f13637e4bef9b9547f6350d9e0c5d7a 100644
--- a/ui/compositor/compositor.cc
+++ b/ui/compositor/compositor.cc
@@ -379,6 +379,9 @@ void Compositor::SetBackgroundColor(SkColor color) {
void Compositor::SetVisible(bool visible) {
host_->SetVisible(visible);
+ // Compositor is not registered with context_factory_ until
+ // first CreateOutputSurface call, so this may not do anything.
+ context_factory_->SetDisplayVisible(this, visible);
}
bool Compositor::IsVisible() {
@@ -399,8 +402,12 @@ void Compositor::SetAcceleratedWidget(gfx::AcceleratedWidget widget) {
DCHECK(!widget_valid_);
widget_ = widget;
widget_valid_ = true;
- if (output_surface_requested_)
+ if (output_surface_requested_) {
context_factory_->CreateOutputSurface(weak_ptr_factory_.GetWeakPtr());
+ // Compositor is not registered with context_factory_ until
+ // first CreateOutputSurface call.
+ context_factory_->SetDisplayVisible(this, host_->visible());
+ }
}
gfx::AcceleratedWidget Compositor::ReleaseAcceleratedWidget() {
@@ -493,8 +500,12 @@ void Compositor::UpdateLayerTreeHost() {
void Compositor::RequestNewOutputSurface() {
DCHECK(!output_surface_requested_);
output_surface_requested_ = true;
- if (widget_valid_)
+ if (widget_valid_) {
context_factory_->CreateOutputSurface(weak_ptr_factory_.GetWeakPtr());
+ // Compositor is not registered with context_factory_ until
+ // first CreateOutputSurface call.
+ context_factory_->SetDisplayVisible(this, host_->visible());
+ }
}
void Compositor::DidInitializeOutputSurface() {

Powered by Google App Engine
This is Rietveld 408576698