Index: chrome/browser/chromeos/ownership/owner_settings_service_factory.cc |
diff --git a/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc b/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc |
index a30788839b0c0824f214f9aeab4335e76fb77c63..e80177d9411884f2b90798d1520d634c76188968 100644 |
--- a/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc |
+++ b/chrome/browser/chromeos/ownership/owner_settings_service_factory.cc |
@@ -4,10 +4,14 @@ |
#include "chrome/browser/chromeos/ownership/owner_settings_service_factory.h" |
+#include "base/path_service.h" |
#include "chrome/browser/chromeos/ownership/owner_settings_service.h" |
#include "chrome/browser/chromeos/profiles/profile_helper.h" |
#include "chrome/browser/profiles/profile.h" |
+#include "chromeos/chromeos_paths.h" |
#include "components/keyed_service/content/browser_context_dependency_manager.h" |
+#include "components/ownership/mock_owner_key_util.h" |
+#include "components/ownership/owner_key_util_impl.h" |
namespace chromeos { |
@@ -32,13 +36,24 @@ OwnerSettingsServiceFactory* OwnerSettingsServiceFactory::GetInstance() { |
return Singleton<OwnerSettingsServiceFactory>::get(); |
} |
+scoped_refptr<ownership::OwnerKeyUtil> |
+OwnerSettingsServiceFactory::GetOwnerKeyUtil() { |
+ if (owner_key_util_.get()) |
+ return owner_key_util_; |
+ base::FilePath public_key_path; |
+ if (!PathService::Get(chromeos::FILE_OWNER_KEY, &public_key_path)) |
+ return NULL; |
+ owner_key_util_ = new ownership::OwnerKeyUtilImpl(public_key_path); |
+ return owner_key_util_; |
+} |
+ |
// static |
KeyedService* OwnerSettingsServiceFactory::BuildInstanceFor( |
content::BrowserContext* browser_context) { |
Profile* profile = static_cast<Profile*>(browser_context); |
if (profile->IsGuestSession() || ProfileHelper::IsSigninProfile(profile)) |
return NULL; |
- return new OwnerSettingsService(profile); |
+ return new OwnerSettingsService(profile, GetInstance()->GetOwnerKeyUtil()); |
} |
bool OwnerSettingsServiceFactory::ServiceIsCreatedWithBrowserContext() const { |