1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/ui/global_error/global_error_service_factory.h" 6 7#include "chrome/browser/profiles/incognito_helpers.h" 8#include "chrome/browser/profiles/profile.h" 9#include "chrome/browser/ui/global_error/global_error_service.h" 10#include "components/keyed_service/content/browser_context_dependency_manager.h" 11 12// static 13GlobalErrorService* GlobalErrorServiceFactory::GetForProfile(Profile* profile) { 14 return static_cast<GlobalErrorService*>( 15 GetInstance()->GetServiceForBrowserContext(profile, true)); 16} 17 18// static 19GlobalErrorServiceFactory* GlobalErrorServiceFactory::GetInstance() { 20 return Singleton<GlobalErrorServiceFactory>::get(); 21} 22 23GlobalErrorServiceFactory::GlobalErrorServiceFactory() 24 : BrowserContextKeyedServiceFactory( 25 "GlobalErrorService", 26 BrowserContextDependencyManager::GetInstance()) { 27} 28 29GlobalErrorServiceFactory::~GlobalErrorServiceFactory() { 30} 31 32KeyedService* GlobalErrorServiceFactory::BuildServiceInstanceFor( 33 content::BrowserContext* profile) const { 34 return new GlobalErrorService(static_cast<Profile*>(profile)); 35} 36 37content::BrowserContext* GlobalErrorServiceFactory::GetBrowserContextToUse( 38 content::BrowserContext* context) const { 39 return chrome::GetBrowserContextRedirectedInIncognito(context); 40} 41