OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "athena/content/app_activity.h" | 5 #include "athena/content/app_activity.h" |
6 | 6 |
7 #include "athena/activity/public/activity_manager.h" | 7 #include "athena/activity/public/activity_manager.h" |
8 #include "athena/content/app_activity_registry.h" | 8 #include "athena/content/app_activity_registry.h" |
9 #include "athena/content/content_proxy.h" | 9 #include "athena/content/content_proxy.h" |
10 #include "athena/content/media_utils.h" | 10 #include "athena/content/media_utils.h" |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 // If the proxy was the active window, its deletion will cause a window | 113 // If the proxy was the active window, its deletion will cause a window |
114 // reordering since the next activatable window in line will move up to the | 114 // reordering since the next activatable window in line will move up to the |
115 // front. Since the application window is still hidden at this time, it is | 115 // front. Since the application window is still hidden at this time, it is |
116 // not yet activatable and the window behind it will move to the front. | 116 // not yet activatable and the window behind it will move to the front. |
117 if (wm::IsActiveWindow(app_proxy->GetWindow())) { | 117 if (wm::IsActiveWindow(app_proxy->GetWindow())) { |
118 // Delete the proxy window first and then move the new window to the top | 118 // Delete the proxy window first and then move the new window to the top |
119 // of the stack, replacing the proxy window. Note that by deleting the | 119 // of the stack, replacing the proxy window. Note that by deleting the |
120 // proxy the activation will change to the next (activatable) object and | 120 // proxy the activation will change to the next (activatable) object and |
121 // thus we have to move the window in front at the end. | 121 // thus we have to move the window in front at the end. |
122 Activity::Delete(app_proxy); | 122 Activity::Delete(app_proxy); |
123 window_list_provider->StackWindowFrontOf( | 123 if (GetWindow() != window_list_provider->GetWindowList().back()) { |
124 GetWindow(), | 124 window_list_provider->StackWindowFrontOf( |
125 window_list_provider->GetWindowList().back()); | 125 GetWindow(), |
| 126 window_list_provider->GetWindowList().back()); |
| 127 } |
126 } else { | 128 } else { |
127 // The app window goes in front of the proxy window (we need to first | 129 // The app window goes in front of the proxy window (we need to first |
128 // place the window before we can delete it). | 130 // place the window before we can delete it). |
129 window_list_provider->StackWindowFrontOf(GetWindow(), | 131 window_list_provider->StackWindowFrontOf(GetWindow(), |
130 app_proxy->GetWindow()); | 132 app_proxy->GetWindow()); |
131 Activity::Delete(app_proxy); | 133 Activity::Delete(app_proxy); |
132 } | 134 } |
133 // The proxy should now be deleted. | 135 // The proxy should now be deleted. |
134 DCHECK(!app_activity_registry_->unloaded_activity_proxy()); | 136 DCHECK(!app_activity_registry_->unloaded_activity_proxy()); |
135 } | 137 } |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 void AppActivity::HideContentProxy() { | 237 void AppActivity::HideContentProxy() { |
236 content_proxy_.reset(); | 238 content_proxy_.reset(); |
237 } | 239 } |
238 | 240 |
239 void AppActivity::ShowContentProxy() { | 241 void AppActivity::ShowContentProxy() { |
240 if (!content_proxy_.get() && web_view_) | 242 if (!content_proxy_.get() && web_view_) |
241 content_proxy_.reset(new ContentProxy(web_view_)); | 243 content_proxy_.reset(new ContentProxy(web_view_)); |
242 } | 244 } |
243 | 245 |
244 } // namespace athena | 246 } // namespace athena |
OLD | NEW |