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

Side by Side 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, 3 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/autocomplete/chrome_autocomplete_provider_delegate.h"
6
7 #include "base/prefs/pref_service.h"
8 #include "chrome/browser/autocomplete/autocomplete_classifier.h"
9 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h"
10 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher_service.h"
11 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher_service_factory.h"
12 #include "chrome/browser/history/history_service.h"
13 #include "chrome/browser/history/history_service_factory.h"
14 #include "chrome/browser/profiles/profile.h"
15 #include "chrome/browser/sync/profile_sync_service.h"
16 #include "chrome/browser/sync/profile_sync_service_factory.h"
17 #include "chrome/common/pref_names.h"
18
19 ChromeAutocompleteProviderDelegate::ChromeAutocompleteProviderDelegate(
20 Profile* profile)
21 : profile_(profile),
22 scheme_classifier_(profile) {
23 }
24
25 ChromeAutocompleteProviderDelegate::~ChromeAutocompleteProviderDelegate() {
26 }
27
28 net::URLRequestContextGetter*
29 ChromeAutocompleteProviderDelegate::RequestContext() {
30 return profile_->GetRequestContext();
31 }
32
33 bool ChromeAutocompleteProviderDelegate::IsOffTheRecord() {
34 return profile_->IsOffTheRecord();
35 }
36
37 std::string ChromeAutocompleteProviderDelegate::AcceptLanguages() {
38 return profile_->GetPrefs()->GetString(prefs::kAcceptLanguages);
39 }
40
41 bool ChromeAutocompleteProviderDelegate::SearchSuggestEnabled() {
42 return profile_->GetPrefs()->GetBoolean(prefs::kSearchSuggestEnabled);
43 }
44
45 bool ChromeAutocompleteProviderDelegate::ShowBookmarkBar() {
46 return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar);
47 }
48
49 const AutocompleteSchemeClassifier&
50 ChromeAutocompleteProviderDelegate::SchemeClassifier() {
51 return scheme_classifier_;
52 }
53
54 void ChromeAutocompleteProviderDelegate::Classify(
55 const base::string16& text,
56 bool prefer_keyword,
57 bool allow_exact_keyword_match,
58 metrics::OmniboxEventProto::PageClassification page_classification,
59 AutocompleteMatch* match,
60 GURL* alternate_nav_url) {
61 AutocompleteClassifierFactory::GetForProfile(profile_)->Classify(
62 text, prefer_keyword, allow_exact_keyword_match, page_classification,
63 match, alternate_nav_url);
64 }
65
66 history::URLDatabase* ChromeAutocompleteProviderDelegate::InMemoryDatabase() {
67 HistoryService* history_service =
68 HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS);
69 return history_service ? history_service->InMemoryDatabase() : NULL;
70 }
71
72 void
73 ChromeAutocompleteProviderDelegate::DeleteMatchingURLsForKeywordFromHistory(
74 history::KeywordID keyword_id,
75 const base::string16& term) {
76 HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS)
77 ->DeleteMatchingURLsForKeyword(keyword_id, term);
78 }
79
80 bool ChromeAutocompleteProviderDelegate::TabSyncEnabledAndUnencrypted() {
81 // Check field trials and settings allow sending the URL on suggest requests.
82 ProfileSyncService* service =
83 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile_);
84 sync_driver::SyncPrefs sync_prefs(profile_->GetPrefs());
85 return service &&
86 service->IsSyncEnabledAndLoggedIn() &&
87 sync_prefs.GetPreferredDataTypes(syncer::UserTypes()).Has(
88 syncer::PROXY_TABS) &&
89 !service->GetEncryptedDataTypes().Has(syncer::SESSIONS);
90 }
91
92 void ChromeAutocompleteProviderDelegate::PrefetchImage(const GURL& url) {
93 BitmapFetcherService* image_service =
94 BitmapFetcherServiceFactory::GetForBrowserContext(profile_);
95 DCHECK(image_service);
96 image_service->Prefetch(url);
97 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698