Chromium Code Reviews| 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..242166445aabfa8033da0533c37638c072724feb 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,12 @@ gfx::Point AppListButton::GetCenterPoint() const { |
| } |
| } |
| +void AppListButton::OnAppListShownOrDismissed(bool shown, |
| + aura::Window* root_window) { |
| + if (shown) |
| + OnAppListShown(); |
| + else |
| + OnAppListDismissed(); |
|
xiyuan
2017/06/06 15:51:04
This is not right on multiple monitors. AppListBut
newcomer
2017/06/06 16:42:29
Done.
|
| +} |
| + |
| } // namespace ash |