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 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_VIEWS_PROFILES_USER_MANAGER_VIEW_H_ 6 #define CHROME_BROWSER_UI_VIEWS_PROFILES_USER_MANAGER_VIEW_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile_window.h" 11 #include "ui/views/window/dialog_delegate.h" 12 13 class AutoKeepAlive; 14 15 namespace views { 16 class WebView; 17 } 18 19 // Dialog widget that contains the Desktop User Manager webui. 20 class UserManagerView : public views::DialogDelegateView { 21 public: 22 // Do not call directly. To display the User Manager, use UserManager::Show(). 23 UserManagerView(); 24 25 // Creates a new UserManagerView instance for the |guest_profile| and 26 // shows the |url|. 27 static void OnGuestProfileCreated(scoped_ptr<UserManagerView> instance, 28 const base::FilePath& profile_path_to_focus, 29 Profile* guest_profile, 30 const std::string& url); 31 32 private: 33 virtual ~UserManagerView(); 34 35 friend struct base::DefaultDeleter<UserManagerView>; 36 37 // Creates dialog and initializes UI. 38 void Init(const base::FilePath& profile_path_to_focus, 39 Profile* guest_profile, 40 const GURL& url); 41 42 // views::View: 43 virtual bool AcceleratorPressed(const ui::Accelerator& accelerator) OVERRIDE; 44 virtual gfx::Size GetPreferredSize() const OVERRIDE; 45 46 // views::DialogDelegateView: 47 virtual bool CanResize() const OVERRIDE; 48 virtual bool CanMaximize() const OVERRIDE; 49 virtual bool CanMinimize() const OVERRIDE; 50 virtual base::string16 GetWindowTitle() const OVERRIDE; 51 virtual int GetDialogButtons() const OVERRIDE; 52 virtual void WindowClosing() OVERRIDE; 53 virtual bool UseNewStyleForThisDialog() const OVERRIDE; 54 55 views::WebView* web_view_; 56 57 scoped_ptr<AutoKeepAlive> keep_alive_; 58 59 DISALLOW_COPY_AND_ASSIGN(UserManagerView); 60 }; 61 62 #endif // CHROME_BROWSER_UI_VIEWS_PROFILES_USER_MANAGER_VIEW_H_ 63