Index: ui/aura/window.cc |
diff --git a/ui/aura/window.cc b/ui/aura/window.cc |
index d2735184b9c53690a14f18cb429355d01a4e27ab..a17c7e70be5c0d3245f654230d177b920d365f13 100644 |
--- a/ui/aura/window.cc |
+++ b/ui/aura/window.cc |
@@ -377,6 +377,9 @@ internal::RootWindow* Window::GetRoot() { |
} |
void Window::SetVisible(bool visible) { |
+ if (visible == layer_->visible()) |
+ return; // No change. |
+ |
bool was_visible = IsVisible(); |
layer_->SetVisible(visible); |
bool is_visible = IsVisible(); |
@@ -385,6 +388,8 @@ void Window::SetVisible(bool visible) { |
if (delegate_) |
delegate_->OnWindowVisibilityChanged(is_visible); |
} |
+ FOR_EACH_OBSERVER(WindowObserver, observers_, |
+ OnWindowVisibilityChanged(this, is_visible)); |
} |
void Window::SchedulePaint() { |