Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Side by Side Diff: chrome/browser/ui/cocoa/page_info/page_info_bubble_controller.mm

Issue 2851663002: [Mac] Fix for Page Info Bubble (Closed)
Patch Set: Added comment Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "chrome/browser/ui/cocoa/page_info/page_info_bubble_controller.h" 5 #import "chrome/browser/ui/cocoa/page_info/page_info_bubble_controller.h"
6 6
7 #import <AppKit/AppKit.h> 7 #import <AppKit/AppKit.h>
8 8
9 #include <cmath> 9 #include <cmath>
10 10
11 #include "base/i18n/rtl.h" 11 #include "base/i18n/rtl.h"
12 #include "base/mac/bind_objc_block.h" 12 #include "base/mac/bind_objc_block.h"
13 #include "base/memory/ptr_util.h" 13 #include "base/memory/ptr_util.h"
14 #include "base/strings/sys_string_conversions.h" 14 #include "base/strings/sys_string_conversions.h"
15 #import "chrome/browser/certificate_viewer.h" 15 #import "chrome/browser/certificate_viewer.h"
16 #include "chrome/browser/infobars/infobar_service.h" 16 #include "chrome/browser/infobars/infobar_service.h"
17 #include "chrome/browser/profiles/profile.h" 17 #include "chrome/browser/profiles/profile.h"
18 #include "chrome/browser/ui/browser_dialogs.h" 18 #include "chrome/browser/ui/browser_dialogs.h"
19 #import "chrome/browser/ui/cocoa/browser_window_controller.h" 19 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
20 #import "chrome/browser/ui/cocoa/info_bubble_view.h" 20 #import "chrome/browser/ui/cocoa/info_bubble_view.h"
21 #import "chrome/browser/ui/cocoa/info_bubble_window.h" 21 #import "chrome/browser/ui/cocoa/info_bubble_window.h"
22 #import "chrome/browser/ui/cocoa/location_bar/location_bar_decoration.h"
22 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" 23 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
23 #import "chrome/browser/ui/cocoa/page_info/permission_selector_button.h" 24 #import "chrome/browser/ui/cocoa/page_info/permission_selector_button.h"
24 #include "chrome/browser/ui/page_info/permission_menu_model.h" 25 #include "chrome/browser/ui/page_info/permission_menu_model.h"
25 #import "chrome/browser/ui/tab_dialogs.h" 26 #import "chrome/browser/ui/tab_dialogs.h"
26 #include "chrome/common/url_constants.h" 27 #include "chrome/common/url_constants.h"
27 #include "chrome/grit/chromium_strings.h" 28 #include "chrome/grit/chromium_strings.h"
28 #include "chrome/grit/generated_resources.h" 29 #include "chrome/grit/generated_resources.h"
29 #include "chrome/grit/theme_resources.h" 30 #include "chrome/grit/theme_resources.h"
30 #include "components/strings/grit/components_chromium_strings.h" 31 #include "components/strings/grit/components_chromium_strings.h"
31 #include "components/strings/grit/components_strings.h" 32 #include "components/strings/grit/components_strings.h"
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 } else { 235 } else {
235 [self initializeContents]; 236 [self initializeContents];
236 } 237 }
237 238
238 bridge_.reset(bridge); 239 bridge_.reset(bridge);
239 bridge_->set_bubble_controller(self); 240 bridge_->set_bubble_controller(self);
240 } 241 }
241 return self; 242 return self;
242 } 243 }
243 244
244 - (LocationBarDecoration*)decorationForBubble { 245 - (void)showWindow:(id)sender {
245 BrowserWindowController* controller = [[self parentWindow] windowController]; 246 BrowserWindowController* controller = [[self parentWindow] windowController];
246 LocationBarViewMac* location_bar = [controller locationBarBridge]; 247 LocationBarViewMac* locationBar = [controller locationBarBridge];
247 return location_bar ? location_bar->GetPageInfoDecoration() : nullptr; 248 if (locationBar) {
249 decoration_ = locationBar->GetPageInfoDecoration();
250 decoration_->SetActive(true);
251 }
252
253 [super showWindow:sender];
254 }
255
256 - (void)close {
257 if (decoration_) {
258 decoration_->SetActive(false);
259 decoration_ = nullptr;
260 }
261
262 [super close];
248 } 263 }
249 264
250 - (Profile*)profile { 265 - (Profile*)profile {
251 return Profile::FromBrowserContext(webContents_->GetBrowserContext()); 266 return Profile::FromBrowserContext(webContents_->GetBrowserContext());
252 } 267 }
253 268
254 - (void)windowWillClose:(NSNotification*)notification { 269 - (void)windowWillClose:(NSNotification*)notification {
255 if (presenter_.get()) 270 if (presenter_.get())
256 presenter_->OnUIClosing(); 271 presenter_->OnUIClosing();
257 presenter_.reset(); 272 presenter_.reset();
(...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after
1228 void PageInfoUIBridge::SetCookieInfo(const CookieInfoList& cookie_info_list) { 1243 void PageInfoUIBridge::SetCookieInfo(const CookieInfoList& cookie_info_list) {
1229 [bubble_controller_ setCookieInfo:cookie_info_list]; 1244 [bubble_controller_ setCookieInfo:cookie_info_list];
1230 } 1245 }
1231 1246
1232 void PageInfoUIBridge::SetPermissionInfo( 1247 void PageInfoUIBridge::SetPermissionInfo(
1233 const PermissionInfoList& permission_info_list, 1248 const PermissionInfoList& permission_info_list,
1234 ChosenObjectInfoList chosen_object_info_list) { 1249 ChosenObjectInfoList chosen_object_info_list) {
1235 [bubble_controller_ setPermissionInfo:permission_info_list 1250 [bubble_controller_ setPermissionInfo:permission_info_list
1236 andChosenObjects:std::move(chosen_object_info_list)]; 1251 andChosenObjects:std::move(chosen_object_info_list)];
1237 } 1252 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698