builtin_provider.h revision 868fa2fe829687343ffae624259930155e16dbd8
161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt// Copyright (c) 2012 The Chromium Authors. All rights reserved.
261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt// Use of this source code is governed by a BSD-style license that can be
3a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt// found in the LICENSE file.
461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#ifndef CHROME_BROWSER_AUTOCOMPLETE_BUILTIN_PROVIDER_H_
661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#define CHROME_BROWSER_AUTOCOMPLETE_BUILTIN_PROVIDER_H_
761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#include <vector>
961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
1061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#include "base/basictypes.h"
1161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#include "base/compiler_specific.h"
1261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#include "base/strings/string16.h"
1361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#include "chrome/browser/autocomplete/autocomplete_match.h"
1461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt#include "chrome/browser/autocomplete/autocomplete_provider.h"
1561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
1661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt// This is the provider for built-in URLs, such as about:settings and
1761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt// chrome://version.
1861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtclass BuiltinProvider : public AutocompleteProvider {
1961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt public:
2061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  BuiltinProvider(AutocompleteProviderListener* listener, Profile* profile);
2161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  // AutocompleteProvider:
2361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  virtual void Start(const AutocompleteInput& input,
2461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt                     bool minimal_changes) OVERRIDE;
2561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt private:
2761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  virtual ~BuiltinProvider();
2861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
2961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  typedef std::vector<string16> Builtins;
3061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
3161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  static const int kRelevance;
32a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt
33a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt  void AddMatch(const string16& match_string,
34a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt                const ACMatchClassifications& styles);
35a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt
36a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt  Builtins builtins_;
37a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt
38a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt  DISALLOW_COPY_AND_ASSIGN(BuiltinProvider);
39a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt};
40a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt
41a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt#endif  // CHROME_BROWSER_AUTOCOMPLETE_BUILTIN_PROVIDER_H_
42a54fa5fb807eaeff45464139b5a7759f060cec68Dmitry Shmidt