Chromium Code Reviews| Index: chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc |
| diff --git a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc |
| index a48a272c0dfb93e2cac00262a5c991c208796bf5..71820d4fd62e5322ac0d203136629d14cb4b8eeb 100644 |
| --- a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc |
| +++ b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc |
| @@ -13,6 +13,8 @@ |
| #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" |
| #include "chrome/browser/chromeos/login/ui/user_adding_screen.h" |
| #include "chrome/browser/chromeos/login/users/user_manager.h" |
| +#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
| +#include "chrome/browser/chromeos/policy/consumer_management_service.h" |
| #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| #include "chrome/browser/chromeos/settings/cros_settings.h" |
| #include "chrome/browser/io_thread.h" |
| @@ -290,13 +292,43 @@ void GaiaScreenHandler::HandleCompleteLogin(const std::string& typed_email, |
| const std::string& password, |
| bool using_saml) { |
| std::string owner_email = UserManager::Get()->GetOwnerEmail(); |
| - if (is_enrolling_consumer_management_ && typed_email != owner_email) { |
| - // Show Gaia signin page again since we only allow the owner to sign in. |
| - populated_email_ = owner_email; |
| - ShowGaia(is_enrolling_consumer_management_); |
| - return; |
| + if (is_enrolling_consumer_management_) { |
| + if (typed_email == owner_email) { |
| + policy::BrowserPolicyConnectorChromeOS* connector = g_browser_process |
|
bartfab (slow)
2014/08/04 18:44:55
While I was working on another screen handler last
davidyu
2014/08/05 07:27:00
Done.
|
| + ->platform_part()->browser_policy_connector_chromeos(); |
|
bartfab (slow)
2014/08/04 18:44:55
Nit 1: Move the -> operator to the previous line.
davidyu
2014/08/05 07:27:00
Done.
|
| + connector->GetConsumerManagementService()->SetOwner( |
| + owner_email, |
| + base::Bind(&GaiaScreenHandler::OnSetOwnerDone, |
|
bartfab (slow)
2014/08/04 18:44:56
Nit: #include "base/bind.h"
davidyu
2014/08/05 07:27:00
Done.
|
| + weak_factory_.GetWeakPtr(), |
| + typed_email, password, using_saml)); |
|
bartfab (slow)
2014/08/04 18:44:55
Nit: Add a return statement after this. That way,
davidyu
2014/08/05 07:27:00
Done.
|
| + } else { |
| + // Show Gaia signin page again since we only allow the owner to sign in. |
|
bartfab (slow)
2014/08/04 18:44:56
Nit: s/signin/sign-in/
davidyu
2014/08/05 07:27:00
Done.
|
| + populated_email_ = owner_email; |
| + ShowGaia(is_enrolling_consumer_management_); |
| + return; |
| + } |
| + } else { |
| + DoCompleteLogin(typed_email, password, using_saml); |
| + } |
| +} |
| + |
| +void GaiaScreenHandler::OnSetOwnerDone(const std::string& typed_email, |
| + const std::string& password, |
| + bool using_saml, |
| + bool result) { |
|
bartfab (slow)
2014/08/04 18:44:55
Nit: |result| is unclear. Better call this |succes
davidyu
2014/08/05 07:27:00
Done.
|
| + if (!result) { |
| + LOG(ERROR) << "Failed to write owner email to boot lockbox."; |
|
bartfab (slow)
2014/08/04 18:44:56
Nit: s/email/e-mail/
davidyu
2014/08/05 07:27:00
Done.
|
| + policy::BrowserPolicyConnectorChromeOS* connector = g_browser_process |
| + ->platform_part()->browser_policy_connector_chromeos(); |
|
bartfab (slow)
2014/08/04 18:44:55
Nit: Move the -> operator to the previous line.
davidyu
2014/08/05 07:27:00
Done.
|
| + connector->GetConsumerManagementService()->SetEnrollState( |
| + policy::ConsumerManagementService::ENROLL_BOOT_LOCKBOX_FAILED); |
| } |
| + DoCompleteLogin(typed_email, password, using_saml); |
| +} |
| +void GaiaScreenHandler::DoCompleteLogin(const std::string& typed_email, |
| + const std::string& password, |
| + bool using_saml) { |
| if (!Delegate()) |
| return; |