Index: chrome/browser/ui/cocoa/exclusive_access_bubble_window_controller.mm |
diff --git a/chrome/browser/ui/cocoa/exclusive_access_bubble_window_controller.mm b/chrome/browser/ui/cocoa/exclusive_access_bubble_window_controller.mm |
index 06d8e85cb6f0a41898c6df06ccf256878029842c..eb5abc0c198b11e92b361a466382482693ff1a9d 100644 |
--- a/chrome/browser/ui/cocoa/exclusive_access_bubble_window_controller.mm |
+++ b/chrome/browser/ui/cocoa/exclusive_access_bubble_window_controller.mm |
@@ -10,13 +10,13 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "chrome/app/chrome_command_ids.h" |
#include "chrome/browser/profiles/profile.h" |
-#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_commands.h" |
-#import "chrome/browser/ui/cocoa/browser_window_controller.h" |
#import "chrome/browser/ui/cocoa/exclusive_access_bubble_window_controller.h" |
#import "chrome/browser/ui/cocoa/info_bubble_view.h" |
#import "chrome/browser/ui/cocoa/info_bubble_window.h" |
+#import "chrome/browser/ui/cocoa/tabs/tab_window_controller.h" |
#include "chrome/browser/ui/exclusive_access/exclusive_access_bubble_type.h" |
+#include "chrome/browser/ui/exclusive_access/exclusive_access_manager.h" |
#include "chrome/browser/ui/exclusive_access/fullscreen_controller.h" |
#include "chrome/grit/generated_resources.h" |
#include "extensions/browser/extension_registry.h" |
@@ -65,15 +65,17 @@ const float kHideDuration = 0.7; |
@implementation ExclusiveAccessBubbleWindowController |
-- (id)initWithOwner:(BrowserWindowController*)owner |
- browser:(Browser*)browser |
- url:(const GURL&)url |
- bubbleType:(ExclusiveAccessBubbleType)bubbleType { |
+- (id)initWithOwner:(NSWindowController*)owner |
+ exclusive_access_manager:(ExclusiveAccessManager*)exclusive_access_manager |
+ profile:(Profile*)profile |
+ url:(const GURL&)url |
+ bubbleType:(ExclusiveAccessBubbleType)bubbleType { |
NSString* nibPath = |
[base::mac::FrameworkBundle() pathForResource:@"ExclusiveAccessBubble" |
ofType:@"nib"]; |
if ((self = [super initWithWindowNibPath:nibPath owner:self])) { |
- browser_ = browser; |
+ exclusive_access_manager_ = exclusive_access_manager; |
+ profile_ = profile; |
owner_ = owner; |
url_ = url; |
bubbleType_ = bubbleType; |
@@ -97,12 +99,12 @@ const float kHideDuration = 0.7; |
[[self window] setIgnoresMouseEvents:YES]; |
DCHECK(exclusive_access_bubble::ShowButtonsForType(bubbleType_)); |
- browser_->exclusive_access_manager()->OnAcceptExclusiveAccessPermission(); |
+ exclusive_access_manager_->OnAcceptExclusiveAccessPermission(); |
} |
- (void)deny:(id)sender { |
DCHECK(exclusive_access_bubble::ShowButtonsForType(bubbleType_)); |
- browser_->exclusive_access_manager()->OnDenyExclusiveAccessPermission(); |
+ exclusive_access_manager_->OnDenyExclusiveAccessPermission(); |
} |
- (void)showButtons:(BOOL)show { |
@@ -126,7 +128,9 @@ const float kHideDuration = 0.7; |
} |
[tweaker_ tweakUI:info_bubble]; |
[[owner_ window] addChildWindow:info_bubble ordered:NSWindowAbove]; |
- [owner_ layoutSubviews]; |
+ |
+ if ([owner_ respondsToSelector:@selector(layoutSubviews)]) |
+ [(id)owner_ layoutSubviews]; |
[info_bubble orderFront:self]; |
} |
@@ -151,8 +155,7 @@ const float kHideDuration = 0.7; |
- (BOOL)textView:(NSTextView*)textView |
clickedOnLink:(id)link |
atIndex:(NSUInteger)charIndex { |
- browser_->exclusive_access_manager() |
- ->fullscreen_controller() |
+ exclusive_access_manager_->fullscreen_controller() |
->ExitExclusiveAccessToPreviousState(); |
return YES; |
} |
@@ -281,7 +284,7 @@ const float kHideDuration = 0.7; |
if (bubbleType_ == EXCLUSIVE_ACCESS_BUBBLE_TYPE_NONE) |
return @""; |
extensions::ExtensionRegistry* registry = |
- extensions::ExtensionRegistry::Get(browser_->profile()); |
+ extensions::ExtensionRegistry::Get(profile_); |
return SysUTF16ToNSString(exclusive_access_bubble::GetLabelTextForType( |
bubbleType_, url_, registry)); |
} |