12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/test/base/testing_pref_service_syncable.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/bind.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/prefs/pref_notifier_impl.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/prefs/pref_value_store.h" 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "components/pref_registry/pref_registry_syncable.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)template <> 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)TestingPrefServiceBase<PrefServiceSyncable, user_prefs::PrefRegistrySyncable>:: 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TestingPrefServiceBase(TestingPrefStore* managed_prefs, 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TestingPrefStore* user_prefs, 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) TestingPrefStore* recommended_prefs, 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable* pref_registry, 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PrefNotifierImpl* pref_notifier) 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) : PrefServiceSyncable( 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) pref_notifier, 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) new PrefValueStore(managed_prefs, 23424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) NULL, // supervised_user_prefs 24424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) NULL, // extension_prefs 25424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) NULL, // command_line_prefs 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs, 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) recommended_prefs, 287d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) pref_registry->defaults().get(), 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) pref_notifier), 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs, 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) pref_registry, 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) base::Bind(&TestingPrefServiceBase< 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PrefServiceSyncable, 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable>::HandleReadError), 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false), 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) managed_prefs_(managed_prefs), 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) user_prefs_(user_prefs), 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) recommended_prefs_(recommended_prefs) {} 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TestingPrefServiceSyncable::TestingPrefServiceSyncable() 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) : TestingPrefServiceBase<PrefServiceSyncable, 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable>( 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) new TestingPrefStore(), 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) new TestingPrefStore(), 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) new TestingPrefStore(), 46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) new user_prefs::PrefRegistrySyncable(), 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) new PrefNotifierImpl()) { 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TestingPrefServiceSyncable::TestingPrefServiceSyncable( 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TestingPrefStore* managed_prefs, 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TestingPrefStore* user_prefs, 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TestingPrefStore* recommended_prefs, 54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable* pref_registry, 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PrefNotifierImpl* pref_notifier) 56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) : TestingPrefServiceBase<PrefServiceSyncable, 57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable>( 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) managed_prefs, 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) user_prefs, 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) recommended_prefs, 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) pref_registry, 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) pref_notifier) { 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TestingPrefServiceSyncable::~TestingPrefServiceSyncable() { 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 68c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)user_prefs::PrefRegistrySyncable* TestingPrefServiceSyncable::registry() { 69c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return static_cast<user_prefs::PrefRegistrySyncable*>( 70c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DeprecatedGetPrefRegistry()); 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 72