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

Unified Diff: chrome/browser/ui/cocoa/user_manager_mac.mm

Issue 229163004: [Mac] Move profile related UI from cocoa/browser to cocoa/profiles (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: oops forgot a comment Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/cocoa/user_manager_mac.h ('k') | chrome/chrome_browser_ui.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
-}
« no previous file with comments | « chrome/browser/ui/cocoa/user_manager_mac.h ('k') | chrome/chrome_browser_ui.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698