summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation/automation_provider_chromeos.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/automation/automation_provider_chromeos.cc')
-rw-r--r--chrome/browser/automation/automation_provider_chromeos.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/chrome/browser/automation/automation_provider_chromeos.cc b/chrome/browser/automation/automation_provider_chromeos.cc
new file mode 100644
index 0000000..6e1cc2b
--- /dev/null
+++ b/chrome/browser/automation/automation_provider_chromeos.cc
@@ -0,0 +1,27 @@
+// Copyright (c) 2010 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/automation/automation_provider.h"
+
+#include "chrome/browser/automation/automation_provider_observers.h"
+#include "chrome/browser/chromeos/login/login_screen.h"
+#include "chrome/browser/chromeos/login/user_manager.h"
+#include "chrome/browser/chromeos/login/wizard_controller.h"
+#include "views/window/window_gtk.h"
+
+void AutomationProvider::LoginWithUserAndPass(const std::string& username,
+ const std::string& password,
+ IPC::Message* reply_message) {
+ WizardController* controller = WizardController::default_controller();
+ chromeos::NewUserView* new_user_view =
+ controller->GetLoginScreen()->view();
+
+ new_user_view->SetUsername(username);
+ new_user_view->SetPassword(password);
+
+ // Set up an observer (it will delete itself).
+ new LoginManagerObserver(this, reply_message);
+
+ new_user_view->Login();
+}