15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "extensions/browser/extension_pref_value_map_factory.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "components/keyed_service/content/browser_context_dependency_manager.h"
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "extensions/browser/extension_pref_value_map.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ExtensionPrefValueMapFactory::ExtensionPrefValueMapFactory()
1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    : BrowserContextKeyedServiceFactory(
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "ExtensionPrefValueMap",
1390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)        BrowserContextDependencyManager::GetInstance()) {
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ExtensionPrefValueMapFactory::~ExtensionPrefValueMapFactory() {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static
201e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)ExtensionPrefValueMap* ExtensionPrefValueMapFactory::GetForBrowserContext(
211e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)    content::BrowserContext* context) {
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return static_cast<ExtensionPrefValueMap*>(
231e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)      GetInstance()->GetServiceForBrowserContext(context, true));
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ExtensionPrefValueMapFactory* ExtensionPrefValueMapFactory::GetInstance() {
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return Singleton<ExtensionPrefValueMapFactory>::get();
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
31a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)KeyedService* ExtensionPrefValueMapFactory::BuildServiceInstanceFor(
321e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)    content::BrowserContext* context) const {
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return new ExtensionPrefValueMap();
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
35