summaryrefslogtreecommitdiffstats
path: root/ash
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-19 16:31:45 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-19 16:31:45 +0000
commit1e855567284cdfdd022534ecd6d191ad28f58e9c (patch)
tree83f81a06e35039276abcccfdb68cf4e46dc95b0f /ash
parentd602b9093b570d905b0c4ed325739adfa72506d4 (diff)
downloadchromium_src-1e855567284cdfdd022534ecd6d191ad28f58e9c.zip
chromium_src-1e855567284cdfdd022534ecd6d191ad28f58e9c.tar.gz
chromium_src-1e855567284cdfdd022534ecd6d191ad28f58e9c.tar.bz2
ash: Some now window-management gestures.
4/5 finger swipe-up to maximize widow, and swipe-down to minimize. BUG=137951 TEST=none Review URL: https://chromiumcodereview.appspot.com/10797025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147454 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r--ash/wm/system_gesture_event_filter.cc16
1 files changed, 13 insertions, 3 deletions
diff --git a/ash/wm/system_gesture_event_filter.cc b/ash/wm/system_gesture_event_filter.cc
index 91fa4cd..8358d77 100644
--- a/ash/wm/system_gesture_event_filter.cc
+++ b/ash/wm/system_gesture_event_filter.cc
@@ -409,8 +409,12 @@ class SystemPinchHandler {
}
case ui::ET_GESTURE_MULTIFINGER_SWIPE: {
- // Snap for left/right swipes.
+ phantom_.Hide();
+ pinch_factor_ = 1.0;
+ phantom_state_ = PHANTOM_WINDOW_NORMAL;
+
if (event.details().swipe_left() || event.details().swipe_right()) {
+ // Snap for left/right swipes.
ui::ScopedLayerAnimationSettings settings(
target_->layer()->GetAnimator());
SnapSizer sizer(target_,
@@ -419,8 +423,14 @@ class SystemPinchHandler {
internal::SnapSizer::RIGHT_EDGE,
Shell::GetInstance()->GetGridSize());
target_->SetBounds(sizer.GetSnapBounds(target_->bounds()));
- phantom_.Hide();
- pinch_factor_ = 1.0;
+ } else if (event.details().swipe_up()) {
+ if (!wm::IsWindowMaximized(target_) &&
+ !wm::IsWindowFullscreen(target_))
+ wm::MaximizeWindow(target_);
+ } else if (event.details().swipe_down()) {
+ wm::MinimizeWindow(target_);
+ } else {
+ NOTREACHED() << "Swipe happened without a direction.";
}
break;
}