OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/autocomplete/chrome_autocomplete_provider_client.h" | 5 #include "chrome/browser/autocomplete/chrome_autocomplete_provider_client.h" |
6 | 6 |
7 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
8 #include "chrome/browser/autocomplete/autocomplete_classifier.h" | 8 #include "chrome/browser/autocomplete/autocomplete_classifier.h" |
9 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" | 9 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" |
10 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher_service.h" | 10 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher_service.h" |
11 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher_service_factory.h" | 11 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher_service_factory.h" |
| 12 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
12 #include "chrome/browser/history/history_service_factory.h" | 13 #include "chrome/browser/history/history_service_factory.h" |
13 #include "chrome/browser/profiles/profile.h" | 14 #include "chrome/browser/profiles/profile.h" |
14 #include "chrome/browser/sync/profile_sync_service.h" | 15 #include "chrome/browser/sync/profile_sync_service.h" |
15 #include "chrome/browser/sync/profile_sync_service_factory.h" | 16 #include "chrome/browser/sync/profile_sync_service_factory.h" |
16 #include "chrome/common/pref_names.h" | 17 #include "chrome/common/pref_names.h" |
17 #include "components/history/core/browser/history_service.h" | 18 #include "components/history/core/browser/history_service.h" |
18 | 19 |
19 ChromeAutocompleteProviderClient::ChromeAutocompleteProviderClient( | 20 ChromeAutocompleteProviderClient::ChromeAutocompleteProviderClient( |
20 Profile* profile) | 21 Profile* profile) |
21 : profile_(profile), | 22 : profile_(profile), |
(...skipping 22 matching lines...) Expand all Loading... |
44 | 45 |
45 bool ChromeAutocompleteProviderClient::ShowBookmarkBar() { | 46 bool ChromeAutocompleteProviderClient::ShowBookmarkBar() { |
46 return profile_->GetPrefs()->GetBoolean(bookmarks::prefs::kShowBookmarkBar); | 47 return profile_->GetPrefs()->GetBoolean(bookmarks::prefs::kShowBookmarkBar); |
47 } | 48 } |
48 | 49 |
49 const AutocompleteSchemeClassifier& | 50 const AutocompleteSchemeClassifier& |
50 ChromeAutocompleteProviderClient::SchemeClassifier() { | 51 ChromeAutocompleteProviderClient::SchemeClassifier() { |
51 return scheme_classifier_; | 52 return scheme_classifier_; |
52 } | 53 } |
53 | 54 |
| 55 history::HistoryService* ChromeAutocompleteProviderClient::HistoryService() { |
| 56 return HistoryServiceFactory::GetForProfile( |
| 57 profile_, ServiceAccessType::EXPLICIT_ACCESS); |
| 58 } |
| 59 |
| 60 bookmarks::BookmarkModel* ChromeAutocompleteProviderClient::BookmarkModel() { |
| 61 return BookmarkModelFactory::GetForProfile(profile_); |
| 62 } |
| 63 |
54 void ChromeAutocompleteProviderClient::Classify( | 64 void ChromeAutocompleteProviderClient::Classify( |
55 const base::string16& text, | 65 const base::string16& text, |
56 bool prefer_keyword, | 66 bool prefer_keyword, |
57 bool allow_exact_keyword_match, | 67 bool allow_exact_keyword_match, |
58 metrics::OmniboxEventProto::PageClassification page_classification, | 68 metrics::OmniboxEventProto::PageClassification page_classification, |
59 AutocompleteMatch* match, | 69 AutocompleteMatch* match, |
60 GURL* alternate_nav_url) { | 70 GURL* alternate_nav_url) { |
61 AutocompleteClassifier* classifier = | 71 AutocompleteClassifier* classifier = |
62 AutocompleteClassifierFactory::GetForProfile(profile_); | 72 AutocompleteClassifierFactory::GetForProfile(profile_); |
63 DCHECK(classifier); | 73 DCHECK(classifier); |
64 classifier->Classify(text, prefer_keyword, allow_exact_keyword_match, | 74 classifier->Classify(text, prefer_keyword, allow_exact_keyword_match, |
65 page_classification, match, alternate_nav_url); | 75 page_classification, match, alternate_nav_url); |
66 } | 76 } |
67 | 77 |
68 history::URLDatabase* ChromeAutocompleteProviderClient::InMemoryDatabase() { | 78 history::URLDatabase* ChromeAutocompleteProviderClient::InMemoryDatabase() { |
69 history::HistoryService* history_service = | 79 history::HistoryService* history_service = HistoryService(); |
70 HistoryServiceFactory::GetForProfile(profile_, | 80 |
71 ServiceAccessType::EXPLICIT_ACCESS); | 81 // This method is called in unit test contexts where the HistoryService isn't |
| 82 // loaded. |
72 return history_service ? history_service->InMemoryDatabase() : NULL; | 83 return history_service ? history_service->InMemoryDatabase() : NULL; |
73 } | 84 } |
74 | 85 |
75 void ChromeAutocompleteProviderClient::DeleteMatchingURLsForKeywordFromHistory( | 86 void ChromeAutocompleteProviderClient::DeleteMatchingURLsForKeywordFromHistory( |
76 history::KeywordID keyword_id, | 87 history::KeywordID keyword_id, |
77 const base::string16& term) { | 88 const base::string16& term) { |
78 HistoryServiceFactory::GetForProfile(profile_, | 89 HistoryService()->DeleteMatchingURLsForKeyword(keyword_id, term); |
79 ServiceAccessType::EXPLICIT_ACCESS) | |
80 ->DeleteMatchingURLsForKeyword(keyword_id, term); | |
81 } | 90 } |
82 | 91 |
83 bool ChromeAutocompleteProviderClient::TabSyncEnabledAndUnencrypted() { | 92 bool ChromeAutocompleteProviderClient::TabSyncEnabledAndUnencrypted() { |
84 // Check field trials and settings allow sending the URL on suggest requests. | 93 // Check field trials and settings allow sending the URL on suggest requests. |
85 ProfileSyncService* service = | 94 ProfileSyncService* service = |
86 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile_); | 95 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile_); |
87 sync_driver::SyncPrefs sync_prefs(profile_->GetPrefs()); | 96 sync_driver::SyncPrefs sync_prefs(profile_->GetPrefs()); |
88 return service && | 97 return service && |
89 service->IsSyncEnabledAndLoggedIn() && | 98 service->IsSyncEnabledAndLoggedIn() && |
90 sync_prefs.GetPreferredDataTypes(syncer::UserTypes()).Has( | 99 sync_prefs.GetPreferredDataTypes(syncer::UserTypes()).Has( |
91 syncer::PROXY_TABS) && | 100 syncer::PROXY_TABS) && |
92 !service->GetEncryptedDataTypes().Has(syncer::SESSIONS); | 101 !service->GetEncryptedDataTypes().Has(syncer::SESSIONS); |
93 } | 102 } |
94 | 103 |
95 void ChromeAutocompleteProviderClient::PrefetchImage(const GURL& url) { | 104 void ChromeAutocompleteProviderClient::PrefetchImage(const GURL& url) { |
96 BitmapFetcherService* image_service = | 105 BitmapFetcherService* image_service = |
97 BitmapFetcherServiceFactory::GetForBrowserContext(profile_); | 106 BitmapFetcherServiceFactory::GetForBrowserContext(profile_); |
98 DCHECK(image_service); | 107 DCHECK(image_service); |
99 image_service->Prefetch(url); | 108 image_service->Prefetch(url); |
100 } | 109 } |
OLD | NEW |