| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "ash/wm/mru_window_tracker.h" | 5 #include "ash/common/wm/mru_window_tracker.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "ash/common/shell_window_ids.h" | 9 #include "ash/common/shell_window_ids.h" |
| 10 #include "ash/common/wm/focus_rules.h" | 10 #include "ash/common/wm/focus_rules.h" |
| 11 #include "ash/common/wm/switchable_windows.h" | 11 #include "ash/common/wm/switchable_windows.h" |
| 12 #include "ash/common/wm/window_state.h" | 12 #include "ash/common/wm/window_state.h" |
| 13 #include "ash/common/wm_shell.h" | 13 #include "ash/common/wm_shell.h" |
| 14 #include "ash/common/wm_window.h" | 14 #include "ash/common/wm_window.h" |
| 15 #include "base/bind.h" | 15 #include "base/bind.h" |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 MruWindowTracker::~MruWindowTracker() { | 115 MruWindowTracker::~MruWindowTracker() { |
| 116 WmShell::Get()->RemoveActivationObserver(this); | 116 WmShell::Get()->RemoveActivationObserver(this); |
| 117 for (WmWindow* window : mru_windows_) | 117 for (WmWindow* window : mru_windows_) |
| 118 window->RemoveObserver(this); | 118 window->RemoveObserver(this); |
| 119 } | 119 } |
| 120 | 120 |
| 121 MruWindowTracker::WindowList MruWindowTracker::BuildMruWindowList() const { | 121 MruWindowTracker::WindowList MruWindowTracker::BuildMruWindowList() const { |
| 122 return BuildWindowListInternal(&mru_windows_, base::Bind(&CallCanActivate)); | 122 return BuildWindowListInternal(&mru_windows_, base::Bind(&CallCanActivate)); |
| 123 } | 123 } |
| 124 | 124 |
| 125 MruWindowTracker::WindowList | 125 MruWindowTracker::WindowList MruWindowTracker::BuildWindowListIgnoreModal() |
| 126 MruWindowTracker::BuildWindowListIgnoreModal() const { | 126 const { |
| 127 return BuildWindowListInternal(nullptr, | 127 return BuildWindowListInternal(nullptr, |
| 128 base::Bind(&IsWindowConsideredActivatable)); | 128 base::Bind(&IsWindowConsideredActivatable)); |
| 129 } | 129 } |
| 130 | 130 |
| 131 void MruWindowTracker::SetIgnoreActivations(bool ignore) { | 131 void MruWindowTracker::SetIgnoreActivations(bool ignore) { |
| 132 ignore_window_activations_ = ignore; | 132 ignore_window_activations_ = ignore; |
| 133 | 133 |
| 134 // If no longer ignoring window activations, move currently active window | 134 // If no longer ignoring window activations, move currently active window |
| 135 // to front. | 135 // to front. |
| 136 if (!ignore) | 136 if (!ignore) |
| (...skipping 25 matching lines...) Expand all Loading... |
| 162 | 162 |
| 163 void MruWindowTracker::OnWindowDestroyed(WmWindow* window) { | 163 void MruWindowTracker::OnWindowDestroyed(WmWindow* window) { |
| 164 // It's possible for OnWindowActivated() to be called after | 164 // It's possible for OnWindowActivated() to be called after |
| 165 // OnWindowDestroying(). This means we need to override OnWindowDestroyed() | 165 // OnWindowDestroying(). This means we need to override OnWindowDestroyed() |
| 166 // else we may end up with a deleted window in |mru_windows_|. | 166 // else we may end up with a deleted window in |mru_windows_|. |
| 167 mru_windows_.remove(window); | 167 mru_windows_.remove(window); |
| 168 window->RemoveObserver(this); | 168 window->RemoveObserver(this); |
| 169 } | 169 } |
| 170 | 170 |
| 171 } // namespace ash | 171 } // namespace ash |
| OLD | NEW |