diff options
author | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-19 16:31:45 +0000 |
---|---|---|
committer | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-19 16:31:45 +0000 |
commit | 1e855567284cdfdd022534ecd6d191ad28f58e9c (patch) | |
tree | 83f81a06e35039276abcccfdb68cf4e46dc95b0f /ash | |
parent | d602b9093b570d905b0c4ed325739adfa72506d4 (diff) | |
download | chromium_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.cc | 16 |
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; } |