| Index: ash/common/wm/overview/window_selector_item.cc
|
| diff --git a/ash/common/wm/overview/window_selector_item.cc b/ash/common/wm/overview/window_selector_item.cc
|
| index 7f58f4af02234e5ffe5e5b9ffdd57044322bfbdb..023d9bc029d337e7dfcb4dba1123329f08403184 100644
|
| --- a/ash/common/wm/overview/window_selector_item.cc
|
| +++ b/ash/common/wm/overview/window_selector_item.cc
|
| @@ -42,6 +42,7 @@
|
| #include "ui/views/controls/button/image_button.h"
|
| #include "ui/views/layout/box_layout.h"
|
| #include "ui/views/window/non_client_view.h"
|
| +#include "ui/wm/core/shadow.h"
|
| #include "ui/wm/core/window_util.h"
|
|
|
| namespace ash {
|
| @@ -372,6 +373,17 @@ void WindowSelectorItem::SetSelected(bool selected) {
|
| animation_settings.SetPreemptionStrategy(
|
| ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
|
| window->SetOpacity(selected ? 0.0f : 1.0f);
|
| +
|
| + ui::ScopedLayerAnimationSettings animation_settings_shadow(
|
| + shadow_->shadow_layer()->GetAnimator());
|
| + animation_settings_shadow.SetTransitionDuration(
|
| + base::TimeDelta::FromMilliseconds(kSelectorFadeInMilliseconds));
|
| + animation_settings_shadow.SetTweenType(selected
|
| + ? gfx::Tween::FAST_OUT_LINEAR_IN
|
| + : gfx::Tween::LINEAR_OUT_SLOW_IN);
|
| + animation_settings_shadow.SetPreemptionStrategy(
|
| + ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
|
| + shadow_->shadow_layer()->SetOpacity(selected ? 0.0f : 1.0f);
|
| }
|
|
|
| void WindowSelectorItem::RecomputeWindowTransforms() {
|
| @@ -546,6 +558,12 @@ void WindowSelectorItem::CreateWindowLabel(const base::string16& title) {
|
| window_label_button_view_->SetVisible(false);
|
| window_label_->Show();
|
|
|
| + shadow_.reset(new ::wm::Shadow());
|
| + shadow_->Init(::wm::Shadow::STYLE_INACTIVE);
|
| + shadow_->layer()->SetVisible(true);
|
| + window_label_->GetLayer()->Add(shadow_->layer());
|
| + window_label_->GetLayer()->SetMasksToBounds(false);
|
| +
|
| views::View* background_view =
|
| new RoundedContainerView(kLabelBackgroundRadius, kLabelBackgroundColor);
|
| window_label_selector_.reset(new views::Widget);
|
| @@ -594,6 +612,7 @@ void WindowSelectorItem::UpdateHeaderLayout(
|
| // the window including its sizing borders.
|
| label_rect.set_height(label_rect.height() +
|
| transformed_window_bounds.height());
|
| + gfx::Rect shadow_bounds(label_rect.size());
|
| label_rect.Inset(-kWindowSelectorMargin, -kWindowSelectorMargin);
|
| window_label_window->SetBounds(label_rect);
|
| gfx::Transform label_transform;
|
| @@ -601,6 +620,9 @@ void WindowSelectorItem::UpdateHeaderLayout(
|
| transformed_window_bounds.y());
|
| window_label_window->SetTransform(label_transform);
|
| window_label_selector_window->SetTransform(label_transform);
|
| +
|
| + shadow_bounds.Offset(kWindowSelectorMargin, kWindowSelectorMargin);
|
| + shadow_->SetContentBounds(shadow_bounds);
|
| } else {
|
| if (!close_button_->visible()) {
|
| close_button_->SetVisible(true);
|
|
|