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