Index: chrome/browser/chromeos/ownership/owner_settings_service_chromeos_factory.cc |
diff --git a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos_factory.cc b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos_factory.cc |
index b971f3407aee5953c657ed4ca0677ff88650a47b..e43b03dce0e2df207139eaf87853204628498e29 100644 |
--- a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos_factory.cc |
+++ b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos_factory.cc |
@@ -7,6 +7,7 @@ |
#include "base/path_service.h" |
#include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos.h" |
#include "chrome/browser/chromeos/profiles/profile_helper.h" |
+#include "chrome/browser/chromeos/settings/device_settings_service.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chromeos/chromeos_paths.h" |
#include "components/keyed_service/content/browser_context_dependency_manager.h" |
@@ -15,6 +16,12 @@ |
namespace chromeos { |
+namespace { |
+ |
+DeviceSettingsService* g_device_settings_service_for_testing_ = nullptr; |
+ |
+} // namespace |
+ |
OwnerSettingsServiceChromeOSFactory::OwnerSettingsServiceChromeOSFactory() |
: BrowserContextKeyedServiceFactory( |
"OwnerSettingsService", |
@@ -37,6 +44,12 @@ OwnerSettingsServiceChromeOSFactory::GetInstance() { |
return Singleton<OwnerSettingsServiceChromeOSFactory>::get(); |
} |
+// static |
+void OwnerSettingsServiceChromeOSFactory::SetDeviceSettingsServiceForTesting( |
+ DeviceSettingsService* device_settings_service) { |
+ g_device_settings_service_for_testing_ = device_settings_service; |
+} |
+ |
scoped_refptr<ownership::OwnerKeyUtil> |
OwnerSettingsServiceChromeOSFactory::GetOwnerKeyUtil() { |
if (owner_key_util_.get()) |
@@ -59,8 +72,11 @@ KeyedService* OwnerSettingsServiceChromeOSFactory::BuildInstanceFor( |
Profile* profile = static_cast<Profile*>(browser_context); |
if (profile->IsGuestSession() || ProfileHelper::IsSigninProfile(profile)) |
return NULL; |
- return new OwnerSettingsServiceChromeOS(profile, |
- GetInstance()->GetOwnerKeyUtil()); |
+ return new OwnerSettingsServiceChromeOS( |
+ g_device_settings_service_for_testing_ |
+ ? g_device_settings_service_for_testing_ |
+ : DeviceSettingsService::Get(), |
+ profile, GetInstance()->GetOwnerKeyUtil()); |
} |
bool OwnerSettingsServiceChromeOSFactory::ServiceIsCreatedWithBrowserContext() |