extension_pref_value_map_factory.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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)
790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "components/browser_context_keyed_service/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)
3190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)BrowserContextKeyedService*
3290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)ExtensionPrefValueMapFactory::BuildServiceInstanceFor(
331e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)    content::BrowserContext* context) const {
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return new ExtensionPrefValueMap();
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
36