Index: ash/shelf/shelf_view.cc |
diff --git a/ash/shelf/shelf_view.cc b/ash/shelf/shelf_view.cc |
index 7e3119ed71ba7ce9c57122915049e4fc51b405e1..ea03a1ac6be877e61baf06cfca1e6947c822ab83 100644 |
--- a/ash/shelf/shelf_view.cc |
+++ b/ash/shelf/shelf_view.cc |
@@ -14,6 +14,7 @@ |
#include "ash/common/shelf/overflow_bubble.h" |
#include "ash/common/shelf/overflow_bubble_view.h" |
#include "ash/common/shelf/overflow_button.h" |
+#include "ash/common/shelf/shelf_background_animator.h" |
#include "ash/common/shelf/shelf_button.h" |
#include "ash/common/shelf/shelf_constants.h" |
#include "ash/common/shelf/shelf_delegate.h" |
@@ -360,7 +361,8 @@ const int ShelfView::kMinimumDragDistance = 8; |
ShelfView::ShelfView(ShelfModel* model, |
ShelfDelegate* delegate, |
WmShelf* wm_shelf, |
- Shelf* shelf) |
+ Shelf* shelf, |
+ ShelfBackgroundAnimator* background_animator) |
: model_(model), |
delegate_(delegate), |
wm_shelf_(wm_shelf), |
@@ -388,7 +390,8 @@ ShelfView::ShelfView(ShelfModel* model, |
main_shelf_(nullptr), |
dragged_off_from_overflow_to_shelf_(false), |
is_repost_event_on_same_item_(false), |
- last_pressed_index_(-1) { |
+ last_pressed_index_(-1), |
+ background_animator_(background_animator) { |
DCHECK(model_); |
DCHECK(delegate_); |
DCHECK(wm_shelf_); |
@@ -401,6 +404,8 @@ ShelfView::ShelfView(ShelfModel* model, |
ShelfView::~ShelfView() { |
bounds_animator_->RemoveObserver(this); |
model_->RemoveObserver(this); |
+ if (background_animator_) |
+ background_animator_->RemoveObserver(this); |
} |
void ShelfView::Init() { |
@@ -418,6 +423,9 @@ void ShelfView::Init() { |
ConfigureChildView(overflow_button_); |
AddChildView(overflow_button_); |
+ if (background_animator_) |
+ background_animator_->AddObserver(this); |
+ |
// We'll layout when our bounds change. |
} |
@@ -1370,7 +1378,7 @@ void ShelfView::ToggleOverflowBubble() { |
overflow_bubble_.reset(new OverflowBubble(wm_shelf_)); |
ShelfView* overflow_view = |
- new ShelfView(model_, delegate_, wm_shelf_, shelf_); |
+ new ShelfView(model_, delegate_, wm_shelf_, shelf_, nullptr); |
overflow_view->overflow_mode_ = true; |
overflow_view->Init(); |
overflow_view->set_owner_overflow_bubble(overflow_bubble_.get()); |
@@ -1547,6 +1555,11 @@ void ShelfView::OnGestureEvent(ui::GestureEvent* event) { |
event->StopPropagation(); |
} |
+void ShelfView::UpdateShelfItemBackground(int alpha) { |
+ GetAppListButton()->SetBackgroundAlpha(alpha); |
+ overflow_button_->SetBackgroundAlpha(alpha); |
+} |
+ |
void ShelfView::ShelfItemAdded(int model_index) { |
{ |
base::AutoReset<bool> cancelling_drag(&cancelling_drag_model_changed_, |