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) |