OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |