Chromium Code Reviews| Index: ash/wm/overview/window_selector_item.h |
| diff --git a/ash/wm/overview/window_selector_item.h b/ash/wm/overview/window_selector_item.h |
| index 2af8c5682c81020c89ae7c8f0882b8bc5eef0233..1b7f06aa8eb4b7993bf8b6564d016aabcf35377e 100644 |
| --- a/ash/wm/overview/window_selector_item.h |
| +++ b/ash/wm/overview/window_selector_item.h |
| @@ -7,31 +7,31 @@ |
| #include "ash/ash_export.h" |
| #include "ash/wm/overview/scoped_transform_overview_window.h" |
| -#include "ash/wm/overview/transparent_activate_window_button.h" |
| -#include "ash/wm/overview/transparent_activate_window_button_delegate.h" |
| #include "base/compiler_specific.h" |
| #include "base/memory/scoped_ptr.h" |
| +#include "ui/aura/scoped_window_targeter.h" |
| #include "ui/aura/window_observer.h" |
| #include "ui/gfx/geometry/rect.h" |
| #include "ui/views/controls/button/button.h" |
| #include "ui/views/controls/button/image_button.h" |
| +#include "ui/views/controls/button/label_button.h" |
| namespace aura { |
| class Window; |
| } |
| namespace views { |
| -class Label; |
| +class LabelButton; |
| class Widget; |
| } |
| namespace ash { |
| +class OverviewWindowTargeter; |
| + |
| // This class represents an item in overview mode. |
| -class ASH_EXPORT WindowSelectorItem |
| - : public views::ButtonListener, |
| - public aura::WindowObserver, |
| - public TransparentActivateWindowButtonDelegate { |
| +class ASH_EXPORT WindowSelectorItem : public views::ButtonListener, |
| + public aura::WindowObserver { |
| public: |
| explicit WindowSelectorItem(aura::Window* window); |
| ~WindowSelectorItem() override; |
| @@ -83,12 +83,12 @@ class ASH_EXPORT WindowSelectorItem |
| void OnWindowDestroying(aura::Window* window) override; |
| void OnWindowTitleChanged(aura::Window* window) override; |
| - // ash::TransparentActivateWindowButtonDelegate: |
| - void Select() override; |
| - |
| private: |
| friend class WindowSelectorTest; |
| + // LabelButton shown under each of the windows. |
| + class OverviewLabelButton; |
| + |
| // Sets the bounds of this selector's items to |target_bounds| in |
| // |root_window_|. The bounds change will be animated as specified |
| // by |animation_type|. |
| @@ -98,18 +98,13 @@ class ASH_EXPORT WindowSelectorItem |
| // Changes the opacity of all the windows the item owns. |
| void SetOpacity(float opacity); |
| - // Updates the window label's bounds to |target_bounds|. Will create a new |
| - // window label and fade it in if it doesn't exist. The bounds change is |
| + // Updates the window label's bounds to |target_bounds|. The bounds change is |
| // animated as specified by the |animation_type|. |
| void UpdateWindowLabels(const gfx::Rect& target_bounds, |
| OverviewAnimationType animation_type); |
| // Initializes window_label_. |
| - void CreateWindowLabel(const base::string16& title); |
| - |
| - // Updates the bounds and accessibility names for all the transparent |
| - // overlays. |
| - void UpdateSelectorButtons(); |
| + void CreateWindowLabel(); |
| // Updates the close button's bounds. Any change in bounds will be animated |
| // from the current bounds to the new bounds as per the |animation_type|. |
| @@ -139,8 +134,8 @@ class ASH_EXPORT WindowSelectorItem |
| // Label under the window displaying its active tab name. |
| scoped_ptr<views::Widget> window_label_; |
| - // View for the label under the window. |
| - views::Label* window_label_view_; |
| + // View for the label button under the window. |
| + OverviewLabelButton* window_label_button_view_; |
| // The close buttons widget container. |
| views::Widget close_button_widget_; |
| @@ -149,11 +144,11 @@ class ASH_EXPORT WindowSelectorItem |
| // close_button_widget_. |
| views::ImageButton* close_button_; |
| - // Transparent overlay that covers the entire bounds of the |
| - // WindowSelectorItem and is stacked in front of all windows but behind each |
| - // Windows' own TransparentActivateWindowButton. |
| - scoped_ptr<TransparentActivateWindowButton> |
| - selector_item_activate_window_button_; |
| + // Reference to the targeter implemented by the scoped window targeter. |
| + OverviewWindowTargeter* overview_window_targeter_; |
| + |
| + // Stores and restores on exit the actual window targeter. |
| + scoped_ptr<aura::ScopedWindowTargeter> scoped_window_targeter_; |
|
flackr
2015/01/22 23:21:17
Just a thought, if you make the OverviewLabelButto
Nina
2015/01/23 18:38:58
I went forward and refactored the code this way, a
|
| DISALLOW_COPY_AND_ASSIGN(WindowSelectorItem); |
| }; |