/chromium-webcl/src/chrome/browser/favicon/favicon_service_factory.cc
https://bitbucket.org/peixuan/chromium_r197479_base · C++ · 55 lines · 39 code · 9 blank · 7 comment · 4 complexity · 6cdc6fa86de975da4879ca934d94d98c MD5 · raw file
- // Copyright (c) 2012 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "chrome/browser/favicon/favicon_service_factory.h"
- #include "base/memory/singleton.h"
- #include "base/prefs/pref_service.h"
- #include "chrome/browser/favicon/favicon_service.h"
- #include "chrome/browser/history/history_service.h"
- #include "chrome/browser/history/history_service_factory.h"
- #include "chrome/browser/profiles/profile_dependency_manager.h"
- #include "chrome/common/pref_names.h"
- // static
- FaviconService* FaviconServiceFactory::GetForProfile(
- Profile* profile, Profile::ServiceAccessType sat) {
- if (!profile->IsOffTheRecord()) {
- return static_cast<FaviconService*>(
- GetInstance()->GetServiceForProfile(profile, true));
- } else if (sat == Profile::EXPLICIT_ACCESS) {
- // Profile must be OffTheRecord in this case.
- return static_cast<FaviconService*>(
- GetInstance()->GetServiceForProfile(
- profile->GetOriginalProfile(), true));
- }
- // Profile is OffTheRecord without access.
- NOTREACHED() << "This profile is OffTheRecord";
- return NULL;
- }
- // static
- FaviconServiceFactory* FaviconServiceFactory::GetInstance() {
- return Singleton<FaviconServiceFactory>::get();
- }
- FaviconServiceFactory::FaviconServiceFactory()
- : ProfileKeyedServiceFactory("FaviconService",
- ProfileDependencyManager::GetInstance()) {
- DependsOn(HistoryServiceFactory::GetInstance());
- }
- FaviconServiceFactory::~FaviconServiceFactory() {}
- ProfileKeyedService* FaviconServiceFactory::BuildServiceInstanceFor(
- content::BrowserContext* profile) const {
- HistoryService* history_service = HistoryServiceFactory::GetForProfile(
- static_cast<Profile*>(profile), Profile::EXPLICIT_ACCESS);
- return new FaviconService(history_service);
- }
- bool FaviconServiceFactory::ServiceIsNULLWhileTesting() const {
- return true;
- }