Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2724)

Unified Diff: ash/wm/overview/scoped_transform_overview_window.cc

Issue 2918403006: CrOS Tablet Window management - Split Screen part I (Closed)
Patch Set: Add unittests. Will split the CL into two CLs. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/wm/overview/scoped_transform_overview_window.h ('k') | ash/wm/overview/window_grid.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_);
« no previous file with comments | « ash/wm/overview/scoped_transform_overview_window.h ('k') | ash/wm/overview/window_grid.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698