| Index: ash/wm/overview/window_overview.cc
|
| diff --git a/ash/wm/overview/window_overview.cc b/ash/wm/overview/window_overview.cc
|
| index ea139a2b48dadcaaf0da63c1ab7f4c2a185349e4..3411c76c18c1e8f14f284148ae7417e077e6a38f 100644
|
| --- a/ash/wm/overview/window_overview.cc
|
| +++ b/ash/wm/overview/window_overview.cc
|
| @@ -10,7 +10,7 @@
|
| #include "ash/shell.h"
|
| #include "ash/shell_window_ids.h"
|
| #include "ash/wm/overview/window_selector.h"
|
| -#include "ash/wm/overview/window_selector_window.h"
|
| +#include "ash/wm/overview/window_selector_item.h"
|
| #include "third_party/skia/include/core/SkColor.h"
|
| #include "ui/aura/root_window.h"
|
| #include "ui/aura/window.h"
|
| @@ -31,14 +31,14 @@ const float kWindowOverviewSelectionOpacity = 0.5f;
|
| const int kWindowOverviewSelectionPadding = 15;
|
|
|
| // A comparator for locating a given target window.
|
| -struct WindowSelectorWindowComparator
|
| - : public std::unary_function<WindowSelectorWindow*, bool> {
|
| - explicit WindowSelectorWindowComparator(const aura::Window* target_window)
|
| +struct WindowSelectorItemComparator
|
| + : public std::unary_function<WindowSelectorItem*, bool> {
|
| + explicit WindowSelectorItemComparator(const aura::Window* target_window)
|
| : target(target_window) {
|
| }
|
|
|
| - bool operator()(const WindowSelectorWindow* window) const {
|
| - return target == window->window();
|
| + bool operator()(const WindowSelectorItem* window) const {
|
| + return window->TargetedWindow(target) != NULL;
|
| }
|
|
|
| const aura::Window* target;
|
| @@ -47,7 +47,7 @@ struct WindowSelectorWindowComparator
|
| } // namespace
|
|
|
| WindowOverview::WindowOverview(WindowSelector* window_selector,
|
| - WindowSelectorWindowList* windows,
|
| + WindowSelectorItemList* windows,
|
| aura::RootWindow* single_root_window)
|
| : window_selector_(window_selector),
|
| windows_(windows),
|
| @@ -89,9 +89,9 @@ void WindowOverview::OnEvent(ui::Event* event) {
|
| // If the event is targetted at any of the windows in the overview, then
|
| // prevent it from propagating.
|
| aura::Window* target = static_cast<aura::Window*>(event->target());
|
| - for (WindowSelectorWindowList::iterator iter = windows_->begin();
|
| + for (WindowSelectorItemList::iterator iter = windows_->begin();
|
| iter != windows_->end(); ++iter) {
|
| - if ((*iter)->Contains(target)) {
|
| + if ((*iter)->TargetedWindow(target)) {
|
| // TODO(flackr): StopPropogation prevents generation of gesture events.
|
| // We should find a better way to prevent events from being delivered to
|
| // the window, perhaps a transparent window in front of the target window
|
| @@ -116,24 +116,24 @@ void WindowOverview::OnKeyEvent(ui::KeyEvent* event) {
|
| void WindowOverview::OnMouseEvent(ui::MouseEvent* event) {
|
| if (event->type() != ui::ET_MOUSE_RELEASED)
|
| return;
|
| - WindowSelectorWindow* target = GetEventTarget(event);
|
| + aura::Window* target = GetEventTarget(event);
|
| if (!target)
|
| return;
|
|
|
| - window_selector_->SelectWindow(target->window());
|
| + window_selector_->SelectWindow(target);
|
| }
|
|
|
| void WindowOverview::OnTouchEvent(ui::TouchEvent* event) {
|
| if (event->type() != ui::ET_TOUCH_PRESSED)
|
| return;
|
| - WindowSelectorWindow* target = GetEventTarget(event);
|
| + aura::Window* target = GetEventTarget(event);
|
| if (!target)
|
| return;
|
|
|
| - window_selector_->SelectWindow(target->window());
|
| + window_selector_->SelectWindow(target);
|
| }
|
|
|
| -WindowSelectorWindow* WindowOverview::GetEventTarget(ui::LocatedEvent* event) {
|
| +aura::Window* WindowOverview::GetEventTarget(ui::LocatedEvent* event) {
|
| aura::Window* target = static_cast<aura::Window*>(event->target());
|
| // If the target window doesn't actually contain the event location (i.e.
|
| // mouse down over the window and mouse up elsewhere) then do not select the
|
| @@ -141,18 +141,19 @@ WindowSelectorWindow* WindowOverview::GetEventTarget(ui::LocatedEvent* event) {
|
| if (!target->HitTest(event->location()))
|
| return NULL;
|
|
|
| - for (WindowSelectorWindowList::iterator iter = windows_->begin();
|
| + for (WindowSelectorItemList::iterator iter = windows_->begin();
|
| iter != windows_->end(); ++iter) {
|
| - if ((*iter)->Contains(target))
|
| - return *iter;
|
| + aura::Window* selected = (*iter)->TargetedWindow(target);
|
| + if (selected)
|
| + return selected;
|
| }
|
| return NULL;
|
| }
|
|
|
| void WindowOverview::PositionWindows() {
|
| if (single_root_window_) {
|
| - std::vector<WindowSelectorWindow*> windows;
|
| - for (WindowSelectorWindowList::iterator iter = windows_->begin();
|
| + std::vector<WindowSelectorItem*> windows;
|
| + for (WindowSelectorItemList::iterator iter = windows_->begin();
|
| iter != windows_->end(); ++iter) {
|
| windows.push_back(*iter);
|
| }
|
| @@ -165,10 +166,10 @@ void WindowOverview::PositionWindows() {
|
| }
|
|
|
| void WindowOverview::PositionWindowsFromRoot(aura::RootWindow* root_window) {
|
| - std::vector<WindowSelectorWindow*> windows;
|
| - for (WindowSelectorWindowList::iterator iter = windows_->begin();
|
| + std::vector<WindowSelectorItem*> windows;
|
| + for (WindowSelectorItemList::iterator iter = windows_->begin();
|
| iter != windows_->end(); ++iter) {
|
| - if ((*iter)->window()->GetRootWindow() == root_window)
|
| + if ((*iter)->GetRootWindow() == root_window)
|
| windows.push_back(*iter);
|
| }
|
| PositionWindowsOnRoot(root_window, windows);
|
| @@ -176,7 +177,7 @@ void WindowOverview::PositionWindowsFromRoot(aura::RootWindow* root_window) {
|
|
|
| void WindowOverview::PositionWindowsOnRoot(
|
| aura::RootWindow* root_window,
|
| - const std::vector<WindowSelectorWindow*>& windows) {
|
| + const std::vector<WindowSelectorItem*>& windows) {
|
| if (windows.empty())
|
| return;
|
|
|
| @@ -213,7 +214,7 @@ void WindowOverview::PositionWindowsOnRoot(
|
| window_size.width(),
|
| window_size.height());
|
| target_bounds.Inset(kWindowMargin, kWindowMargin);
|
| - windows[i]->TransformToFitBounds(root_window, target_bounds);
|
| + windows[i]->SetBounds(root_window, target_bounds);
|
| }
|
| }
|
|
|
|
|