Chromium Code Reviews| Index: chrome/browser/chromeos/ownership/owner_settings_service.cc |
| diff --git a/chrome/browser/chromeos/ownership/owner_settings_service.cc b/chrome/browser/chromeos/ownership/owner_settings_service.cc |
| index 9b4ccef7175695c57ef080ab9cee70b54eb5fb89..b321596349e4e6c758701c5306b994ec7597141a 100644 |
| --- a/chrome/browser/chromeos/ownership/owner_settings_service.cc |
| +++ b/chrome/browser/chromeos/ownership/owner_settings_service.cc |
| @@ -9,12 +9,15 @@ |
| #include "base/bind.h" |
| #include "base/bind_helpers.h" |
| #include "base/command_line.h" |
| +#include "base/path_service.h" |
| +#include "base/prefs/pref_service.h" |
| #include "chrome/browser/chrome_notification_types.h" |
| #include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h" |
| #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| #include "chrome/browser/chromeos/settings/cros_settings.h" |
| #include "chrome/browser/chromeos/settings/session_manager_operation.h" |
| #include "chrome/browser/profiles/profile.h" |
| +#include "chromeos/chromeos_paths.h" |
| #include "chromeos/dbus/dbus_thread_manager.h" |
| #include "components/policy/core/common/cloud/cloud_policy_constants.h" |
| #include "content/public/browser/browser_thread.h" |
| @@ -31,6 +34,9 @@ |
| namespace em = enterprise_management; |
| using content::BrowserThread; |
| +using ownership::OwnerKeyUtil; |
| +using ownership::PrivateKey; |
| +using ownership::PublicKey; |
| namespace chromeos { |
| @@ -39,6 +45,13 @@ namespace { |
| scoped_refptr<OwnerKeyUtil>* g_owner_key_util_for_testing = NULL; |
| DeviceSettingsService* g_device_settings_service_for_testing = NULL; |
| +scoped_refptr<ownership::OwnerKeyUtil> MakeOwnerKeyUtil() { |
| + base::FilePath public_key_path; |
| + if (!PathService::Get(chromeos::FILE_OWNER_KEY, &public_key_path)) |
| + return NULL; |
| + return OwnerKeyUtil::Create(public_key_path); |
| +} |
|
stevenjb
2014/08/26 16:02:12
So, while I do like removing the reference to chro
ygorshenin1
2014/08/26 16:31:16
Done.
|
| + |
| bool IsOwnerInTests(const std::string& user_id) { |
| if (user_id.empty() || |
| !CommandLine::ForCurrentProcess()->HasSwitch(::switches::kTestType) || |
| @@ -176,7 +189,11 @@ void DoesPrivateKeyExistAsync( |
| if (g_owner_key_util_for_testing) |
| owner_key_util = *g_owner_key_util_for_testing; |
| else |
| - owner_key_util = OwnerKeyUtil::Create(); |
| + owner_key_util = MakeOwnerKeyUtil(); |
| + if (!owner_key_util) { |
| + callback.Run(false); |
| + return; |
| + } |
| scoped_refptr<base::TaskRunner> task_runner = |
| content::BrowserThread::GetBlockingPool() |
| ->GetTaskRunnerWithShutdownBehavior( |
| @@ -232,7 +249,7 @@ bool CheckManagementModeTransition(em::PolicyData::ManagementMode current_mode, |
| OwnerSettingsService::OwnerSettingsService(Profile* profile) |
| : profile_(profile), |
| - owner_key_util_(OwnerKeyUtil::Create()), |
| + owner_key_util_(MakeOwnerKeyUtil()), |
| waiting_for_profile_creation_(true), |
| waiting_for_tpm_token_(true), |
| weak_factory_(this) { |