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

Side by Side Diff: ash/shelf/shelf_layout_manager.cc

Issue 198413003: Enable immersive fullscreen on Windows Ash. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix issues from previous review comment. Created 6 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/frame/custom_frame_view_ash.cc ('k') | ash/shelf/shelf_layout_manager_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/shelf/shelf_layout_manager.h" 5 #include "ash/shelf/shelf_layout_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <cstring> 9 #include <cstring>
10 #include <string> 10 #include <string>
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 } 386 }
387 387
388 void ShelfLayoutManager::RemoveObserver(ShelfLayoutManagerObserver* observer) { 388 void ShelfLayoutManager::RemoveObserver(ShelfLayoutManagerObserver* observer) {
389 observers_.RemoveObserver(observer); 389 observers_.RemoveObserver(observer);
390 } 390 }
391 391
392 //////////////////////////////////////////////////////////////////////////////// 392 ////////////////////////////////////////////////////////////////////////////////
393 // ShelfLayoutManager, Gesture functions: 393 // ShelfLayoutManager, Gesture functions:
394 394
395 void ShelfLayoutManager::OnGestureEdgeSwipe(const ui::GestureEvent& gesture) { 395 void ShelfLayoutManager::OnGestureEdgeSwipe(const ui::GestureEvent& gesture) {
396 // Edge swipe should exit fullscreen, show the tray, and disable auto-hide. 396 if (visibility_state() == SHELF_AUTO_HIDE) {
397 397 gesture_drag_auto_hide_state_ = SHELF_AUTO_HIDE_SHOWN;
398 if (workspace_controller_->GetWindowState() == 398 gesture_drag_status_ = GESTURE_DRAG_COMPLETE_IN_PROGRESS;
399 WORKSPACE_WINDOW_STATE_FULL_SCREEN) { 399 UpdateVisibilityState();
400 accelerators::ToggleFullscreen(); 400 gesture_drag_status_ = GESTURE_DRAG_NONE;
401 }
402
403 ShelfVisibilityState visibility = CalculateShelfVisibility();
404 if (visibility == SHELF_AUTO_HIDE &&
405 CalculateAutoHideState(visibility) == SHELF_AUTO_HIDE_HIDDEN) {
406 SetState(SHELF_VISIBLE);
407 SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
408 } 401 }
409 } 402 }
410 403
411 void ShelfLayoutManager::StartGestureDrag(const ui::GestureEvent& gesture) { 404 void ShelfLayoutManager::StartGestureDrag(const ui::GestureEvent& gesture) {
412 gesture_drag_status_ = GESTURE_DRAG_IN_PROGRESS; 405 gesture_drag_status_ = GESTURE_DRAG_IN_PROGRESS;
413 gesture_drag_amount_ = 0.f; 406 gesture_drag_amount_ = 0.f;
414 gesture_drag_auto_hide_state_ = visibility_state() == SHELF_AUTO_HIDE ? 407 gesture_drag_auto_hide_state_ = visibility_state() == SHELF_AUTO_HIDE ?
415 auto_hide_state() : SHELF_AUTO_HIDE_SHOWN; 408 auto_hide_state() : SHELF_AUTO_HIDE_SHOWN;
416 UpdateShelfBackground(BACKGROUND_CHANGE_ANIMATE); 409 UpdateShelfBackground(BACKGROUND_CHANGE_ANIMATE);
417 } 410 }
(...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after
1156 SHELF_HIDDEN); 1149 SHELF_HIDDEN);
1157 TargetBounds target_bounds; 1150 TargetBounds target_bounds;
1158 CalculateTargetBounds(state_, &target_bounds); 1151 CalculateTargetBounds(state_, &target_bounds);
1159 UpdateBoundsAndOpacity(target_bounds, true, NULL); 1152 UpdateBoundsAndOpacity(target_bounds, true, NULL);
1160 UpdateVisibilityState(); 1153 UpdateVisibilityState();
1161 } 1154 }
1162 } 1155 }
1163 1156
1164 } // namespace internal 1157 } // namespace internal
1165 } // namespace ash 1158 } // namespace ash
OLDNEW
« no previous file with comments | « ash/frame/custom_frame_view_ash.cc ('k') | ash/shelf/shelf_layout_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698