Chromium Code Reviews| Index: chrome/browser/ntp_snippets/ntp_snippets_service_factory.cc |
| diff --git a/chrome/browser/ntp_snippets/ntp_snippets_service_factory.cc b/chrome/browser/ntp_snippets/ntp_snippets_service_factory.cc |
| index 140656102b52617c4e9e6367a808aeefcb41785b..092c5fad4a1f6a545ac292254c9c7f3c820de5ad 100644 |
| --- a/chrome/browser/ntp_snippets/ntp_snippets_service_factory.cc |
| +++ b/chrome/browser/ntp_snippets/ntp_snippets_service_factory.cc |
| @@ -4,6 +4,7 @@ |
| #include "chrome/browser/ntp_snippets/ntp_snippets_service_factory.h" |
| +#include "base/feature_list.h" |
| #include "base/memory/ptr_util.h" |
| #include "base/memory/singleton.h" |
| #include "chrome/browser/browser_process.h" |
| @@ -13,11 +14,13 @@ |
| #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" |
| #include "chrome/browser/signin/signin_manager_factory.h" |
| #include "chrome/common/channel_info.h" |
| +#include "chrome/common/pref_names.h" |
| #include "components/image_fetcher/image_fetcher.h" |
| #include "components/keyed_service/content/browser_context_dependency_manager.h" |
| #include "components/ntp_snippets/ntp_snippets_fetcher.h" |
| #include "components/ntp_snippets/ntp_snippets_scheduler.h" |
| #include "components/ntp_snippets/ntp_snippets_service.h" |
| +#include "components/prefs/pref_service.h" |
| #include "components/safe_json/safe_json_parser.h" |
| #include "components/signin/core/browser/profile_oauth2_token_service.h" |
| #include "components/signin/core/browser/signin_manager.h" |
| @@ -28,6 +31,7 @@ |
| #include "net/url_request/url_request_context_getter.h" |
| #if defined(OS_ANDROID) |
| +#include "chrome/browser/android/chrome_feature_list.h" |
| #include "chrome/browser/android/ntp/ntp_snippets_launcher.h" |
| #endif // OS_ANDROID |
| @@ -63,6 +67,13 @@ NTPSnippetsServiceFactory::~NTPSnippetsServiceFactory() {} |
| KeyedService* NTPSnippetsServiceFactory::BuildServiceInstanceFor( |
| content::BrowserContext* context) const { |
| Profile* profile = Profile::FromBrowserContext(context); |
| + |
| + bool enabled = profile->GetPrefs()->GetBoolean(prefs::kSearchSuggestEnabled); |
| +#if defined(OS_ANDROID) |
| + enabled = enabled && |
| + base::FeatureList::IsEnabled(chrome::android::kNTPSnippetsFeature); |
|
Bernhard Bauer
2016/05/20 10:43:24
Hm... both of these things use APIs that are avail
Michael van Ouwerkerk
2016/05/20 11:25:58
Agreed. I've added a TODO along those lines.
|
| +#endif // OS_ANDROID |
| + |
| SigninManagerBase* signin_manager = |
| SigninManagerFactory::GetForProfile(profile); |
| OAuth2TokenService* token_service = |
| @@ -85,7 +96,7 @@ KeyedService* NTPSnippetsServiceFactory::BuildServiceInstanceFor( |
| base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); |
| return new ntp_snippets::NTPSnippetsService( |
| - profile->GetPrefs(), suggestions_service, task_runner, |
| + enabled, profile->GetPrefs(), suggestions_service, task_runner, |
| g_browser_process->GetApplicationLocale(), scheduler, |
| base::WrapUnique(new ntp_snippets::NTPSnippetsFetcher( |
| signin_manager, token_service, request_context, |