| 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 #include "chrome/browser/ui/cocoa/profiles/user_manager_mac.h" | 5 #include "chrome/browser/ui/cocoa/profiles/user_manager_mac.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 #import "chrome/browser/app_controller_mac.h" | 9 #import "chrome/browser/app_controller_mac.h" |
| 10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 225 } | 225 } |
| 226 | 226 |
| 227 - (void)closeButtonClicked:(NSButton*)button { | 227 - (void)closeButtonClicked:(NSButton*)button { |
| 228 [self close]; | 228 [self close]; |
| 229 } | 229 } |
| 230 | 230 |
| 231 - (void)close { | 231 - (void)close { |
| 232 constrained_window_->CloseWebContentsModalDialog(); | 232 constrained_window_->CloseWebContentsModalDialog(); |
| 233 } | 233 } |
| 234 | 234 |
| 235 - (void)dealloc { |
| 236 constrained_window_->CloseWebContentsModalDialog(); |
| 237 |
| 238 [super dealloc]; |
| 239 } |
| 240 |
| 235 @end | 241 @end |
| 236 | 242 |
| 237 // Window controller for the User Manager view. | 243 // Window controller for the User Manager view. |
| 238 @interface UserManagerWindowController : NSWindowController <NSWindowDelegate> { | 244 @interface UserManagerWindowController : NSWindowController <NSWindowDelegate> { |
| 239 @private | 245 @private |
| 240 scoped_ptr<content::WebContents> webContents_; | 246 scoped_ptr<content::WebContents> webContents_; |
| 241 scoped_ptr<UserManagerWebContentsDelegate> webContentsDelegate_; | 247 scoped_ptr<UserManagerWebContentsDelegate> webContentsDelegate_; |
| 242 UserManagerMac* userManagerObserver_; // Weak. | 248 UserManagerMac* userManagerObserver_; // Weak. |
| 243 scoped_ptr<UserManagerModalManagerDelegate> modal_manager_delegate_; | 249 scoped_ptr<UserManagerModalManagerDelegate> modal_manager_delegate_; |
| 244 base::scoped_nsobject<ReauthDialogWindowController> reauth_window_controller_; | 250 base::scoped_nsobject<ReauthDialogWindowController> reauth_window_controller_; |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 if ((self = [super initWithWindow:window])) { | 289 if ((self = [super initWithWindow:window])) { |
| 284 userManagerObserver_ = userManagerObserver; | 290 userManagerObserver_ = userManagerObserver; |
| 285 | 291 |
| 286 // Initialize the web view. | 292 // Initialize the web view. |
| 287 webContents_.reset(content::WebContents::Create( | 293 webContents_.reset(content::WebContents::Create( |
| 288 content::WebContents::CreateParams(profile))); | 294 content::WebContents::CreateParams(profile))); |
| 289 window.contentView = webContents_->GetNativeView(); | 295 window.contentView = webContents_->GetNativeView(); |
| 290 webContentsDelegate_.reset(new UserManagerWebContentsDelegate()); | 296 webContentsDelegate_.reset(new UserManagerWebContentsDelegate()); |
| 291 webContents_->SetDelegate(webContentsDelegate_.get()); | 297 webContents_->SetDelegate(webContentsDelegate_.get()); |
| 292 | 298 |
| 299 web_modal::WebContentsModalDialogManager::CreateForWebContents( |
| 300 webContents_.get()); |
| 301 modal_manager_delegate_.reset( |
| 302 new UserManagerModalManagerDelegate([[self window] contentView])); |
| 303 web_modal::WebContentsModalDialogManager::FromWebContents( |
| 304 webContents_.get())->SetDelegate(modal_manager_delegate_.get()); |
| 305 |
| 293 [[NSNotificationCenter defaultCenter] | 306 [[NSNotificationCenter defaultCenter] |
| 294 addObserver:self | 307 addObserver:self |
| 295 selector:@selector(windowWillClose:) | 308 selector:@selector(windowWillClose:) |
| 296 name:NSWindowWillCloseNotification | 309 name:NSWindowWillCloseNotification |
| 297 object:self.window]; | 310 object:self.window]; |
| 298 } | 311 } |
| 299 return self; | 312 return self; |
| 300 } | 313 } |
| 301 | 314 |
| 302 - (void)dealloc { | 315 - (void)dealloc { |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 return [[self window] isVisible]; | 357 return [[self window] isVisible]; |
| 345 } | 358 } |
| 346 | 359 |
| 347 - (void)windowWillClose:(NSNotification*)notification { | 360 - (void)windowWillClose:(NSNotification*)notification { |
| 348 [[NSNotificationCenter defaultCenter] removeObserver:self]; | 361 [[NSNotificationCenter defaultCenter] removeObserver:self]; |
| 349 DCHECK(userManagerObserver_); | 362 DCHECK(userManagerObserver_); |
| 350 userManagerObserver_->WindowWasClosed(); | 363 userManagerObserver_->WindowWasClosed(); |
| 351 } | 364 } |
| 352 | 365 |
| 353 - (void)showReauthDialogWithProfile:(Profile*)profile email:(std::string)email { | 366 - (void)showReauthDialogWithProfile:(Profile*)profile email:(std::string)email { |
| 354 // Make sure there's a WebContentsModalDialogManager for this UserManager's | |
| 355 // web contents. | |
| 356 web_modal::WebContentsModalDialogManager::CreateForWebContents( | |
| 357 webContents_.get()); | |
| 358 modal_manager_delegate_.reset( | |
| 359 new UserManagerModalManagerDelegate([[self window] contentView])); | |
| 360 web_modal::WebContentsModalDialogManager::FromWebContents( | |
| 361 webContents_.get())->SetDelegate(modal_manager_delegate_.get()); | |
| 362 reauth_window_controller_.reset( | 367 reauth_window_controller_.reset( |
| 363 [[ReauthDialogWindowController alloc] | 368 [[ReauthDialogWindowController alloc] |
| 364 initWithProfile:profile | 369 initWithProfile:profile |
| 365 email:email | 370 email:email |
| 366 webContents:webContents_.get()]); | 371 webContents:webContents_.get()]); |
| 367 } | 372 } |
| 368 | 373 |
| 369 - (void)closeReauthDialog { | 374 - (void)closeReauthDialog { |
| 370 [reauth_window_controller_ close]; | 375 [reauth_window_controller_ close]; |
| 371 } | 376 } |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 466 ProfileMetrics::LogTimeToOpenUserManager( | 471 ProfileMetrics::LogTimeToOpenUserManager( |
| 467 base::Time::Now() - user_manager_started_showing_); | 472 base::Time::Now() - user_manager_started_showing_); |
| 468 user_manager_started_showing_ = base::Time(); | 473 user_manager_started_showing_ = base::Time(); |
| 469 } | 474 } |
| 470 | 475 |
| 471 void UserManagerMac::WindowWasClosed() { | 476 void UserManagerMac::WindowWasClosed() { |
| 472 CloseReauthDialog(); | 477 CloseReauthDialog(); |
| 473 instance_ = NULL; | 478 instance_ = NULL; |
| 474 delete this; | 479 delete this; |
| 475 } | 480 } |
| OLD | NEW |