| Index: chrome/browser/chromeos/login/dom_login_display.cc
|
| diff --git a/chrome/browser/chromeos/login/dom_login_display.cc b/chrome/browser/chromeos/login/dom_login_display.cc
|
| index 008b2c7a4b7cd2346123eee5b76e3fc8f6ecfd96..4eb7a4c919213576401a4dc51e8387c592644329 100644
|
| --- a/chrome/browser/chromeos/login/dom_login_display.cc
|
| +++ b/chrome/browser/chromeos/login/dom_login_display.cc
|
| @@ -4,10 +4,10 @@
|
|
|
| #include "chrome/browser/chromeos/login/dom_login_display.h"
|
|
|
| -#include "chrome/browser/chromeos/frame/dom_browser.h"
|
| #include "chrome/browser/chromeos/wm_ipc.h"
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| #include "chrome/browser/ui/browser_window.h"
|
| +#include "views/widget/widget.h"
|
|
|
| namespace {
|
| const char kLoginURL[] = "chrome://login";
|
| @@ -18,8 +18,8 @@ namespace chromeos {
|
| // DOMLoginDisplay, public: ---------------------------------------------------
|
|
|
| DOMLoginDisplay::~DOMLoginDisplay() {
|
| - if (login_screen_)
|
| - login_screen_->CloseWindow();
|
| + if (webui_login_window_)
|
| + webui_login_window_->Close();
|
| }
|
|
|
| // DOMLoginDisplay, Singleton implementation: ----------------------------------
|
| @@ -31,9 +31,24 @@ DOMLoginDisplay* DOMLoginDisplay::GetInstance() {
|
|
|
| // LoginDisplay implementation: ------------------------------------------------
|
|
|
| +// static
|
| +views::Widget* DOMLoginDisplay::GetLoginWindow() {
|
| + return DOMLoginDisplay::GetInstance()->LoginWindow();
|
| +}
|
| +
|
| +views::Widget* DOMLoginDisplay::LoginWindow() {
|
| + return webui_login_window_;
|
| +}
|
| +
|
| void DOMLoginDisplay::Destroy() {
|
| background_bounds_ = gfx::Rect();
|
| delegate_ = NULL;
|
| +
|
| + if (webui_login_window_)
|
| + webui_login_window_->Close();
|
| +
|
| + webui_login_window_ = NULL;
|
| + webui_login_view_ = NULL;
|
| }
|
|
|
| void DOMLoginDisplay::Init(const std::vector<UserManager::User>& users,
|
| @@ -45,10 +60,11 @@ void DOMLoginDisplay::Init(const std::vector<UserManager::User>& users,
|
|
|
| // TODO(rharrison): Add mechanism to pass in the show_guest and show_new_user
|
| // values.
|
| - login_screen_ = DOMBrowser::CreateForDOM(ProfileManager::GetDefaultProfile());
|
| - login_screen_->AddSelectedTabWithURL(GURL(kLoginURL),
|
| - PageTransition::START_PAGE);
|
| - login_screen_->window()->Show();
|
| + webui_login_window_ = WebUILoginView::CreateWindowContainingView(
|
| + background_bounds_,
|
| + GURL(kLoginURL),
|
| + &webui_login_view_);
|
| + webui_login_window_->Show();
|
| }
|
|
|
| void DOMLoginDisplay::OnBeforeUserRemoved(const std::string& username) {
|
| @@ -104,6 +120,8 @@ void DOMLoginDisplay::LoginAsGuest() {
|
| DOMLoginDisplay::DOMLoginDisplay()
|
| : LoginDisplay(NULL, gfx::Rect()),
|
| LoginUIHandlerDelegate(),
|
| - login_screen_(NULL) {}
|
| + webui_login_view_(NULL),
|
| + webui_login_window_(NULL) {
|
| +}
|
|
|
| } // namespace chromeos
|
|
|