Index: chrome/browser/chromeos/settings/device_settings_test_helper.cc |
diff --git a/chrome/browser/chromeos/settings/device_settings_test_helper.cc b/chrome/browser/chromeos/settings/device_settings_test_helper.cc |
index abc8cafa8e5dd59ed5b2ef791bf6147b0470092f..e2bebbb9a4ca6b1ac6a7112c9dd4a8f56d94fa99 100644 |
--- a/chrome/browser/chromeos/settings/device_settings_test_helper.cc |
+++ b/chrome/browser/chromeos/settings/device_settings_test_helper.cc |
@@ -265,4 +265,49 @@ void DeviceSettingsTestBase::InitOwner(const std::string& user_id, |
service->OnTPMTokenReady(true /* token is enabled */); |
} |
+OwnerSettingsTestBase::OwnerSettingsTestBase() |
+ : local_state_(TestingBrowserProcess::GetGlobal()) { |
+} |
+ |
+OwnerSettingsTestBase::~OwnerSettingsTestBase() { |
+} |
+ |
+void OwnerSettingsTestBase::SetUp() { |
+ DeviceSettingsTestBase::SetUp(); |
+ |
+ settings_provider_.reset(new DeviceSettingsProvider( |
+ base::Callback<void(const std::string&)>(), &device_settings_service_)); |
+ settings_provider_->set_trusted_for_test(true); |
Mattias Nissler (ping if slow)
2015/03/27 13:45:58
This shouldn't be needed if you replace FlushDevic
|
+ owner_key_util_->SetPrivateKey(device_policy_.GetSigningKey()); |
+ InitOwner(device_policy_.policy_data().username(), true); |
+ FlushDeviceSettings(); |
+ |
+ owner_settings_service_ = |
+ OwnerSettingsServiceChromeOSFactory::GetForBrowserContext(profile_.get()); |
+ ASSERT_TRUE(owner_settings_service_); |
+ ASSERT_TRUE(owner_settings_service_->IsOwner()); |
+} |
+ |
+void OwnerSettingsTestBase::ReplaceProvider(const std::string& path) { |
+ // Swap out the DeviceSettingsProvider with our settings provider so we can |
+ // set values for the specified path. |
+ CrosSettings* const cros_settings = CrosSettings::Get(); |
+ device_settings_provider_ = cros_settings->GetProvider(path); |
+ EXPECT_TRUE(device_settings_provider_); |
+ EXPECT_TRUE(cros_settings->RemoveSettingsProvider(device_settings_provider_)); |
+ cros_settings->AddSettingsProvider(settings_provider_.get()); |
+} |
+ |
+void OwnerSettingsTestBase::TearDown() { |
+ DeviceSettingsTestBase::TearDown(); |
+ |
+ if (device_settings_provider_) { |
+ // Restore the real DeviceSettingsProvider. |
+ CrosSettings* const cros_settings = CrosSettings::Get(); |
+ EXPECT_TRUE( |
+ cros_settings->RemoveSettingsProvider(settings_provider_.get())); |
+ cros_settings->AddSettingsProvider(device_settings_provider_); |
+ } |
+} |
+ |
} // namespace chromeos |