Index: ash/common/wm/overview/scoped_transform_overview_window.h |
diff --git a/ash/common/wm/overview/scoped_transform_overview_window.h b/ash/common/wm/overview/scoped_transform_overview_window.h |
index 11b50ef1c146b9bc6358793687b1e6085d90749c..2efe6ccc3bdcd1be05c10d480f459aba06daa348 100644 |
--- a/ash/common/wm/overview/scoped_transform_overview_window.h |
+++ b/ash/common/wm/overview/scoped_transform_overview_window.h |
@@ -32,6 +32,7 @@ class WmWindow; |
// object. |
class ASH_EXPORT ScopedTransformOverviewWindow { |
public: |
+ class OverviewContentMask; |
using ScopedAnimationSettings = |
std::vector<std::unique_ptr<ScopedOverviewAnimationSettings>>; |
@@ -120,12 +121,14 @@ class ASH_EXPORT ScopedTransformOverviewWindow { |
// using rounded corners of |radius|. When |use_mask| is set, hides the |
// original window header and uses rounded rectangle mask which may be |
// resource-intensive. When |use_shape| is set and |use_mask| is not, uses |
- // SetAlphaShape to mask the header. |
+ // SetAlphaShape to mask the header. If |animate| is set, the shape or mask |
+ // is set only upon the animation completion. |
void SetTransform(WmWindow* root_window, |
const gfx::Transform& transform, |
bool use_mask, |
bool use_shape, |
- float radius); |
+ float radius, |
+ bool animate); |
// Set's the opacity of the managed windows. |
void SetOpacity(float opacity); |
@@ -136,8 +139,8 @@ class ASH_EXPORT ScopedTransformOverviewWindow { |
void Close(); |
private: |
+ class OverviewWindowAnimationObserver; |
friend class WindowSelectorTest; |
- class OverviewContentMask; |
enum OriginalVisibility { |
ORIGINALLY_VISIBLE, |
@@ -163,6 +166,10 @@ class ASH_EXPORT ScopedTransformOverviewWindow { |
// Original window shape, if it was set on a window. |
std::unique_ptr<SkRegion> original_window_shape_; |
+ // Observes transform animation and hides the window header when the animation |
+ // completes. |
+ std::unique_ptr<OverviewWindowAnimationObserver> animation_observer_; |
+ |
// True after the |original_window_shape_| has been set or after it has |
// been determined that window shape was not originally set on the |window_|. |
bool determined_original_window_shape_; |