| 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 9e5cbde72bd36cff5652e34080adfccc46b29551..47cd582576ecf7598dbc7535cddf16a86777a47f 100644
|
| --- a/ash/wm/overview/scoped_transform_overview_window.cc
|
| +++ b/ash/wm/overview/scoped_transform_overview_window.cc
|
| @@ -9,6 +9,7 @@
|
|
|
| #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"
|
| @@ -164,8 +165,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),
|
| @@ -456,7 +459,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_);
|
| @@ -464,7 +485,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_);
|
|
|