Chromium Code Reviews| Index: chrome/browser/ui/cocoa/browser_window_controller.h |
| diff --git a/chrome/browser/ui/cocoa/browser_window_controller.h b/chrome/browser/ui/cocoa/browser_window_controller.h |
| index 2cd96f2558a941fe70dacccecd53012c666d985b..978f8a99de2a3bf22629f93dfa2ca00f9da2fd7a 100644 |
| --- a/chrome/browser/ui/cocoa/browser_window_controller.h |
| +++ b/chrome/browser/ui/cocoa/browser_window_controller.h |
| @@ -463,6 +463,31 @@ class Command; |
| // |
| // + HTML5 fullscreen. <-- Currently uses AppKitFullscreen API. This should |
| // eventually migrate to the Immersive Fullscreen API. |
| +// |
| +// There are more fullscreen styles on OSX than other OSes. However, all OSes |
| +// share the same cross-platform code for entering fullscreen |
| +// (FullscreenController). It is important for OSX fullscreen logic to track |
| +// how the user triggered fullscreen mode. |
| +// There are currently 5 possible mechanisms: |
| +// - User clicks the AppKit Fullscreen button. |
| +// -- This invokes -[BrowserWindowController windowWillEnterFullscreen:] |
| +// - User selects the menu item corresponding to "Canonical Fullscreen". |
|
Robert Sesek
2014/09/16 15:49:02
We're not going to call it that in the menu, so th
erikchen
2014/09/16 17:12:36
I was intentionally using the internal names for t
|
| +// -- This invokes FullscreenController::ToggleFullscreenModeInternal( |
| +// BROWSER_WITH_CHROME) |
| +// - User selects the menu item corresponding to "Presentation Mode". |
| +// -- This invokes FullscreenController::ToggleFullscreenModeInternal( |
| +// BROWSER) |
| +// -- The corresponding URL will be empty. |
| +// - User requests fullscreen via an extension. |
| +// -- This invokes FullscreenController::ToggleFullscreenModeInternal( |
| +// BROWSER) |
| +// -- The corresponding URL will be the url of the extension. |
| +// - User requests fullscreen via Flash or js apis. |
|
Robert Sesek
2014/09/16 15:49:02
js -> JavaScript
erikchen
2014/09/16 17:12:36
Done.
|
| +// -- This invokes FullscreenController::ToggleFullscreenModeInternal( |
| +// BROWSER) |
| +// -- browser_->fullscreen_controller()-> |
| +// IsWindowFullscreenForTabOrPending() returns true. |
| +// -- The corresponding URL will be the url of the web page. |
| // Methods having to do with fullscreen and presentation mode. |
| @interface BrowserWindowController(Fullscreen) |
| @@ -494,13 +519,16 @@ class Command; |
| // and other UI is expected to slide. |
| - (BOOL)isInFullscreenWithOmniboxSliding; |
| -// Enters (or exits) presentation mode. |
| -- (void)enterPresentationModeForURL:(const GURL&)url |
| - bubbleType:(FullscreenExitBubbleType)bubbleType; |
| +// Enters presentation mode. |
| +- (void)enterPresentationMode; |
| + |
| +// Enter fullscreen for an extension. |
| +- (void)enterExtensionFullscreenForURL:(const GURL&)url |
| + bubbleType:(FullscreenExitBubbleType)bubbleType; |
| // Enters Immersive Fullscreen for the given URL. |
| -- (void)enterHTML5FullscreenForURL:(const GURL&)url |
| - bubbleType:(FullscreenExitBubbleType)bubbleType; |
| +- (void)enterWebContentFullscreenForURL:(const GURL&)url |
| + bubbleType:(FullscreenExitBubbleType)bubbleType; |
| // Exits the current fullscreen mode. |
| - (void)exitAnyFullscreen; |