| Index: ash/launcher/launcher_view.cc
|
| diff --git a/ash/launcher/launcher_view.cc b/ash/launcher/launcher_view.cc
|
| index f844b7ed87658bc4dd270de6ec7ca4b4de6bfad5..8aa94f325557ef3ff68823dab1c7606dc7d881b5 100644
|
| --- a/ash/launcher/launcher_view.cc
|
| +++ b/ash/launcher/launcher_view.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "ash/launcher/launcher_button.h"
|
| #include "ash/launcher/launcher_delegate.h"
|
| +#include "ash/launcher/launcher_icon_observer.h"
|
| #include "ash/launcher/launcher_model.h"
|
| #include "ash/launcher/tabbed_launcher_button.h"
|
| #include "ash/shell.h"
|
| @@ -347,6 +348,8 @@ void LauncherView::LayoutToIdealBounds() {
|
| CalculateIdealBounds(&ideal_bounds);
|
| views::ViewModelUtils::SetViewBoundsToIdealBounds(*view_model_);
|
| overflow_button_->SetBoundsRect(ideal_bounds.overflow_bounds);
|
| + FOR_EACH_OBSERVER(LauncherIconObserver, observers_,
|
| + OnLauncherIconPositionsChanged());
|
| }
|
|
|
| void LauncherView::CalculateIdealBounds(IdealBounds* bounds) {
|
| @@ -404,6 +407,14 @@ int LauncherView::DetermineLastVisibleIndex(int max_x) {
|
| return index;
|
| }
|
|
|
| +void LauncherView::AddIconObserver(LauncherIconObserver* observer) {
|
| + observers_.AddObserver(observer);
|
| +}
|
| +
|
| +void LauncherView::RemoveIconObserver(LauncherIconObserver* observer) {
|
| + observers_.RemoveObserver(observer);
|
| +}
|
| +
|
| void LauncherView::AnimateToIdealBounds() {
|
| IdealBounds ideal_bounds;
|
| CalculateIdealBounds(&ideal_bounds);
|
| @@ -412,6 +423,8 @@ void LauncherView::AnimateToIdealBounds() {
|
| view_model_->ideal_bounds(i));
|
| }
|
| overflow_button_->SetBoundsRect(ideal_bounds.overflow_bounds);
|
| + FOR_EACH_OBSERVER(LauncherIconObserver, observers_,
|
| + OnLauncherIconPositionsChanged());
|
| }
|
|
|
| views::View* LauncherView::CreateViewForItem(const LauncherItem& item) {
|
|
|