Chromium Code Reviews| Index: ios/chrome/browser/favicon/ios_chrome_large_icon_service_factory.mm |
| diff --git a/ios/chrome/browser/favicon/ios_chrome_large_icon_service_factory.mm b/ios/chrome/browser/favicon/ios_chrome_large_icon_service_factory.mm |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..354e62bf9523ef4608f0d0b3d40b98fe70e33323 |
| --- /dev/null |
| +++ b/ios/chrome/browser/favicon/ios_chrome_large_icon_service_factory.mm |
| @@ -0,0 +1,52 @@ |
| +// Copyright 2015 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 "ios/chrome/browser/favicon/ios_chrome_large_icon_service_factory.h" |
| + |
| +#include "base/memory/singleton.h" |
| +#include "base/thread_task_runner_handle.h" |
| +#include "components/favicon/core/large_icon_service.h" |
| +#include "components/keyed_service/core/service_access_type.h" |
| +#include "components/keyed_service/ios/browser_state_dependency_manager.h" |
| +#include "ios/chrome/browser/browser_state/browser_state_otr_helper.h" |
| +#include "ios/chrome/browser/favicon/favicon_service_factory.h" |
| +#include "ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h" |
| +#include "ios/web/public/web_thread.h" |
| + |
| +// static |
| +favicon::LargeIconService* IOSChromeLargeIconServiceFactory::GetForBrowserState( |
| + ios::ChromeBrowserState* browser_state) { |
| + return static_cast<favicon::LargeIconService*>( |
| + GetInstance()->GetServiceForBrowserState(browser_state, true)); |
| +} |
| + |
| +// static |
| +IOSChromeLargeIconServiceFactory* |
| +IOSChromeLargeIconServiceFactory::GetInstance() { |
|
sdefresne
2015/10/30 09:27:18
Please put a call to this method in ios/chrome/bro
justincohen
2015/10/30 11:59:20
Done.
|
| + return base::Singleton<IOSChromeLargeIconServiceFactory>::get(); |
| +} |
| + |
| +IOSChromeLargeIconServiceFactory::IOSChromeLargeIconServiceFactory() |
| + : BrowserStateKeyedServiceFactory( |
| + "LargeIconService", |
| + BrowserStateDependencyManager::GetInstance()) {} |
| + |
| +IOSChromeLargeIconServiceFactory::~IOSChromeLargeIconServiceFactory() {} |
| + |
| +scoped_ptr<KeyedService> |
| +IOSChromeLargeIconServiceFactory::BuildServiceInstanceFor( |
| + web::BrowserState* context) const { |
| + ios::ChromeBrowserState* browser_state = |
| + ios::ChromeBrowserState::FromBrowserState(context); |
| + |
| + return make_scoped_ptr(new favicon::LargeIconService( |
| + ios::FaviconServiceFactory::GetForBrowserState( |
| + browser_state, ServiceAccessType::EXPLICIT_ACCESS), |
| + web::WebThread::GetBlockingPool())); |
| +} |
| + |
| +web::BrowserState* IOSChromeLargeIconServiceFactory::GetBrowserStateToUse( |
| + web::BrowserState* context) const { |
| + return GetBrowserStateOwnInstanceInIncognito(context); |
| +} |