Index: ash/wm/overview/window_selector_item.cc |
diff --git a/ash/wm/overview/window_selector_item.cc b/ash/wm/overview/window_selector_item.cc |
index 7350ebdeed59394c0325f3d91ffa0909bd9110ed..b086c92cee77a7f222f3f24503ee27bc9f8fd4b2 100644 |
--- a/ash/wm/overview/window_selector_item.cc |
+++ b/ash/wm/overview/window_selector_item.cc |
@@ -212,7 +212,6 @@ void WindowSelectorItem::RemoveWindow(const aura::Window* window) { |
} |
CHECK(window_found); |
- |
// If empty WindowSelectorItem will be destroyed immediately after this by |
// its owner. |
if (empty()) |
@@ -252,6 +251,7 @@ void WindowSelectorItem::SetBounds(aura::Window* root_window, |
// SetItemBounds is called before UpdateCloseButtonLayout so the close button |
// can properly use the updated windows bounds. |
UpdateCloseButtonLayout(animation_type); |
+ SetCloseWindowDistanceMinimum(target_bounds_.size().width() / 2); |
UpdateSelectorButtons(); |
} |
@@ -295,12 +295,36 @@ void WindowSelectorItem::OnWindowTitleChanged(aura::Window* window) { |
UpdateSelectorButtons(); |
} |
+void WindowSelectorItem::Scroll(int delta_x) { |
+ for (TransformWindows::iterator iter = transform_windows_.begin(); |
+ iter != transform_windows_.end(); |
+ iter++) { |
+ (*iter)->Scroll(delta_x); |
+ } |
+} |
+ |
+void WindowSelectorItem::CancelScroll() { |
+ for (TransformWindows::iterator iter = transform_windows_.begin(); |
+ iter != transform_windows_.end(); |
+ iter++) { |
+ (*iter)->CancelScroll(); |
+ } |
+} |
+ |
void WindowSelectorItem::Select() { |
aura::Window* selection_window = SelectionWindow(); |
if (selection_window) |
wm::GetWindowState(selection_window)->Activate(); |
} |
+void WindowSelectorItem::Close() { |
+ for (TransformWindows::iterator iter = transform_windows_.begin(); |
+ iter != transform_windows_.end(); |
+ iter++) { |
+ (*iter)->Close(); |
+ } |
+} |
+ |
void WindowSelectorItem::SetItemBounds(aura::Window* root_window, |
const gfx::Rect& target_bounds, |
OverviewAnimationType animation_type) { |
@@ -401,6 +425,16 @@ void WindowSelectorItem::CreateWindowLabel(const base::string16& title) { |
window_label_->Show(); |
} |
+void WindowSelectorItem::SetCloseWindowDistanceMinimum(int distance) { |
+ selector_item_activate_window_button_->SetCloseWindowDistanceMinimum( |
+ distance); |
+ for (TransformWindows::iterator iter = transform_windows_.begin(); |
+ iter != transform_windows_.end(); |
+ ++iter) { |
+ (*iter)->activate_button()->SetCloseWindowDistanceMinimum(distance); |
+ } |
+} |
+ |
void WindowSelectorItem::UpdateSelectorButtons() { |
CHECK(!transform_windows_.empty()); |