| Index: ash/wm/overview/scoped_transform_overview_window.cc
|
| diff --git a/ash/wm/overview/scoped_transform_overview_window.cc b/ash/wm/overview/scoped_transform_overview_window.cc
|
| index 933c8b47cf5d89ab46ab3f58fb9366b14245de02..79edd49716190df174fd18518b6212b34d302074 100644
|
| --- a/ash/wm/overview/scoped_transform_overview_window.cc
|
| +++ b/ash/wm/overview/scoped_transform_overview_window.cc
|
| @@ -10,6 +10,7 @@
|
| #include "ash/root_window_controller.h"
|
| #include "ash/wm/overview/scoped_overview_animation_settings.h"
|
| #include "ash/wm/overview/window_selector_item.h"
|
| +#include "ash/wm/splitview/split_view_controller.h"
|
| #include "ash/wm/window_mirror_view.h"
|
| #include "ash/wm/window_state.h"
|
| #include "ash/wm/window_util.h"
|
| @@ -165,8 +166,10 @@ TransientDescendantIteratorRange GetTransientTreeIterator(
|
| } // namespace
|
|
|
| ScopedTransformOverviewWindow::ScopedTransformOverviewWindow(
|
| + WindowSelectorItem* selector_item,
|
| aura::Window* window)
|
| - : window_(window),
|
| + : selector_item_(selector_item),
|
| + window_(window),
|
| determined_original_window_shape_(false),
|
| ignored_by_shelf_(wm::GetWindowState(window)->ignored_by_shelf()),
|
| overview_started_(false),
|
| @@ -454,7 +457,25 @@ void ScopedTransformOverviewWindow::EnsureVisible() {
|
| }
|
|
|
| void ScopedTransformOverviewWindow::OnGestureEvent(ui::GestureEvent* event) {
|
| - if (event->type() == ui::ET_GESTURE_TAP) {
|
| + if (minimized_widget_ && SplitViewController::ShouldAllowSplitView()) {
|
| + gfx::Point location(event->location());
|
| + ::wm::ConvertPointToScreen(minimized_widget_->GetNativeWindow(), &location);
|
| + switch (event->type()) {
|
| + case ui::ET_GESTURE_SCROLL_BEGIN:
|
| + case ui::ET_GESTURE_TAP_DOWN:
|
| + selector_item_->HandlePressEvent(location);
|
| + break;
|
| + case ui::ET_GESTURE_SCROLL_UPDATE:
|
| + selector_item_->HandleDragEvent(location);
|
| + break;
|
| + case ui::ET_GESTURE_END:
|
| + selector_item_->HandleReleaseEvent(location);
|
| + break;
|
| + default:
|
| + break;
|
| + }
|
| + event->SetHandled();
|
| + } else if (event->type() == ui::ET_GESTURE_TAP) {
|
| EnsureVisible();
|
| window_->Show();
|
| wm::ActivateWindow(window_);
|
| @@ -462,7 +483,25 @@ void ScopedTransformOverviewWindow::OnGestureEvent(ui::GestureEvent* event) {
|
| }
|
|
|
| void ScopedTransformOverviewWindow::OnMouseEvent(ui::MouseEvent* event) {
|
| - if (event->type() == ui::ET_MOUSE_PRESSED && event->IsOnlyLeftMouseButton()) {
|
| + if (minimized_widget_ && SplitViewController::ShouldAllowSplitView()) {
|
| + gfx::Point location(event->location());
|
| + ::wm::ConvertPointToScreen(minimized_widget_->GetNativeWindow(), &location);
|
| + switch (event->type()) {
|
| + case ui::ET_MOUSE_PRESSED:
|
| + selector_item_->HandlePressEvent(location);
|
| + break;
|
| + case ui::ET_MOUSE_DRAGGED:
|
| + selector_item_->HandleDragEvent(location);
|
| + break;
|
| + case ui::ET_MOUSE_RELEASED:
|
| + selector_item_->HandleReleaseEvent(location);
|
| + break;
|
| + default:
|
| + break;
|
| + }
|
| + event->SetHandled();
|
| + } else if (event->type() == ui::ET_MOUSE_PRESSED &&
|
| + event->IsOnlyLeftMouseButton()) {
|
| EnsureVisible();
|
| window_->Show();
|
| wm::ActivateWindow(window_);
|
|
|