Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7320)

Unified Diff: chrome/browser/autocomplete/chrome_autocomplete_provider_delegate.cc

Issue 500023002: Introduce AutocompleteProviderDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..87f2465e62646717344fd0305f7888af7727ef99
--- /dev/null
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_delegate.cc
@@ -0,0 +1,97 @@
+// 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),
+ scheme_classifier_(profile) {
+}
+
+ChromeAutocompleteProviderDelegate::~ChromeAutocompleteProviderDelegate() {
+}
+
+net::URLRequestContextGetter*
+ChromeAutocompleteProviderDelegate::RequestContext() {
+ return profile_->GetRequestContext();
+}
+
+bool ChromeAutocompleteProviderDelegate::IsOffTheRecord() {
+ return profile_->IsOffTheRecord();
+}
+
+std::string ChromeAutocompleteProviderDelegate::AcceptLanguages() {
+ 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::SchemeClassifier() {
+ 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) {
+ HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS)
+ ->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());
+ return service &&
+ service->IsSyncEnabledAndLoggedIn() &&
+ sync_prefs.GetPreferredDataTypes(syncer::UserTypes()).Has(
+ syncer::PROXY_TABS) &&
+ !service->GetEncryptedDataTypes().Has(syncer::SESSIONS);
+}
+
+void ChromeAutocompleteProviderDelegate::PrefetchImage(const GURL& url) {
+ BitmapFetcherService* image_service =
+ BitmapFetcherServiceFactory::GetForBrowserContext(profile_);
+ DCHECK(image_service);
+ image_service->Prefetch(url);
+}

Powered by Google App Engine
This is Rietveld 408576698