Index: chrome/browser/ui/cocoa/user_manager_mac.mm |
diff --git a/chrome/browser/ui/cocoa/user_manager_mac.mm b/chrome/browser/ui/cocoa/user_manager_mac.mm |
deleted file mode 100644 |
index 42bdb8d7694b1708f31ad29e20bc9baa4fe96d9b..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/cocoa/user_manager_mac.mm |
+++ /dev/null |
@@ -1,178 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/ui/cocoa/user_manager_mac.h" |
- |
-#include "chrome/browser/browser_process.h" |
-#include "chrome/browser/profiles/profile_manager.h" |
-#include "chrome/browser/ui/browser_dialogs.h" |
-#include "content/public/browser/web_contents.h" |
-#include "content/public/browser/web_contents_view.h" |
-#include "grit/generated_resources.h" |
-#include "ui/base/l10n/l10n_util_mac.h" |
- |
-// Default window size. Taken from the views implementation in |
-// chrome/browser/ui/views/user_manager_view.cc. |
-// TODO(noms): Figure out if this size can be computed dynamically or adjusted |
-// for smaller screens. |
-const int kWindowWidth = 900; |
-const int kWindowHeight = 700; |
- |
-namespace chrome { |
- |
-// Declared in browser_dialogs.h so others don't have to depend on this header. |
-void ShowUserManager(const base::FilePath& profile_path_to_focus) { |
- UserManagerMac::Show( |
- profile_path_to_focus, profiles::USER_MANAGER_NO_TUTORIAL); |
-} |
- |
-void ShowUserManagerWithTutorial(profiles::UserManagerTutorialMode tutorial) { |
- UserManagerMac::Show(base::FilePath(), tutorial); |
-} |
- |
-void HideUserManager() { |
- UserManagerMac::Hide(); |
-} |
- |
-} // namespace chrome |
- |
-// Window controller for the User Manager view. |
-@interface UserManagerWindowController : NSWindowController <NSWindowDelegate> { |
- @private |
- scoped_ptr<content::WebContents> webContents_; |
- UserManagerMac* userManagerObserver_; // Weak. |
-} |
-- (void)windowWillClose:(NSNotification*)notification; |
-- (void)dealloc; |
-- (id)initWithProfile:(Profile*)profile |
- withObserver:(UserManagerMac*)userManagerObserver; |
-- (void)showURL:(const GURL&)url; |
-- (void)show; |
-- (void)close; |
-- (BOOL)isVisible; |
-@end |
- |
-@implementation UserManagerWindowController |
- |
-- (id)initWithProfile:(Profile*)profile |
- withObserver:(UserManagerMac*)userManagerObserver { |
- |
- // Center the window on the primary screen. |
- CGFloat screenHeight = |
- [[[NSScreen screens] objectAtIndex:0] frame].size.height; |
- CGFloat screenWidth = |
- [[[NSScreen screens] objectAtIndex:0] frame].size.width; |
- |
- NSRect contentRect = NSMakeRect((screenWidth - kWindowWidth) / 2, |
- (screenHeight - kWindowHeight) / 2, |
- kWindowWidth, kWindowHeight); |
- NSWindow* window = [[NSWindow alloc] |
- initWithContentRect:contentRect |
- styleMask:NSTitledWindowMask | |
- NSClosableWindowMask | |
- NSResizableWindowMask |
- backing:NSBackingStoreBuffered |
- defer:NO]; |
- [window setTitle:l10n_util::GetNSString(IDS_USER_MANAGER_SCREEN_TITLE)]; |
- |
- if ((self = [super initWithWindow:window])) { |
- userManagerObserver_ = userManagerObserver; |
- |
- // Initialize the web view. |
- webContents_.reset(content::WebContents::Create( |
- content::WebContents::CreateParams(profile))); |
- window.contentView = webContents_->GetView()->GetNativeView(); |
- DCHECK(window.contentView); |
- |
- [[NSNotificationCenter defaultCenter] |
- addObserver:self |
- selector:@selector(windowWillClose:) |
- name:NSWindowWillCloseNotification |
- object:self.window]; |
- } |
- return self; |
-} |
- |
-- (void)dealloc { |
- [[NSNotificationCenter defaultCenter] removeObserver:self]; |
- [super dealloc]; |
-} |
- |
-- (void)showURL:(const GURL&)url { |
- webContents_->GetController().LoadURL(url, content::Referrer(), |
- content::PAGE_TRANSITION_AUTO_TOPLEVEL, |
- std::string()); |
- [self show]; |
-} |
- |
-- (void)show { |
- [[self window] makeKeyAndOrderFront:self]; |
-} |
- |
-- (void)close { |
- [[self window] close]; |
-} |
- |
--(BOOL)isVisible { |
- return [[self window] isVisible]; |
-} |
- |
-- (void)windowWillClose:(NSNotification*)notification { |
- [[NSNotificationCenter defaultCenter] removeObserver:self]; |
- DCHECK(userManagerObserver_); |
- userManagerObserver_->WindowWasClosed(); |
-} |
- |
-@end |
- |
-// static |
-UserManagerMac* UserManagerMac::instance_ = NULL; |
- |
-UserManagerMac::UserManagerMac(Profile* profile) { |
- window_controller_.reset([[UserManagerWindowController alloc] |
- initWithProfile:profile withObserver:this]); |
-} |
- |
-UserManagerMac::~UserManagerMac() { |
-} |
- |
-// static |
-void UserManagerMac::Show(const base::FilePath& profile_path_to_focus, |
- profiles::UserManagerTutorialMode tutorial_mode) { |
- if (instance_) { |
- // If there's a user manager window open already, just activate it. |
- [instance_->window_controller_ show]; |
- return; |
- } |
- |
- // Create the guest profile, if necessary, and open the User Manager |
- // from the guest profile. |
- profiles::CreateGuestProfileForUserManager( |
- profile_path_to_focus, |
- tutorial_mode, |
- base::Bind(&UserManagerMac::OnGuestProfileCreated)); |
-} |
- |
-// static |
-void UserManagerMac::Hide() { |
- if (instance_) |
- [instance_->window_controller_ close]; |
-} |
- |
-// static |
-bool UserManagerMac::IsShowing() { |
- return instance_ ? [instance_->window_controller_ isVisible]: false; |
-} |
- |
-// static |
-void UserManagerMac::OnGuestProfileCreated(Profile* guest_profile, |
- const std::string& url) { |
- instance_ = new UserManagerMac(guest_profile); |
- [instance_->window_controller_ showURL:GURL(url)]; |
-} |
- |
-void UserManagerMac::WindowWasClosed() { |
- instance_ = NULL; |
- delete this; |
-} |