| Index: chrome/browser/ui/cocoa/browser_window_controller.mm
|
| diff --git a/chrome/browser/ui/cocoa/browser_window_controller.mm b/chrome/browser/ui/cocoa/browser_window_controller.mm
|
| index 0299daa460a9da3ffcd9f892ad1f19ccbdfe1ac3..1c8e8733a68af8910e6104f895362db178293513 100644
|
| --- a/chrome/browser/ui/cocoa/browser_window_controller.mm
|
| +++ b/chrome/browser/ui/cocoa/browser_window_controller.mm
|
| @@ -42,6 +42,7 @@
|
| #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h"
|
| #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bubble_observer_cocoa.h"
|
| #import "chrome/browser/ui/cocoa/bookmarks/bookmark_editor_controller.h"
|
| +#import "chrome/browser/ui/cocoa/browser/exclusive_access_controller_views.h"
|
| #import "chrome/browser/ui/cocoa/browser_window_cocoa.h"
|
| #import "chrome/browser/ui/cocoa/browser_window_command_handler.h"
|
| #import "chrome/browser/ui/cocoa/browser_window_controller_private.h"
|
| @@ -350,6 +351,10 @@ void SetUpBrowserWindowCommandHandler(NSWindow* window) {
|
| resizeDelegate:self]);
|
| [bookmarkBarController_ setBookmarkBarEnabled:[self supportsBookmarkBar]];
|
|
|
| + // Creates the manager for fullscreen and fullscreen bubbles.
|
| + exclusiveAccessController_.reset(
|
| + new ExclusiveAccessController(self, browser_.get()));
|
| +
|
| // Create the infobar container view, so we can pass it to the
|
| // ToolbarController.
|
| infoBarContainerController_.reset(
|
| @@ -1884,11 +1889,6 @@ willAnimateFromState:(BookmarkBar::State)oldState
|
| }
|
|
|
| // (Private/TestingAPI)
|
| -- (ExclusiveAccessBubbleWindowController*)
|
| - exclusiveAccessBubbleWindowController {
|
| - return exclusiveAccessBubbleWindowController_.get();
|
| -}
|
| -
|
| - (NSRect)omniboxPopupAnchorRect {
|
| // Start with toolbar rect.
|
| NSView* toolbarView = [toolbarController_ view];
|
| @@ -1959,10 +1959,7 @@ willAnimateFromState:(BookmarkBar::State)oldState
|
| : fullscreen_mac::OMNIBOX_TABS_HIDDEN];
|
| }
|
|
|
| -- (void)updateFullscreenExitBubbleURL:(const GURL&)url
|
| - bubbleType:(ExclusiveAccessBubbleType)bubbleType {
|
| - fullscreenUrl_ = url;
|
| - exclusiveAccessBubbleType_ = bubbleType;
|
| +- (void)updateFullscreenExitBubble {
|
| [self layoutSubviews];
|
| [self showFullscreenExitBubbleIfNecessary];
|
| }
|
| @@ -1989,21 +1986,17 @@ willAnimateFromState:(BookmarkBar::State)oldState
|
| enteringAppKitFullscreen_);
|
| }
|
|
|
| -- (void)enterExtensionFullscreenForURL:(const GURL&)url
|
| - bubbleType:(ExclusiveAccessBubbleType)bubbleType {
|
| +- (void)enterExtensionFullscreen {
|
| if (chrome::mac::SupportsSystemFullscreen()) {
|
| - fullscreenUrl_ = url;
|
| - exclusiveAccessBubbleType_ = bubbleType;
|
| [self enterBrowserFullscreenWithToolbar:NO];
|
| } else {
|
| [self enterImmersiveFullscreen];
|
| - DCHECK(!url.is_empty());
|
| - [self updateFullscreenExitBubbleURL:url bubbleType:bubbleType];
|
| + DCHECK(!exclusiveAccessController_->url().is_empty());
|
| + [self updateFullscreenExitBubble];
|
| }
|
| }
|
|
|
| -- (void)enterWebContentFullscreenForURL:(const GURL&)url
|
| - bubbleType:(ExclusiveAccessBubbleType)bubbleType {
|
| +- (void)enterWebContentFullscreen {
|
| // HTML5 Fullscreen should only use AppKit fullscreen in 10.10+.
|
| if (chrome::mac::SupportsSystemFullscreen() &&
|
| base::mac::IsOSYosemiteOrLater())
|
| @@ -2011,8 +2004,8 @@ willAnimateFromState:(BookmarkBar::State)oldState
|
| else
|
| [self enterImmersiveFullscreen];
|
|
|
| - if (!url.is_empty())
|
| - [self updateFullscreenExitBubbleURL:url bubbleType:bubbleType];
|
| + if (!exclusiveAccessController_->url().is_empty())
|
| + [self updateFullscreenExitBubble];
|
| }
|
|
|
| - (void)exitAnyFullscreen {
|
| @@ -2085,6 +2078,10 @@ willAnimateFromState:(BookmarkBar::State)oldState
|
| return [focused isKindOfClass:[AutocompleteTextFieldEditor class]];
|
| }
|
|
|
| +- (ExclusiveAccessContext*)exclusiveAccessContext {
|
| + return exclusiveAccessController_.get();
|
| +}
|
| +
|
| @end // @implementation BrowserWindowController(Fullscreen)
|
|
|
|
|
|
|