| Index: chrome/browser/ui/cocoa/user_manager_mac.h
|
| diff --git a/chrome/browser/ui/cocoa/user_manager_mac.h b/chrome/browser/ui/cocoa/user_manager_mac.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..50df240a345d2f51e657614f345795f276fdf430
|
| --- /dev/null
|
| +++ b/chrome/browser/ui/cocoa/user_manager_mac.h
|
| @@ -0,0 +1,73 @@
|
| +// 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.
|
| +
|
| +#ifndef CHROME_BROWSER_UI_COCOA_USER_MANAGER_MAC_H_
|
| +#define CHROME_BROWSER_UI_COCOA_USER_MANAGER_MAC_H_
|
| +
|
| +#import <Cocoa/Cocoa.h>
|
| +
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "chrome/browser/profiles/profile.h"
|
| +
|
| +class UserManagerMac;
|
| +
|
| +namespace content {
|
| +class NavigationController;
|
| +class WebContents;
|
| +}
|
| +
|
| +// Window controller for the User Manager view.
|
| +@interface UserManagerWindowController : NSWindowController <NSWindowDelegate> {
|
| +@private
|
| + scoped_ptr<content::WebContents> webContents_;
|
| + UserManagerMac* userManagerObserver_; // Weak.
|
| +}
|
| +
|
| +- (id)initWithProfile:(Profile*) profile
|
| + withObserver:(UserManagerMac*) userManagerObserver;
|
| +- (void)showURL:(GURL)url;
|
| +- (void)show;
|
| +- (void)hide;
|
| +@end
|
| +
|
| +// Dialog widget that contains the Desktop User Manager webui.
|
| +class UserManagerMac {
|
| + public:
|
| + // Shows the User Manager or re-activates an existing one, focusing the
|
| + // profile given by |profile_path_to_focus|.
|
| + static void Show(const base::FilePath& profile_path_to_focus);
|
| +
|
| + // Hide the User Manager.
|
| + static void Hide();
|
| +
|
| + // Returns whether or not the User Manager is showing.
|
| + static bool IsShowing();
|
| +
|
| + // Called by the cocoa window controller when its window closes and the
|
| + // controller destroyed itself. Deletes the instance.
|
| + void WindowWasClosed();
|
| +
|
| + private:
|
| + explicit UserManagerMac(Profile* profile);
|
| + virtual ~UserManagerMac();
|
| +
|
| + // If the |guest_profile| has been initialized succesfully (according to
|
| + // |status|), creates a new UserManagerMac instance with the user with path
|
| + // |profile_path_to_focus| focused.
|
| + static void OnGuestProfileCreated(const base::FilePath& profile_path_to_focus,
|
| + Profile* guest_profile,
|
| + Profile::CreateStatus status);
|
| +
|
| + // An open User Manager window. There can only be one open at a time. This
|
| + // is reset to NULL when the window is closed.
|
| + static UserManagerMac* instance_; // Weak.
|
| +
|
| + // Controller of the window. Destroys itself when the user manager window
|
| + // is closed.
|
| + UserManagerWindowController* window_controller_; // Weak.
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(UserManagerMac);
|
| +};
|
| +
|
| +#endif // CHROME_BROWSER_UI_COCOA_USER_MANAGER_MAC_H_
|
|
|