Home | History | Annotate | Download | only in omnibox
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_COMMON_EXTENSIONS_API_OMNIBOX_OMNIBOX_HANDLER_H_
      6 #define CHROME_COMMON_EXTENSIONS_API_OMNIBOX_OMNIBOX_HANDLER_H_
      7 
      8 #include <string>
      9 
     10 #include "extensions/common/extension.h"
     11 #include "extensions/common/manifest_handler.h"
     12 
     13 namespace extensions {
     14 
     15 class Extension;
     16 
     17 struct OmniboxInfo : public Extension::ManifestData {
     18   // The Omnibox keyword for an extension.
     19   std::string keyword;
     20 
     21   // Returns the omnibox keyword for the extension.
     22   static const std::string& GetKeyword(const Extension* extension);
     23 };
     24 
     25 // Parses the "omnibox" manifest key.
     26 class OmniboxHandler : public ManifestHandler {
     27  public:
     28   OmniboxHandler();
     29   virtual ~OmniboxHandler();
     30 
     31   virtual bool Parse(Extension* extension, base::string16* error) OVERRIDE;
     32 
     33  private:
     34   virtual const std::vector<std::string> Keys() const OVERRIDE;
     35 };
     36 
     37 }  // namespace extensions
     38 
     39 #endif  // CHROME_COMMON_EXTENSIONS_API_OMNIBOX_OMNIBOX_HANDLER_H_
     40