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

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

Issue 2797923003: Rename PageInfoPopupView to PageInfoBubbleView. (Closed)
Patch Set: Two more words. Created 3 years, 8 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
« no previous file with comments | « chrome/browser/ui/BUILD.gn ('k') | chrome/browser/ui/page_info/page_info.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 108
109 // Padding between the window frame and content for the internal page bubble. 109 // Padding between the window frame and content for the internal page bubble.
110 const CGFloat kInternalPageFramePadding = 10; 110 const CGFloat kInternalPageFramePadding = 10;
111 111
112 // Spacing between the image and text for internal pages. 112 // Spacing between the image and text for internal pages.
113 const CGFloat kInternalPageImageSpacing = 10; 113 const CGFloat kInternalPageImageSpacing = 10;
114 114
115 // ----------------------------------------------------------------------------- 115 // -----------------------------------------------------------------------------
116 116
117 // NOTE: This assumes that there will never be more than one page info 117 // NOTE: This assumes that there will never be more than one page info
118 // popup shown, and that the one that is shown is associated with the current 118 // bubble shown, and that the one that is shown is associated with the current
119 // window. This matches the behaviour in views: see PageInfoPopupView. 119 // window. This matches the behaviour in Views: see PageInfoBubbleView.
120 bool g_is_popup_showing = false; 120 bool g_is_bubble_showing = false;
121 121
122 // Takes in the parent window, which should be a BrowserWindow, and gets the 122 // Takes in the parent window, which should be a BrowserWindow, and gets the
123 // proper anchor point for the bubble. The returned point is in screen 123 // proper anchor point for the bubble. The returned point is in screen
124 // coordinates. 124 // coordinates.
125 NSPoint AnchorPointForWindow(NSWindow* parent) { 125 NSPoint AnchorPointForWindow(NSWindow* parent) {
126 BrowserWindowController* controller = [parent windowController]; 126 BrowserWindowController* controller = [parent windowController];
127 NSPoint origin = NSZeroPoint; 127 NSPoint origin = NSZeroPoint;
128 if ([controller isKindOfClass:[BrowserWindowController class]]) { 128 if ([controller isKindOfClass:[BrowserWindowController class]]) {
129 LocationBarViewMac* location_bar = [controller locationBarBridge]; 129 LocationBarViewMac* location_bar = [controller locationBarBridge];
130 if (location_bar) { 130 if (location_bar) {
(...skipping 1007 matching lines...) Expand 10 before | Expand all | Expand 10 after
1138 controlOrigin.y)]; 1138 controlOrigin.y)];
1139 [self performLayout]; 1139 [self performLayout];
1140 } 1140 }
1141 1141
1142 @end 1142 @end
1143 1143
1144 PageInfoUIBridge::PageInfoUIBridge(content::WebContents* web_contents) 1144 PageInfoUIBridge::PageInfoUIBridge(content::WebContents* web_contents)
1145 : content::WebContentsObserver(web_contents), 1145 : content::WebContentsObserver(web_contents),
1146 web_contents_(web_contents), 1146 web_contents_(web_contents),
1147 bubble_controller_(nil) { 1147 bubble_controller_(nil) {
1148 DCHECK(!g_is_popup_showing); 1148 DCHECK(!g_is_bubble_showing);
1149 g_is_popup_showing = true; 1149 g_is_bubble_showing = true;
1150 } 1150 }
1151 1151
1152 PageInfoUIBridge::~PageInfoUIBridge() { 1152 PageInfoUIBridge::~PageInfoUIBridge() {
1153 DCHECK(g_is_popup_showing); 1153 DCHECK(g_is_bubble_showing);
1154 g_is_popup_showing = false; 1154 g_is_bubble_showing = false;
1155 } 1155 }
1156 1156
1157 void PageInfoUIBridge::set_bubble_controller( 1157 void PageInfoUIBridge::set_bubble_controller(
1158 PageInfoBubbleController* controller) { 1158 PageInfoBubbleController* controller) {
1159 bubble_controller_ = controller; 1159 bubble_controller_ = controller;
1160 } 1160 }
1161 1161
1162 void PageInfoUIBridge::Show(gfx::NativeWindow parent, 1162 void PageInfoUIBridge::Show(gfx::NativeWindow parent,
1163 Profile* profile, 1163 Profile* profile,
1164 content::WebContents* web_contents, 1164 content::WebContents* web_contents,
1165 const GURL& virtual_url, 1165 const GURL& virtual_url,
1166 const security_state::SecurityInfo& security_info) { 1166 const security_state::SecurityInfo& security_info) {
1167 if (ui::MaterialDesignController::IsSecondaryUiMaterial()) { 1167 if (ui::MaterialDesignController::IsSecondaryUiMaterial()) {
1168 chrome::ShowPageInfoBubbleViewsAtPoint( 1168 chrome::ShowPageInfoBubbleViewsAtPoint(
1169 gfx::ScreenPointFromNSPoint(AnchorPointForWindow(parent)), profile, 1169 gfx::ScreenPointFromNSPoint(AnchorPointForWindow(parent)), profile,
1170 web_contents, virtual_url, security_info); 1170 web_contents, virtual_url, security_info);
1171 return; 1171 return;
1172 } 1172 }
1173 1173
1174 // Don't show the popup if it's already being shown. Since this method is 1174 // Don't show the bubble if it's already being shown. Since this method is
1175 // called each time the location icon is clicked, each click toggles the popup 1175 // called each time the location icon is clicked, each click toggles the
1176 // in and out. 1176 // bubble in and out.
1177 if (g_is_popup_showing) 1177 if (g_is_bubble_showing)
1178 return; 1178 return;
1179 1179
1180 // Create the bridge. This will be owned by the bubble controller. 1180 // Create the bridge. This will be owned by the bubble controller.
1181 PageInfoUIBridge* bridge = new PageInfoUIBridge(web_contents); 1181 PageInfoUIBridge* bridge = new PageInfoUIBridge(web_contents);
1182 1182
1183 // Create the bubble controller. It will dealloc itself when it closes, 1183 // Create the bubble controller. It will dealloc itself when it closes,
1184 // resetting |g_is_popup_showing|. 1184 // resetting |g_is_bubble_showing|.
1185 PageInfoBubbleController* bubble_controller = 1185 PageInfoBubbleController* bubble_controller =
1186 [[PageInfoBubbleController alloc] initWithParentWindow:parent 1186 [[PageInfoBubbleController alloc] initWithParentWindow:parent
1187 pageInfoUIBridge:bridge 1187 pageInfoUIBridge:bridge
1188 webContents:web_contents 1188 webContents:web_contents
1189 url:virtual_url]; 1189 url:virtual_url];
1190 1190
1191 if (!IsInternalURL(virtual_url)) { 1191 if (!IsInternalURL(virtual_url)) {
1192 // Initialize the presenter, which holds the model and controls the UI. 1192 // Initialize the presenter, which holds the model and controls the UI.
1193 // This is also owned by the bubble controller. 1193 // This is also owned by the bubble controller.
1194 PageInfo* presenter = 1194 PageInfo* presenter =
(...skipping 21 matching lines...) Expand all
1216 void PageInfoUIBridge::SetCookieInfo(const CookieInfoList& cookie_info_list) { 1216 void PageInfoUIBridge::SetCookieInfo(const CookieInfoList& cookie_info_list) {
1217 [bubble_controller_ setCookieInfo:cookie_info_list]; 1217 [bubble_controller_ setCookieInfo:cookie_info_list];
1218 } 1218 }
1219 1219
1220 void PageInfoUIBridge::SetPermissionInfo( 1220 void PageInfoUIBridge::SetPermissionInfo(
1221 const PermissionInfoList& permission_info_list, 1221 const PermissionInfoList& permission_info_list,
1222 ChosenObjectInfoList chosen_object_info_list) { 1222 ChosenObjectInfoList chosen_object_info_list) {
1223 [bubble_controller_ setPermissionInfo:permission_info_list 1223 [bubble_controller_ setPermissionInfo:permission_info_list
1224 andChosenObjects:std::move(chosen_object_info_list)]; 1224 andChosenObjects:std::move(chosen_object_info_list)];
1225 } 1225 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/BUILD.gn ('k') | chrome/browser/ui/page_info/page_info.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698