Index: ash/launcher/launcher_view.cc |
diff --git a/ash/launcher/launcher_view.cc b/ash/launcher/launcher_view.cc |
index ec12bb302808958764b8a6655486d16daeeca281..e6b4f9670bf8795081aff0238966287f9919ba81 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/launcher/view_model.h" |
@@ -291,6 +292,8 @@ void LauncherView::LayoutToIdealBounds() { |
CalculateIdealBounds(&ideal_bounds); |
ViewModelUtils::SetViewBoundsToIdealBounds(*view_model_); |
overflow_button_->SetBoundsRect(ideal_bounds.overflow_bounds); |
+ FOR_EACH_OBSERVER(LauncherIconObserver, observers_, |
+ OnLauncherIconPositionsChanged()); |
} |
void LauncherView::CalculateIdealBounds(IdealBounds* bounds) { |
@@ -348,6 +351,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); |
@@ -356,6 +367,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) { |