1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file. 4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 5eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "chrome/browser/chromeos/policy/recommendation_restorer_factory.h" 6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "chrome/browser/chromeos/policy/recommendation_restorer.h" 8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "chrome/browser/profiles/profile.h" 9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "components/browser_context_keyed_service/browser_context_dependency_manager.h" 10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "content/public/browser/browser_context.h" 11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 12eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace policy { 13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// static 15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochRecommendationRestorerFactory* RecommendationRestorerFactory::GetInstance() { 16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch return Singleton<RecommendationRestorerFactory>::get(); 17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} 18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// static 20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochRecommendationRestorer* RecommendationRestorerFactory::GetForProfile( 21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch Profile* profile) { 22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch return reinterpret_cast<RecommendationRestorer*>( 23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch GetInstance()->GetServiceForBrowserContext(profile, false)); 24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} 25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochBrowserContextKeyedService* 27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch RecommendationRestorerFactory::BuildServiceInstanceFor( 28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch content::BrowserContext* context) const { 29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch return new RecommendationRestorer(static_cast<Profile*>(context)); 30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} 31eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochbool RecommendationRestorerFactory::ServiceIsCreatedWithBrowserContext() const { 33eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch return true; 34eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} 35eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 36eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochRecommendationRestorerFactory::RecommendationRestorerFactory() 37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch : BrowserContextKeyedServiceFactory( 38eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch "RecommendationRestorer", 39eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch BrowserContextDependencyManager::GetInstance()) { 40eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} 41eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 42eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochRecommendationRestorerFactory::~RecommendationRestorerFactory() { 43eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} 44eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 45eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} // namespace policy 46