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

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 comment about the top pixel. 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
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 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 observers_.AddObserver(observer); 385 observers_.AddObserver(observer);
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) {
pkotwicz 2014/03/18 14:56:47 Would you be able to replace this entire function
396 // Edge swipe should exit fullscreen, show the tray, and disable auto-hide. 396 WorkspaceWindowState window_state(workspace_controller_->GetWindowState());
397 397 if (window_state == WORKSPACE_WINDOW_STATE_FULL_SCREEN) {
398 if (workspace_controller_->GetWindowState() == 398 const aura::Window* fullscreen_window = GetRootWindowController(
399 WORKSPACE_WINDOW_STATE_FULL_SCREEN) { 399 root_window_)->GetWindowForFullscreenMode();
400 accelerators::ToggleFullscreen(); 400 if (wm::GetWindowState(fullscreen_window)->hide_shelf_when_fullscreen())
401 return;
402 } else if (CalculateShelfVisibility() == SHELF_VISIBLE) {
403 // If the shelf is permanently visible, don't make an effort to display it.
404 return;
pkotwicz 2014/03/18 14:56:47 With the code as you have it, won't you early retu
zturner 2014/03/18 18:26:36 Hmm, the code works in practice. The relationship
pkotwicz 2014/03/18 19:35:28 Ahh, I understand. This works because you are chec
401 } 405 }
402 406
403 ShelfVisibilityState visibility = CalculateShelfVisibility(); 407 gesture_drag_auto_hide_state_ = SHELF_AUTO_HIDE_SHOWN;
404 if (visibility == SHELF_AUTO_HIDE && 408 gesture_drag_status_ = GESTURE_DRAG_COMPLETE_IN_PROGRESS;
405 CalculateAutoHideState(visibility) == SHELF_AUTO_HIDE_HIDDEN) { 409 SetState(SHELF_AUTO_HIDE);
406 SetState(SHELF_VISIBLE); 410 gesture_drag_status_ = GESTURE_DRAG_NONE;
407 SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
408 }
409 } 411 }
410 412
411 void ShelfLayoutManager::StartGestureDrag(const ui::GestureEvent& gesture) { 413 void ShelfLayoutManager::StartGestureDrag(const ui::GestureEvent& gesture) {
412 gesture_drag_status_ = GESTURE_DRAG_IN_PROGRESS; 414 gesture_drag_status_ = GESTURE_DRAG_IN_PROGRESS;
413 gesture_drag_amount_ = 0.f; 415 gesture_drag_amount_ = 0.f;
414 gesture_drag_auto_hide_state_ = visibility_state() == SHELF_AUTO_HIDE ? 416 gesture_drag_auto_hide_state_ = visibility_state() == SHELF_AUTO_HIDE ?
415 auto_hide_state() : SHELF_AUTO_HIDE_SHOWN; 417 auto_hide_state() : SHELF_AUTO_HIDE_SHOWN;
416 UpdateShelfBackground(BACKGROUND_CHANGE_ANIMATE); 418 UpdateShelfBackground(BACKGROUND_CHANGE_ANIMATE);
417 } 419 }
418 420
(...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after
1156 SHELF_HIDDEN); 1158 SHELF_HIDDEN);
1157 TargetBounds target_bounds; 1159 TargetBounds target_bounds;
1158 CalculateTargetBounds(state_, &target_bounds); 1160 CalculateTargetBounds(state_, &target_bounds);
1159 UpdateBoundsAndOpacity(target_bounds, true, NULL); 1161 UpdateBoundsAndOpacity(target_bounds, true, NULL);
1160 UpdateVisibilityState(); 1162 UpdateVisibilityState();
1161 } 1163 }
1162 } 1164 }
1163 1165
1164 } // namespace internal 1166 } // namespace internal
1165 } // namespace ash 1167 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698