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

Side by Side Diff: chrome/browser/ui/cocoa/profiles/avatar_base_controller.mm

Issue 1473543002: Implement newly designed sign-in related histograms for desktop platorms. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: format Created 5 years 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/profiles/avatar_base_controller.h" 5 #import "chrome/browser/ui/cocoa/profiles/avatar_base_controller.h"
6 6
7 #include "base/mac/foundation_util.h" 7 #include "base/mac/foundation_util.h"
8 #include "chrome/app/chrome_command_ids.h" 8 #include "chrome/app/chrome_command_ids.h"
9 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/profiles/profile_avatar_icon_util.h" 10 #include "chrome/browser/profiles/profile_avatar_icon_util.h"
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 browser_ = nullptr; 138 browser_ = nullptr;
139 } 139 }
140 140
141 - (NSButton*)buttonView { 141 - (NSButton*)buttonView {
142 CHECK(button_.get()); // Subclasses must set this. 142 CHECK(button_.get()); // Subclasses must set this.
143 return button_.get(); 143 return button_.get();
144 } 144 }
145 145
146 - (void)showAvatarBubbleAnchoredAt:(NSView*)anchor 146 - (void)showAvatarBubbleAnchoredAt:(NSView*)anchor
147 withMode:(BrowserWindow::AvatarBubbleMode)mode 147 withMode:(BrowserWindow::AvatarBubbleMode)mode
148 withServiceType:(signin::GAIAServiceType)serviceType { 148 withServiceType:(signin::GAIAServiceType)serviceType
149 fromAccessPoint:(signin_metrics::AccessPoint)accessPoint {
149 if (menuController_) { 150 if (menuController_) {
150 profiles::BubbleViewMode viewMode; 151 profiles::BubbleViewMode viewMode;
151 profiles::TutorialMode tutorialMode; 152 profiles::TutorialMode tutorialMode;
152 profiles::BubbleViewModeFromAvatarBubbleMode( 153 profiles::BubbleViewModeFromAvatarBubbleMode(
153 mode, &viewMode, &tutorialMode); 154 mode, &viewMode, &tutorialMode);
154 if (tutorialMode != profiles::TUTORIAL_MODE_NONE) { 155 if (tutorialMode != profiles::TUTORIAL_MODE_NONE) {
155 ProfileChooserController* profileChooserController = 156 ProfileChooserController* profileChooserController =
156 base::mac::ObjCCastStrict<ProfileChooserController>( 157 base::mac::ObjCCastStrict<ProfileChooserController>(
157 menuController_); 158 menuController_);
158 [profileChooserController setTutorialMode:tutorialMode]; 159 [profileChooserController setTutorialMode:tutorialMode];
(...skipping 30 matching lines...) Expand all
189 if (viewMode == profiles::BUBBLE_VIEW_MODE_FAST_PROFILE_CHOOSER && 190 if (viewMode == profiles::BUBBLE_VIEW_MODE_FAST_PROFILE_CHOOSER &&
190 !profiles::HasProfileSwitchTargets(browser_->profile())) { 191 !profiles::HasProfileSwitchTargets(browser_->profile())) {
191 return; 192 return;
192 } 193 }
193 194
194 menuController_ = 195 menuController_ =
195 [[ProfileChooserController alloc] initWithBrowser:browser_ 196 [[ProfileChooserController alloc] initWithBrowser:browser_
196 anchoredAt:point 197 anchoredAt:point
197 viewMode:viewMode 198 viewMode:viewMode
198 tutorialMode:tutorialMode 199 tutorialMode:tutorialMode
199 serviceType:serviceType]; 200 serviceType:serviceType
201 accessPoint:accessPoint];
200 202
201 [[NSNotificationCenter defaultCenter] 203 [[NSNotificationCenter defaultCenter]
202 addObserver:self 204 addObserver:self
203 selector:@selector(bubbleWillClose:) 205 selector:@selector(bubbleWillClose:)
204 name:NSWindowWillCloseNotification 206 name:NSWindowWillCloseNotification
205 object:[menuController_ window]]; 207 object:[menuController_ window]];
206 [menuController_ showWindow:self]; 208 [menuController_ showWindow:self];
207 209
208 ProfileMetrics::LogProfileOpenMethod(ProfileMetrics::ICON_AVATAR_BUBBLE); 210 ProfileMetrics::LogProfileOpenMethod(ProfileMetrics::ICON_AVATAR_BUBBLE);
209 } 211 }
210 212
211 - (BOOL)isCtrlPressed { 213 - (BOOL)isCtrlPressed {
212 return [NSEvent modifierFlags] & NSControlKeyMask ? YES : NO; 214 return [NSEvent modifierFlags] & NSControlKeyMask ? YES : NO;
213 } 215 }
214 216
215 - (IBAction)buttonClicked:(id)sender { 217 - (IBAction)buttonClicked:(id)sender {
216 BrowserWindow::AvatarBubbleMode mode = 218 BrowserWindow::AvatarBubbleMode mode =
217 BrowserWindow::AVATAR_BUBBLE_MODE_DEFAULT; 219 BrowserWindow::AVATAR_BUBBLE_MODE_DEFAULT;
218 if ([self isCtrlPressed]) 220 if ([self isCtrlPressed])
219 mode = BrowserWindow::AVATAR_BUBBLE_MODE_FAST_USER_SWITCH; 221 mode = BrowserWindow::AVATAR_BUBBLE_MODE_FAST_USER_SWITCH;
220 222
221 [self showAvatarBubbleAnchoredAt:button_ 223 [self showAvatarBubbleAnchoredAt:button_
222 withMode:mode 224 withMode:mode
223 withServiceType:signin::GAIA_SERVICE_TYPE_NONE]; 225 withServiceType:signin::GAIA_SERVICE_TYPE_NONE
226 fromAccessPoint:signin_metrics::AccessPoint::
227 ACCESS_POINT_AVATAR_BUBBLE_SIGN_IN];
224 } 228 }
225 229
226 - (IBAction)buttonRightClicked:(id)sender { 230 - (IBAction)buttonRightClicked:(id)sender {
227 BrowserWindow::AvatarBubbleMode mode = 231 BrowserWindow::AvatarBubbleMode mode =
228 BrowserWindow::AVATAR_BUBBLE_MODE_FAST_USER_SWITCH; 232 BrowserWindow::AVATAR_BUBBLE_MODE_FAST_USER_SWITCH;
229 233
230 [self showAvatarBubbleAnchoredAt:button_ 234 [self showAvatarBubbleAnchoredAt:button_
231 withMode:mode 235 withMode:mode
232 withServiceType:signin::GAIA_SERVICE_TYPE_NONE]; 236 withServiceType:signin::GAIA_SERVICE_TYPE_NONE
237 fromAccessPoint:signin_metrics::AccessPoint::
238 ACCESS_POINT_AVATAR_BUBBLE_SIGN_IN];
233 } 239 }
234 240
235 - (void)bubbleWillClose:(NSNotification*)notif { 241 - (void)bubbleWillClose:(NSNotification*)notif {
236 NSWindowController* wc = 242 NSWindowController* wc =
237 [browser_->window()->GetNativeWindow() windowController]; 243 [browser_->window()->GetNativeWindow() windowController];
238 if ([wc isKindOfClass:[BrowserWindowController class]]) { 244 if ([wc isKindOfClass:[BrowserWindowController class]]) {
239 [static_cast<BrowserWindowController*>(wc) 245 [static_cast<BrowserWindowController*>(wc)
240 releaseBarVisibilityForOwner:self withAnimation:YES delay:NO]; 246 releaseBarVisibilityForOwner:self withAnimation:YES delay:NO];
241 } 247 }
242 menuController_ = nil; 248 menuController_ = nil;
243 } 249 }
244 250
245 - (void)updateAvatarButtonAndLayoutParent:(BOOL)layoutParent { 251 - (void)updateAvatarButtonAndLayoutParent:(BOOL)layoutParent {
246 NOTREACHED(); 252 NOTREACHED();
247 } 253 }
248 254
249 - (void)updateErrorStatus:(BOOL)hasError { 255 - (void)updateErrorStatus:(BOOL)hasError {
250 } 256 }
251 257
252 - (BaseBubbleController*)menuController { 258 - (BaseBubbleController*)menuController {
253 return menuController_; 259 return menuController_;
254 } 260 }
255 261
256 @end 262 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698