Index: chrome/browser/ui/cocoa/page_info/page_info_bubble_controller.mm |
diff --git a/chrome/browser/ui/cocoa/page_info/page_info_bubble_controller.mm b/chrome/browser/ui/cocoa/page_info/page_info_bubble_controller.mm |
index 8885b7b127a4cd524b5985d6fffae8efd853577d..a0774b075a9f530a26ce680be4f86be86483c167 100644 |
--- a/chrome/browser/ui/cocoa/page_info/page_info_bubble_controller.mm |
+++ b/chrome/browser/ui/cocoa/page_info/page_info_bubble_controller.mm |
@@ -19,6 +19,7 @@ |
#import "chrome/browser/ui/cocoa/browser_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/location_bar/location_bar_decoration.h" |
#import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" |
#import "chrome/browser/ui/cocoa/page_info/permission_selector_button.h" |
#include "chrome/browser/ui/page_info/permission_menu_model.h" |
@@ -241,10 +242,24 @@ bool IsInternalURL(const GURL& url) { |
return self; |
} |
-- (LocationBarDecoration*)decorationForBubble { |
+- (void)showWindow:(id)sender { |
BrowserWindowController* controller = [[self parentWindow] windowController]; |
- LocationBarViewMac* location_bar = [controller locationBarBridge]; |
- return location_bar ? location_bar->GetPageInfoDecoration() : nullptr; |
+ LocationBarViewMac* locationBar = [controller locationBarBridge]; |
+ if (locationBar) { |
+ decoration_ = locationBar->GetPageInfoDecoration(); |
+ decoration_->SetActive(true); |
+ } |
+ |
+ [super showWindow:sender]; |
+} |
+ |
+- (void)close { |
+ if (decoration_) { |
+ decoration_->SetActive(false); |
+ decoration_ = nullptr; |
+ } |
+ |
+ [super close]; |
} |
- (Profile*)profile { |