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) { |