| 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..2a2c23d7c7f15c32a9bef853f09fff8343f76b4e 100644
|
| --- a/ui/wm/core/default_activation_client.cc
|
| +++ b/ui/wm/core/default_activation_client.cc
|
| @@ -40,7 +40,7 @@ class DefaultActivationClient::Deleter : public aura::WindowObserver {
|
| // DefaultActivationClient, public:
|
|
|
| DefaultActivationClient::DefaultActivationClient(aura::Window* root_window)
|
| - : last_active_(NULL) {
|
| + : last_active_(nullptr) {
|
| aura::client::SetActivationClient(root_window, this);
|
| new Deleter(this, root_window);
|
| }
|
| @@ -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,41 +77,45 @@ 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,
|
| + nullptr, window);
|
| + }
|
| if (last_active_)
|
| ActivateWindow(last_active_);
|
| }
|
|
|
| aura::Window* DefaultActivationClient::GetActiveWindow() {
|
| if (active_windows_.empty())
|
| - return NULL;
|
| + return nullptr;
|
| return active_windows_.back();
|
| }
|
|
|
| aura::Window* DefaultActivationClient::GetActivatableWindow(
|
| aura::Window* window) {
|
| - return NULL;
|
| + return nullptr;
|
| }
|
|
|
| aura::Window* DefaultActivationClient::GetToplevelWindow(aura::Window* window) {
|
| - return NULL;
|
| + return nullptr;
|
| }
|
|
|
| bool DefaultActivationClient::CanActivateWindow(aura::Window* window) const {
|
| @@ -115,14 +127,16 @@ bool DefaultActivationClient::CanActivateWindow(aura::Window* window) const {
|
|
|
| void DefaultActivationClient::OnWindowDestroyed(aura::Window* window) {
|
| if (window == last_active_)
|
| - last_active_ = NULL;
|
| + last_active_ = nullptr;
|
|
|
| if (window == GetActiveWindow()) {
|
| 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, nullptr);
|
| }
|
| return;
|
| }
|
|
|