Index: chrome/browser/ui/cocoa/fullscreen_toolbar_controller.h |
diff --git a/chrome/browser/ui/cocoa/fullscreen_toolbar_controller.h b/chrome/browser/ui/cocoa/fullscreen_toolbar_controller.h |
deleted file mode 100644 |
index 4707470c5a8c285c01379cffd9ea1896dcdd6abf..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/cocoa/fullscreen_toolbar_controller.h |
+++ /dev/null |
@@ -1,190 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_UI_COCOA_FULLSCREEN_TOOLBAR_CONTROLLER_H_ |
-#define CHROME_BROWSER_UI_COCOA_FULLSCREEN_TOOLBAR_CONTROLLER_H_ |
- |
-#include <Carbon/Carbon.h> |
-#import <Cocoa/Cocoa.h> |
- |
-#include "base/mac/mac_util.h" |
-#include "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" |
- |
-@class BrowserWindowController; |
-@class CrTrackingArea; |
-@class DropdownAnimation; |
- |
-enum class FullscreenSlidingStyle { |
- OMNIBOX_TABS_PRESENT, // Tab strip and omnibox both visible. |
- OMNIBOX_TABS_HIDDEN, // Tab strip and omnibox both hidden. |
- OMNIBOX_TABS_NONE, // Tab strip and omnibox both hidden and never |
- // shown. |
-}; |
- |
-// State of the menubar in the window's screen. |
-enum class FullscreenMenubarState { |
- SHOWN, // Menubar is fully shown. |
- HIDDEN, // Menubar is fully hidden. |
- SHOWING, // Menubar is animating in. |
- HIDING, // Menubar is animating out. |
-}; |
- |
-// Provides a controller to fullscreen toolbar for a single browser |
-// window. This class handles running animations, showing and hiding the |
-// fullscreen toolbar, and managing the tracking area associated with the |
-// toolbar. This class does not directly manage any views -- the |
-// BrowserWindowController is responsible for positioning and z-ordering views. |
-// |
- |
-// TODO (spqchan): Write tests for this class. See crbug.com/640064. |
-@interface FullscreenToolbarController : NSObject<NSAnimationDelegate> { |
- @private |
- // Our parent controller. |
- BrowserWindowController* browserController_; // weak |
- |
- // Whether or not we are in fullscreen mode. |
- BOOL inFullscreenMode_; |
- |
- // The content view for the window. This is nil when not in fullscreen mode. |
- NSView* contentView_; // weak |
- |
- // The frame for the tracking area. The value is the toolbar overlay's frame |
- // with additional height added at the bottom. |
- NSRect trackingAreaFrame_; |
- |
- // The tracking area associated with the toolbar overlay bar. This tracking |
- // area is used to keep the toolbar active if the menubar had animated out |
- // but the mouse is still on the toolbar. |
- base::scoped_nsobject<CrTrackingArea> trackingArea_; |
- |
- // Pointer to the currently running animation. Is nil if no animation is |
- // running. |
- base::scoped_nsobject<DropdownAnimation> currentAnimation_; |
- |
- // Timer for scheduled hiding of the toolbar when it had been revealed for |
- // tabstrip changes. |
- base::scoped_nsobject<NSTimer> hideTimer_; |
- |
- // Tracks the currently requested system fullscreen mode, used to show or |
- // hide the menubar. This should be |kFullScreenModeNormal| when the window |
- // is not main or not fullscreen, |kFullScreenModeHideAll| while the overlay |
- // is hidden, and |kFullScreenModeHideDock| while the overlay is shown. If |
- // the window is not on the primary screen, this should always be |
- // |kFullScreenModeNormal|. This value can get out of sync with the correct |
- // state if we miss a notification (which can happen when a window is closed). |
- // Used to track the current state and make sure we properly restore the menu |
- // bar when this controller is destroyed. |
- base::mac::FullScreenMode systemFullscreenMode_; |
- |
- // Whether the omnibox is hidden in fullscreen. |
- FullscreenSlidingStyle slidingStyle_; |
- |
- // The fraction of the AppKit Menubar that is showing. Ranges from 0 to 1. |
- // Only used in AppKit Fullscreen. |
- CGFloat menubarFraction_; |
- |
- // The state of the menubar in fullscreen. |
- FullscreenMenubarState menubarState_; |
- |
- // A Carbon event handler that tracks the revealed fraction of the menu bar. |
- EventHandlerRef menuBarTrackingHandler_; |
- |
- // True when the toolbar is dropped to show tabstrip changes. |
- BOOL isRevealingToolbarForTabStripChanges_; |
- |
- // True when the toolbar should be animated back out via a DropdownAnimation. |
- // This is set and unset in hideTimer: and mouseExited:. It's set to YES |
- // before it calls animateToolbarVisibility: and then set to NO after the |
- // animation has started. |
- BOOL shouldAnimateToolbarOut_; |
- |
- // True when the toolbar is animating in/out for changes in the toolbar |
- // visibility locks. |
- BOOL isLockingBarVisibility_; |
- BOOL isReleasingBarVisibility_; |
-} |
- |
-@property(nonatomic, assign) FullscreenSlidingStyle slidingStyle; |
- |
-// Designated initializer. |
-- (id)initWithBrowserController:(BrowserWindowController*)controller |
- style:(FullscreenSlidingStyle)style; |
- |
-// Informs the controller that the browser has entered or exited fullscreen |
-// mode. |-setupFullscreenToolbarForContentView:showDropdown:| should be called |
-// after the window is setup, just before it is shown. |-exitFullscreenMode| |
-// should be called before any views are moved back to the non-fullscreen |
-// window. If |-setupFullscreenToolbarForContentView:showDropdown:| is called, |
-// it must be balanced with a call to |-exitFullscreenMode| before the |
-// controller is released. |
-- (void)setupFullscreenToolbarForContentView:(NSView*)contentView; |
-- (void)exitFullscreenMode; |
- |
-// Returns the amount by which the floating bar should be offset downwards (to |
-// avoid the menu) and by which the overlay view should be enlarged vertically. |
-// Generally, this is > 0 when the window is on the primary screen and 0 |
-// otherwise. |
-- (CGFloat)floatingBarVerticalOffset; |
- |
-// Shows/hides the toolbar with animation to reflect changes for the toolbar |
-// visibility locks. lockBarVisibilityWithAnimation: should only be called when |
-// the lock state goes from unlocked to locked. Likewise, |
-// releaseBarVisibilityWithAnimation: should only be called whenthe lock state |
-// goes from locked to unlocked. |
-- (void)lockBarVisibilityWithAnimation:(BOOL)animate; |
-- (void)releaseBarVisibilityWithAnimation:(BOOL)animate; |
- |
-// Informs the controller that the overlay should be shown/hidden, possibly |
-// with animation. |
-- (void)ensureOverlayShownWithAnimation:(BOOL)animate; |
-- (void)ensureOverlayHiddenWithAnimation:(BOOL)animate; |
- |
-// Cancels any running animation and timers. |
-- (void)cancelAnimationAndTimer; |
- |
-// Animates the toolbar dropping down to show changes to the tab strip. |
-- (void)revealToolbarForTabStripChanges; |
- |
-// In any fullscreen mode, the y offset to use for the content at the top of |
-// the screen (tab strip, omnibox, bookmark bar, etc). |
-// Ranges from 0 to -22. |
-- (CGFloat)menubarOffset; |
- |
-// Returns the fraction of the toolbar exposed at the top. |
-// It returns 1.0 if the toolbar is fully shown and 0.0 if the toolbar is |
-// hidden. Otherwise, if the toolbar is in progress of animating, it will |
-// return a float that ranges from (0, 1). |
-- (CGFloat)toolbarFraction; |
- |
-// Returns YES if the mouse is on the window's screen. This is used to check |
-// if the menubar events belong to window's screen since the menubar would |
-// only be revealed if the mouse is there. |
-- (BOOL)isMouseOnScreen; |
- |
-// Sets |trackingAreaFrame_| from the given overlay frame. |
-- (void)setTrackingAreaFromOverlayFrame:(NSRect)frame; |
- |
-// Returns YES if the browser is in the process of entering/exiting |
-// fullscreen. |
-- (BOOL)isFullscreenTransitionInProgress; |
- |
-// Returns YES if the browser in in fullscreen. |
-- (BOOL)isInFullscreen; |
- |
-// Updates the toolbar by updating the layout, menubar and dock. |
-- (void)updateToolbar; |
- |
-@end |
- |
-// Private methods exposed for testing. |
-@interface FullscreenToolbarController (ExposedForTesting) |
-// Adjusts the AppKit Fullscreen options of the application. |
-- (void)setSystemFullscreenModeTo:(base::mac::FullScreenMode)mode; |
- |
-// Callback for menu bar animations. |
-- (void)setMenuBarRevealProgress:(CGFloat)progress; |
- |
-@end |
- |
-#endif // CHROME_BROWSER_UI_COCOA_FULLSCREEN_TOOLBAR_CONTROLLER_H_ |