Index: ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
index f5465bfae82b59ee9726b3143246ded949a02817..3661c2f60fc94470661d7b0e44a4655afaf47cca 100644 |
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
@@ -1180,10 +1180,24 @@ void DesktopWindowTreeHostX11::OnWMStateUpdated() { |
if (!ui::GetAtomArrayProperty(xwindow_, "_NET_WM_STATE", &atom_list)) |
return; |
+ bool was_minimized = IsMinimized(); |
+ bool is_minimized; |
+ |
window_properties_.clear(); |
std::copy(atom_list.begin(), atom_list.end(), |
inserter(window_properties_, window_properties_.begin())); |
+ // Propagate the window minimization information to the content window, so |
+ // the render side can update its visibility properly. OnWMStateUpdated() is |
+ // called by PropertyNofify event from DispatchEvent() when the browser is |
+ // minimized or shown from minimized state. |
Elliot Glaysher
2014/06/19 20:09:56
If you go this route, please also mention that on
Zhen Wang
2014/06/19 22:45:01
This is just a note. I have discussed with Elliot
|
+ is_minimized = IsMinimized(); |
Elliot Glaysher
2014/06/19 20:09:56
Move the declaration of bool is_minimized here, si
|
+ if (was_minimized == false && is_minimized == true) { |
+ content_window_->Hide(); |
+ } else if (was_minimized == true && is_minimized == false) { |
+ content_window_->Show(); |
+ } |
+ |
if (restored_bounds_.IsEmpty()) { |
DCHECK(!IsFullscreen()); |
if (IsMaximized()) { |