| // 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. |
| |
| #ifndef COMPONENTS_OMNIBOX_AUTOCOMPLETE_PROVIDER_CLIENT_H_ |
| #define COMPONENTS_OMNIBOX_AUTOCOMPLETE_PROVIDER_CLIENT_H_ |
| |
| #include "base/strings/string16.h" |
| #include "components/history/core/browser/keyword_id.h" |
| #include "components/metrics/proto/omnibox_event.pb.h" |
| |
| struct AutocompleteMatch; |
| class AutocompleteSchemeClassifier; |
| class GURL; |
| |
| namespace history { |
| class URLDatabase; |
| } |
| |
| namespace net { |
| class URLRequestContextGetter; |
| } |
| |
| class AutocompleteProviderClient { |
| public: |
| virtual ~AutocompleteProviderClient() {} |
| |
| // Returns the request context. |
| virtual net::URLRequestContextGetter* RequestContext() = 0; |
| |
| // Returns whether the provider should work in incognito mode. |
| virtual bool IsOffTheRecord() = 0; |
| |
| // The value to use for Accept-Languages HTTP header when making an HTTP |
| // request. |
| virtual std::string AcceptLanguages() = 0; |
| |
| // Returns true when suggest support is enabled. |
| virtual bool SearchSuggestEnabled() = 0; |
| |
| // Returns whether the bookmark bar is visible on all tabs. |
| virtual bool ShowBookmarkBar() = 0; |
| |
| // Returns the scheme classifier. |
| virtual const AutocompleteSchemeClassifier& SchemeClassifier() = 0; |
| |
| // Given some string |text| that the user wants to use for navigation, |
| // determines how it should be interpreted. |
| virtual void Classify( |
| const base::string16& text, |
| bool prefer_keyword, |
| bool allow_exact_keyword_match, |
| metrics::OmniboxEventProto::PageClassification page_classification, |
| AutocompleteMatch* match, |
| GURL* alternate_nav_url) = 0; |
| |
| // Returns the in-memory URL database. |
| virtual history::URLDatabase* InMemoryDatabase() = 0; |
| |
| // Deletes all URL and search term entries matching the given |term| and |
| // |keyword_id| from history. |
| virtual void DeleteMatchingURLsForKeywordFromHistory( |
| history::KeywordID keyword_id, |
| const base::string16& term) = 0; |
| |
| // Returns whether the user has tab sync enabled and tab sync is unencrypted. |
| virtual bool TabSyncEnabledAndUnencrypted() = 0; |
| |
| // Starts prefetching the image at the given |url|. |
| virtual void PrefetchImage(const GURL& url) = 0; |
| }; |
| |
| #endif // COMPONENTS_OMNIBOX_AUTOCOMPLETE_PROVIDER_CLIENT_H_ |