Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ios / chrome / browser / autocomplete / autocomplete_provider_client_impl.h
blobdf8c60e1feff3d4d3a9cc3b2591600dbe297845d
1 // Copyright 2015 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.
5 #ifndef IOS_CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_PROVIDER_CLIENT_IMPL_H_
6 #define IOS_CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_PROVIDER_CLIENT_IMPL_H_
8 #include "base/macros.h"
9 #include "components/omnibox/browser/autocomplete_provider_client.h"
10 #include "ios/chrome/browser/autocomplete/autocomplete_scheme_classifier_impl.h"
11 #include "ios/chrome/browser/search_engines/ui_thread_search_terms_data.h"
13 namespace ios {
14 class ChromeBrowserState;
17 // AutocompleteProviderClientImpl provides iOS-specific implementation of
18 // AutocompleteProviderClient interface.
19 class AutocompleteProviderClientImpl : public AutocompleteProviderClient {
20 public:
21 explicit AutocompleteProviderClientImpl(
22 ios::ChromeBrowserState* browser_state);
23 ~AutocompleteProviderClientImpl() override;
25 // AutocompleteProviderClient implementation.
26 net::URLRequestContextGetter* GetRequestContext() override;
27 PrefService* GetPrefs() override;
28 const AutocompleteSchemeClassifier& GetSchemeClassifier() const override;
29 AutocompleteClassifier* GetAutocompleteClassifier() override;
30 history::HistoryService* GetHistoryService() override;
31 scoped_refptr<history::TopSites> GetTopSites() override;
32 bookmarks::BookmarkModel* GetBookmarkModel() override;
33 history::URLDatabase* GetInMemoryDatabase() override;
34 InMemoryURLIndex* GetInMemoryURLIndex() override;
35 TemplateURLService* GetTemplateURLService() override;
36 const TemplateURLService* GetTemplateURLService() const override;
37 const SearchTermsData& GetSearchTermsData() const override;
38 scoped_refptr<ShortcutsBackend> GetShortcutsBackend() override;
39 scoped_refptr<ShortcutsBackend> GetShortcutsBackendIfExists() override;
40 scoped_ptr<KeywordExtensionsDelegate> GetKeywordExtensionsDelegate(
41 KeywordProvider* keyword_provider) override;
42 std::string GetAcceptLanguages() const override;
43 std::string GetEmbedderRepresentationOfAboutScheme() override;
44 std::vector<base::string16> GetBuiltinURLs() override;
45 std::vector<base::string16> GetBuiltinsToProvideAsUserTypes() override;
46 bool IsOffTheRecord() const override;
47 bool SearchSuggestEnabled() const override;
48 bool BookmarkBarIsVisible() const override;
49 bool TabSyncEnabledAndUnencrypted() const override;
50 void Classify(
51 const base::string16& text,
52 bool prefer_keyword,
53 bool allow_exact_keyword_match,
54 metrics::OmniboxEventProto::PageClassification page_classification,
55 AutocompleteMatch* match,
56 GURL* alternate_nav_url) override;
57 void DeleteMatchingURLsForKeywordFromHistory(
58 history::KeywordID keyword_id,
59 const base::string16& term) override;
60 void PrefetchImage(const GURL& url) override;
61 void OnAutocompleteControllerResultReady(
62 AutocompleteController* controller) override;
64 private:
65 ios::ChromeBrowserState* browser_state_;
66 AutocompleteSchemeClassifierImpl scheme_classifier_;
67 ios::UIThreadSearchTermsData search_terms_data_;
69 DISALLOW_COPY_AND_ASSIGN(AutocompleteProviderClientImpl);
72 #endif // IOS_CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_PROVIDER_CLIENT_IMPL_H_