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); |
+} |