| Index: ash/shelf/app_list_button.cc
|
| diff --git a/ash/shelf/app_list_button.cc b/ash/shelf/app_list_button.cc
|
| index 584d9d842d223fcaf91911116abcb9d32d96a0be..efecc294aa093c4b389fae44cf1998ee35148f06 100644
|
| --- a/ash/shelf/app_list_button.cc
|
| +++ b/ash/shelf/app_list_button.cc
|
| @@ -44,7 +44,7 @@ AppListButton::AppListButton(InkDropButtonListener* listener,
|
| DCHECK(listener_);
|
| DCHECK(shelf_view_);
|
| DCHECK(shelf_);
|
| -
|
| + Shell::Get()->AddShellObserver(this);
|
| SetInkDropMode(InkDropMode::ON_NO_GESTURE_HANDLER);
|
| set_ink_drop_base_color(kShelfInkDropBaseColor);
|
| set_ink_drop_visible_opacity(kShelfInkDropVisibleOpacity);
|
| @@ -55,7 +55,9 @@ AppListButton::AppListButton(InkDropButtonListener* listener,
|
| set_notify_action(CustomButton::NOTIFY_ON_PRESS);
|
| }
|
|
|
| -AppListButton::~AppListButton() {}
|
| +AppListButton::~AppListButton() {
|
| + Shell::Get()->RemoveShellObserver(this);
|
| +}
|
|
|
| void AppListButton::OnAppListShown() {
|
| AnimateInkDrop(views::InkDropState::ACTIVATED, nullptr);
|
| @@ -239,4 +241,15 @@ gfx::Point AppListButton::GetCenterPoint() const {
|
| }
|
| }
|
|
|
| +void AppListButton::OnAppListVisibilityChanged(bool shown,
|
| + aura::Window* root_window) {
|
| + if (shelf_ != Shelf::ForWindow(root_window))
|
| + return;
|
| +
|
| + if (shown)
|
| + OnAppListShown();
|
| + else
|
| + OnAppListDismissed();
|
| +}
|
| +
|
| } // namespace ash
|
|
|