Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(438)

Unified Diff: chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.cc

Issue 220913003: Make supervised user ChromeOS import aware of new password schema. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.cc
diff --git a/chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.cc b/chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.cc
index f44f6fd779449dcf1372ff94fb2b75285aaf11df..d16a7ebe1c2b60455574f42a5851d70285cb1201 100644
--- a/chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.cc
+++ b/chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.cc
@@ -21,6 +21,9 @@
#include "chrome/browser/chromeos/login/user_image.h"
#include "chrome/browser/chromeos/login/user_image_manager.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
+#include "chrome/browser/managed_mode/managed_user_constants.h"
+#include "chrome/browser/managed_mode/managed_user_shared_settings_service.h"
+#include "chrome/browser/managed_mode/managed_user_shared_settings_service_factory.h"
#include "chrome/browser/managed_mode/managed_user_sync_service.h"
#include "chrome/browser/managed_mode/managed_user_sync_service_factory.h"
#include "chrome/common/chrome_switches.h"
@@ -226,11 +229,17 @@ void LocallyManagedUserCreationScreen::ImportManagedUser(
}
base::string16 display_name;
std::string master_key;
+ std::string signature_key;
+ std::string encryption_key;
std::string avatar;
bool exists;
int avatar_index = ManagedUserCreationController::kDummyAvatarIndex;
user_info->GetString(ManagedUserSyncService::kName, &display_name);
user_info->GetString(ManagedUserSyncService::kMasterKey, &master_key);
+ user_info->GetString(ManagedUserSyncService::kPasswordSignatureKey,
+ &signature_key);
+ user_info->GetString(ManagedUserSyncService::kPasswordEncryptionKey,
+ &encryption_key);
user_info->GetString(ManagedUserSyncService::kChromeOsAvatar, &avatar);
user_info->GetBoolean(kUserExists, &exists);
@@ -248,11 +257,27 @@ void LocallyManagedUserCreationScreen::ImportManagedUser(
ManagedUserSyncService::GetAvatarIndex(avatar, &avatar_index);
- controller_->StartImport(display_name,
- std::string(),
- avatar_index,
- user_id,
- master_key);
+ const base::DictionaryValue* password_data = NULL;
+ ManagedUserSharedSettingsService* shared_settings_service =
+ ManagedUserSharedSettingsServiceFactory::GetForBrowserContext(
+ controller_->GetManagerProfile());
+ const base::Value* value = shared_settings_service->GetValue(
+ user_id, managed_users::kChromeOSPasswordData);
+
+ bool password_right_here = value && value->GetAsDictionary(&password_data) &&
Nikita (slow) 2014/04/03 09:13:08 nit: rename password_right_here to have_password
+ !password_data->empty();
+
+ if (password_right_here) {
+ controller_->StartImport(display_name,
+ avatar_index,
+ user_id,
+ master_key,
+ password_data,
+ encryption_key,
+ signature_key);
+ } else {
+ NOTREACHED() << " Oops, no password";
+ }
}
// TODO(antrim): Code duplication with previous method will be removed once
@@ -503,8 +528,14 @@ void LocallyManagedUserCreationScreen::OnGetManagedUsers(
ui_copy->SetString(kUserConflict, kUserConflictName);
}
ui_copy->SetString(ManagedUserSyncService::kName, display_name);
- // TODO(antrim): For now mark all users as having no password.
- ui_copy->SetBoolean(kUserNeedPassword, true);
+
+ std::string signature_key;
+ bool has_password =
Nikita (slow) 2014/04/03 09:13:08 nit: Not quite clear why variable is called has_pa
+ local_copy->GetString(ManagedUserSyncService::kPasswordSignatureKey,
+ &signature_key) &&
+ !signature_key.empty();
+
+ ui_copy->SetBoolean(kUserNeedPassword, !has_password);
ui_copy->SetString("id", it.key());
existing_users_->Set(it.key(), local_copy);

Powered by Google App Engine
This is Rietveld 408576698