Chromium Code Reviews| Index: chrome/browser/autocomplete/chrome_autocomplete_provider_delegate.cc |
| diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_delegate.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_delegate.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..4e6d12f7d933c13b4ec07803c513da8cbd19c916 |
| --- /dev/null |
| +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_delegate.cc |
| @@ -0,0 +1,99 @@ |
| +// Copyright 2014 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/autocomplete/chrome_autocomplete_provider_delegate.h" |
| + |
| +#include "base/prefs/pref_service.h" |
| +#include "chrome/browser/autocomplete/autocomplete_classifier.h" |
| +#include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" |
| +#include "chrome/browser/bitmap_fetcher/bitmap_fetcher_service.h" |
| +#include "chrome/browser/bitmap_fetcher/bitmap_fetcher_service_factory.h" |
| +#include "chrome/browser/history/history_service.h" |
| +#include "chrome/browser/history/history_service_factory.h" |
| +#include "chrome/browser/profiles/profile.h" |
| +#include "chrome/browser/sync/profile_sync_service.h" |
| +#include "chrome/browser/sync/profile_sync_service_factory.h" |
| +#include "chrome/common/pref_names.h" |
| + |
| +ChromeAutocompleteProviderDelegate::ChromeAutocompleteProviderDelegate( |
| + Profile* profile) : profile_(profile), |
|
Peter Kasting
2014/08/25 19:11:00
Nit: Put ": profile_(profile)," on a subsequent li
hashimoto
2014/08/26 00:52:30
Done.
|
| + scheme_classifier_(profile) { |
| +} |
| + |
| +ChromeAutocompleteProviderDelegate::~ChromeAutocompleteProviderDelegate() { |
| +} |
| + |
| +net::URLRequestContextGetter* |
| +ChromeAutocompleteProviderDelegate::GetRequestContext() { |
| + return profile_->GetRequestContext(); |
| +} |
| + |
| +bool ChromeAutocompleteProviderDelegate::IsOffTheRecord() { |
| + return profile_->IsOffTheRecord(); |
| +} |
| + |
| +std::string ChromeAutocompleteProviderDelegate::GetAcceptLanguages() { |
| + return profile_->GetPrefs()->GetString(prefs::kAcceptLanguages); |
| +} |
| + |
| +bool ChromeAutocompleteProviderDelegate::SearchSuggestEnabled() { |
| + return profile_->GetPrefs()->GetBoolean(prefs::kSearchSuggestEnabled); |
| +} |
| + |
| +bool ChromeAutocompleteProviderDelegate::ShowBookmarkBar() { |
| + return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); |
| +} |
| + |
| +const AutocompleteSchemeClassifier& |
| +ChromeAutocompleteProviderDelegate::GetSchemeClassifier() { |
| + return scheme_classifier_; |
| +} |
| + |
| +void ChromeAutocompleteProviderDelegate::Classify( |
| + const base::string16& text, |
| + bool prefer_keyword, |
| + bool allow_exact_keyword_match, |
| + metrics::OmniboxEventProto::PageClassification page_classification, |
| + AutocompleteMatch* match, |
| + GURL* alternate_nav_url) { |
| + AutocompleteClassifierFactory::GetForProfile(profile_)->Classify( |
| + text, prefer_keyword, allow_exact_keyword_match, page_classification, |
| + match, alternate_nav_url); |
| +} |
| + |
| +history::URLDatabase* ChromeAutocompleteProviderDelegate::InMemoryDatabase() { |
| + HistoryService* history_service = |
| + HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS); |
| + return history_service ? history_service->InMemoryDatabase() : NULL; |
| +} |
| + |
| +void |
| +ChromeAutocompleteProviderDelegate::DeleteMatchingURLsForKeywordFromHistory( |
| + history::KeywordID keyword_id, |
| + const base::string16& term) { |
| + HistoryService* const history_service = |
|
Peter Kasting
2014/08/25 19:11:00
Nit: I'd just inline this into the next statement.
hashimoto
2014/08/26 00:52:30
Done.
|
| + HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS); |
| + history_service->DeleteMatchingURLsForKeyword(keyword_id, term); |
| +} |
| + |
| +bool ChromeAutocompleteProviderDelegate::TabSyncEnabledAndUnencrypted() { |
| + // Check field trials and settings allow sending the URL on suggest requests. |
| + ProfileSyncService* service = |
| + ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile_); |
| + sync_driver::SyncPrefs sync_prefs(profile_->GetPrefs()); |
| + if (service == NULL || |
|
Peter Kasting
2014/08/25 19:11:00
Nit: Convert this:
if (x)
return false;
r
hashimoto
2014/08/26 00:52:30
Done.
|
| + !service->IsSyncEnabledAndLoggedIn() || |
| + !sync_prefs.GetPreferredDataTypes(syncer::UserTypes()).Has( |
| + syncer::PROXY_TABS) || |
| + service->GetEncryptedDataTypes().Has(syncer::SESSIONS)) |
| + return false; |
| + return true; |
| +} |
| + |
| +void ChromeAutocompleteProviderDelegate::PrefetchImage(const GURL& url) { |
| + BitmapFetcherService* image_service = |
| + BitmapFetcherServiceFactory::GetForBrowserContext(profile_); |
| + DCHECK(image_service); |
| + image_service->Prefetch(url); |
| +} |