11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved.
21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be
31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file.
41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#ifndef CHROME_BROWSER_AUTOCOMPLETE_CHROME_AUTOCOMPLETE_PROVIDER_CLIENT_H_
61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define CHROME_BROWSER_AUTOCOMPLETE_CHROME_AUTOCOMPLETE_PROVIDER_CLIENT_H_
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.h"
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "components/omnibox/autocomplete_provider_client.h"
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass Profile;
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass ChromeAutocompleteProviderClient : public AutocompleteProviderClient {
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci public:
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  explicit ChromeAutocompleteProviderClient(Profile* profile);
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual ~ChromeAutocompleteProviderClient();
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  // AutocompleteProviderClient:
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual net::URLRequestContextGetter* RequestContext() OVERRIDE;
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual bool IsOffTheRecord() OVERRIDE;
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual std::string AcceptLanguages() OVERRIDE;
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual bool SearchSuggestEnabled() OVERRIDE;
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual bool ShowBookmarkBar() OVERRIDE;
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual const AutocompleteSchemeClassifier& SchemeClassifier() OVERRIDE;
251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual void Classify(
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      const base::string16& text,
271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      bool prefer_keyword,
281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      bool allow_exact_keyword_match,
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      metrics::OmniboxEventProto::PageClassification page_classification,
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      AutocompleteMatch* match,
311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      GURL* alternate_nav_url) OVERRIDE;
321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual history::URLDatabase* InMemoryDatabase() OVERRIDE;
331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual void DeleteMatchingURLsForKeywordFromHistory(
341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      history::KeywordID keyword_id,
351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci      const base::string16& term) OVERRIDE;
361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual bool TabSyncEnabledAndUnencrypted() OVERRIDE;
371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  virtual void PrefetchImage(const GURL& url) OVERRIDE;
381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci private:
401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  Profile* profile_;
411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  ChromeAutocompleteSchemeClassifier scheme_classifier_;
421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  DISALLOW_COPY_AND_ASSIGN(ChromeAutocompleteProviderClient);
441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci};
451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif  // CHROME_BROWSER_AUTOCOMPLETE_CHROME_AUTOCOMPLETE_PROVIDER_CLIENT_H_
47