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

Unified Diff: chrome/browser/chromeos/ownership/owner_settings_service_chromeos_factory.cc

Issue 654263003: Implemented OwnerSettingsService::Set() method. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed crashes under asan. Created 6 years, 2 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/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..afe0480125f43757531956af0d18206dd6c0ac29 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,19 @@
namespace chromeos {
+namespace {
+
+DeviceSettingsService* g_device_settings_service_for_testing_ = nullptr;
+
+DeviceSettingsService* GetDeviceSettingsService() {
+ if (g_device_settings_service_for_testing_)
+ return g_device_settings_service_for_testing_;
+ return DeviceSettingsService::IsInitialized() ? DeviceSettingsService::Get()
+ : nullptr;
+}
+
+} // namespace
+
OwnerSettingsServiceChromeOSFactory::OwnerSettingsServiceChromeOSFactory()
: BrowserContextKeyedServiceFactory(
"OwnerSettingsService",
@@ -37,6 +51,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 +79,10 @@ 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(
+ GetDeviceSettingsService(),
+ profile,
+ GetInstance()->GetOwnerKeyUtil());
}
bool OwnerSettingsServiceChromeOSFactory::ServiceIsCreatedWithBrowserContext()

Powered by Google App Engine
This is Rietveld 408576698