| // 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_ |