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

Unified Diff: chrome/browser/ui/cocoa/fullscreen_toolbar_controller.mm

Issue 2467833003: [Mac] Move the fullscreen toolbar style to FullscreenToolbarController (Closed)
Patch Set: fix for rsesek Created 4 years, 1 month 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 | « chrome/browser/ui/cocoa/fullscreen_toolbar_controller.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/cocoa/fullscreen_toolbar_controller.mm
diff --git a/chrome/browser/ui/cocoa/fullscreen_toolbar_controller.mm b/chrome/browser/ui/cocoa/fullscreen_toolbar_controller.mm
index b9d25dbd5fd73413928ee15b42ce813f8e2cedaf..1553e300182fee8ede91c87bbb0d007840d819ed 100644
--- a/chrome/browser/ui/cocoa/fullscreen_toolbar_controller.mm
+++ b/chrome/browser/ui/cocoa/fullscreen_toolbar_controller.mm
@@ -9,15 +9,16 @@
#include "base/command_line.h"
#import "base/mac/mac_util.h"
#include "base/mac/sdk_forward_declarations.h"
+#include "chrome/browser/profiles/profile.h"
#import "chrome/browser/ui/cocoa/browser_window_controller.h"
#import "chrome/browser/ui/cocoa/fullscreen/fullscreen_menubar_tracker.h"
#import "chrome/browser/ui/cocoa/fullscreen/fullscreen_toolbar_animation_controller.h"
#import "chrome/browser/ui/cocoa/fullscreen/fullscreen_toolbar_mouse_tracker.h"
#import "chrome/browser/ui/cocoa/fullscreen/fullscreen_toolbar_visibility_lock_controller.h"
#include "chrome/common/chrome_switches.h"
+#include "chrome/common/pref_names.h"
#include "ui/base/cocoa/appkit_utils.h"
#import "ui/base/cocoa/nsview_additions.h"
-#import "ui/base/cocoa/tracking_area.h"
namespace {
@@ -26,7 +27,7 @@ const CGFloat kHideFraction = 0.0;
const CGFloat kShowFraction = 1.0;
// The amount by which the toolbar is offset downwards (to avoid the menu)
-// when the toolbar style is OMNIBOX_TABS_HIDDEN. (We can't use
+// when the toolbar style is TOOLBAR_HIDDEN. (We can't use
// |-[NSMenu menuBarHeight]| since it returns 0 when the menu bar is hidden.)
const CGFloat kToolbarVerticalOffset = 22;
@@ -59,14 +60,12 @@ const CGFloat kToolbarVerticalOffset = 22;
@implementation FullscreenToolbarController
-@synthesize slidingStyle = slidingStyle_;
+@synthesize toolbarStyle = toolbarStyle_;
-- (id)initWithBrowserController:(BrowserWindowController*)controller
- style:(FullscreenSlidingStyle)style {
+- (id)initWithBrowserController:(BrowserWindowController*)controller {
if ((self = [super init])) {
browserController_ = controller;
systemFullscreenMode_ = base::mac::kFullScreenModeNormal;
- slidingStyle_ = style;
animationController_.reset(new FullscreenToolbarAnimationController(self));
visibilityLockController_.reset(
[[FullscreenToolbarVisibilityLockController alloc]
@@ -86,6 +85,8 @@ const CGFloat kToolbarVerticalOffset = 22;
DCHECK(!inFullscreenMode_);
inFullscreenMode_ = YES;
+ [self updateToolbarStyle];
+
menubarTracker_.reset([[FullscreenMenubarTracker alloc]
initWithFullscreenToolbarController:self]);
mouseTracker_.reset([[FullscreenToolbarMouseTracker alloc]
@@ -112,7 +113,6 @@ const CGFloat kToolbarVerticalOffset = 22;
- (void)exitFullscreenMode {
DCHECK(inFullscreenMode_);
inFullscreenMode_ = NO;
-
[self cleanup];
}
@@ -158,6 +158,22 @@ const CGFloat kToolbarVerticalOffset = 22;
systemFullscreenMode_ = mode;
}
+- (void)updateToolbarStyle {
+ FullscreenToolbarStyle oldStyle = toolbarStyle_;
+
+ if ([browserController_ isFullscreenForTabContentOrExtension]) {
+ toolbarStyle_ = FullscreenToolbarStyle::TOOLBAR_NONE;
+ } else {
+ PrefService* prefs = [browserController_ profile]->GetPrefs();
+ toolbarStyle_ = prefs->GetBoolean(prefs::kShowFullscreenToolbar)
+ ? FullscreenToolbarStyle::TOOLBAR_PRESENT
+ : FullscreenToolbarStyle::TOOLBAR_HIDDEN;
+ }
+
+ if (oldStyle != toolbarStyle_)
+ [self updateToolbar];
+}
+
- (void)updateToolbar {
[browserController_ layoutSubviews];
animationController_->ToolbarDidUpdate();
@@ -202,12 +218,12 @@ const CGFloat kToolbarVerticalOffset = 22;
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kKioskMode))
return kHideFraction;
- switch (slidingStyle_) {
- case FullscreenSlidingStyle::OMNIBOX_TABS_PRESENT:
+ switch (toolbarStyle_) {
+ case FullscreenToolbarStyle::TOOLBAR_PRESENT:
return kShowFraction;
- case FullscreenSlidingStyle::OMNIBOX_TABS_NONE:
+ case FullscreenToolbarStyle::TOOLBAR_NONE:
return kHideFraction;
- case FullscreenSlidingStyle::OMNIBOX_TABS_HIDDEN:
+ case FullscreenToolbarStyle::TOOLBAR_HIDDEN:
if ([self mustShowFullscreenToolbar])
return kShowFraction;
@@ -222,10 +238,10 @@ const CGFloat kToolbarVerticalOffset = 22;
if (!inFullscreenMode_)
return NO;
- if (slidingStyle_ == FullscreenSlidingStyle::OMNIBOX_TABS_PRESENT)
+ if (toolbarStyle_ == FullscreenToolbarStyle::TOOLBAR_PRESENT)
return YES;
- if (slidingStyle_ == FullscreenSlidingStyle::OMNIBOX_TABS_NONE)
+ if (toolbarStyle_ == FullscreenToolbarStyle::TOOLBAR_NONE)
return NO;
FullscreenMenubarState menubarState = [menubarTracker_ state];
@@ -302,11 +318,11 @@ const CGFloat kToolbarVerticalOffset = 22;
// notifications.
[self setSystemFullscreenModeTo:base::mac::kFullScreenModeNormal];
- menubarTracker_.reset();
- mouseTracker_.reset();
-
// No more calls back up to the BWC.
browserController_ = nil;
+
+ menubarTracker_.reset();
+ mouseTracker_.reset();
}
- (BOOL)shouldShowMenubarInImmersiveFullscreen {
« no previous file with comments | « chrome/browser/ui/cocoa/fullscreen_toolbar_controller.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698