| Index: ash/common/wm/overview/scoped_transform_overview_window.cc
|
| diff --git a/ash/common/wm/overview/scoped_transform_overview_window.cc b/ash/common/wm/overview/scoped_transform_overview_window.cc
|
| index 0816a10c1bbb156e9e2b279b9babcb39a47f36a4..0a13bf6ee889fa514797bd31c41282b49b4089e9 100644
|
| --- a/ash/common/wm/overview/scoped_transform_overview_window.cc
|
| +++ b/ash/common/wm/overview/scoped_transform_overview_window.cc
|
| @@ -183,6 +183,7 @@ class ScopedTransformOverviewWindow::OverviewContentMask
|
| explicit OverviewContentMask(float radius);
|
| ~OverviewContentMask() override;
|
|
|
| + void set_radius(float radius) { radius_ = radius; }
|
| ui::Layer* layer() { return &layer_; }
|
|
|
| // Overridden from LayerDelegate.
|
| @@ -405,11 +406,15 @@ void ScopedTransformOverviewWindow::SetTransform(
|
|
|
| if (ash::MaterialDesignController::IsOverviewMaterial() &&
|
| &transform != &original_transform_) {
|
| + if (!mask_) {
|
| + mask_.reset(new OverviewContentMask(radius));
|
| + mask_->layer()->SetFillsBoundsOpaquely(false);
|
| + window()->GetLayer()->SetMaskLayer(mask_->layer());
|
| + }
|
| gfx::Rect bounds(GetTargetBoundsInScreen().size());
|
| - mask_.reset(new OverviewContentMask(radius));
|
| - mask_->layer()->SetFillsBoundsOpaquely(false);
|
| mask_->layer()->SetBounds(bounds);
|
| - window()->GetLayer()->SetMaskLayer(mask_->layer());
|
| + mask_->set_radius(radius);
|
| + window()->GetLayer()->SchedulePaint(bounds);
|
|
|
| SkRegion* window_shape = window()->GetLayer()->alpha_shape();
|
| if (!original_window_shape_ && window_shape)
|
|
|