Chromium Code Reviews| Index: ui/wm/core/default_activation_client.cc |
| diff --git a/ui/wm/core/default_activation_client.cc b/ui/wm/core/default_activation_client.cc |
| index 20c0d79b7dc7fd121c7d21c236ce38e34581bc1b..e48418450652e5563c460ac1654d94c3466e410c 100644 |
| --- a/ui/wm/core/default_activation_client.cc |
| +++ b/ui/wm/core/default_activation_client.cc |
| @@ -59,6 +59,14 @@ void DefaultActivationClient::RemoveObserver( |
| } |
| void DefaultActivationClient::ActivateWindow(aura::Window* window) { |
| + ActivateWindowImpl(aura::client::ActivationChangeObserver::ActivationReason:: |
| + ACTIVATION_CLIENT, |
| + window); |
| +} |
| + |
| +void DefaultActivationClient::ActivateWindowImpl( |
| + aura::client::ActivationChangeObserver::ActivationReason reason, |
| + aura::Window* window) { |
| aura::Window* last_active = GetActiveWindow(); |
| if (last_active == window) |
| return; |
| @@ -69,24 +77,28 @@ void DefaultActivationClient::ActivateWindow(aura::Window* window) { |
| window->parent()->StackChildAtTop(window); |
| window->AddObserver(this); |
| - FOR_EACH_OBSERVER(aura::client::ActivationChangeObserver, |
| - observers_, |
| - OnWindowActivated(window, last_active)); |
| + FOR_EACH_OBSERVER(aura::client::ActivationChangeObserver, observers_, |
| + OnWindowActivated(reason, window, last_active)); |
| aura::client::ActivationChangeObserver* observer = |
| aura::client::GetActivationChangeObserver(last_active); |
| - if (observer) |
| - observer->OnWindowActivated(window, last_active); |
| + if (observer) { |
| + observer->OnWindowActivated(reason, window, last_active); |
| + } |
| observer = aura::client::GetActivationChangeObserver(window); |
| - if (observer) |
| - observer->OnWindowActivated(window, last_active); |
| + if (observer) { |
| + observer->OnWindowActivated(reason, window, last_active); |
| + } |
| } |
| void DefaultActivationClient::DeactivateWindow(aura::Window* window) { |
| aura::client::ActivationChangeObserver* observer = |
| aura::client::GetActivationChangeObserver(window); |
| - if (observer) |
| - observer->OnWindowActivated(NULL, window); |
| + if (observer) { |
| + observer->OnWindowActivated(aura::client::ActivationChangeObserver:: |
| + ActivationReason::ACTIVATION_CLIENT, |
| + NULL, window); |
|
sky
2015/06/04 20:02:03
nullptr
bruthig
2015/06/04 21:07:41
Done.
|
| + } |
| if (last_active_) |
| ActivateWindow(last_active_); |
| } |
| @@ -121,8 +133,10 @@ void DefaultActivationClient::OnWindowDestroyed(aura::Window* window) { |
| active_windows_.pop_back(); |
| aura::Window* next_active = GetActiveWindow(); |
| if (next_active && aura::client::GetActivationChangeObserver(next_active)) { |
| - aura::client::GetActivationChangeObserver(next_active)->OnWindowActivated( |
| - next_active, NULL); |
| + aura::client::GetActivationChangeObserver(next_active) |
| + ->OnWindowActivated(aura::client::ActivationChangeObserver:: |
| + ActivationReason::WINDOW_DISPOSITION_CHANGED, |
| + next_active, NULL); |
|
sky
2015/06/04 20:02:03
nullptr
bruthig
2015/06/04 21:07:41
Done.
|
| } |
| return; |
| } |