OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_COMMON_EXTENSIONS_API_COMMANDS_COMMANDS_HANDLER_H_ | 5 #ifndef CHROME_COMMON_EXTENSIONS_API_COMMANDS_COMMANDS_HANDLER_H_ |
6 #define CHROME_COMMON_EXTENSIONS_API_COMMANDS_COMMANDS_HANDLER_H_ | 6 #define CHROME_COMMON_EXTENSIONS_API_COMMANDS_COMMANDS_HANDLER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
11 #include "chrome/common/extensions/command.h" | 11 #include "chrome/common/extensions/command.h" |
12 #include "chrome/common/extensions/extension.h" | 12 #include "chrome/common/extensions/extension.h" |
| 13 #include "chrome/common/extensions/manifest.h" |
13 #include "chrome/common/extensions/manifest_handler.h" | 14 #include "chrome/common/extensions/manifest_handler.h" |
14 | 15 |
15 namespace extensions { | 16 namespace extensions { |
16 | 17 |
17 struct CommandsInfo : public Extension::ManifestData { | 18 struct CommandsInfo : public Extension::ManifestData { |
18 CommandsInfo(); | 19 CommandsInfo(); |
19 virtual ~CommandsInfo(); | 20 virtual ~CommandsInfo(); |
20 | 21 |
21 // Optional list of commands (keyboard shortcuts). | 22 // Optional list of commands (keyboard shortcuts). |
22 // These commands are the commands which the extension wants to use, which are | 23 // These commands are the commands which the extension wants to use, which are |
(...skipping 10 matching lines...) Expand all Loading... |
33 static const CommandMap* GetNamedCommands(const Extension* extension); | 34 static const CommandMap* GetNamedCommands(const Extension* extension); |
34 }; | 35 }; |
35 | 36 |
36 // Parses the "commands" manifest key. | 37 // Parses the "commands" manifest key. |
37 class CommandsHandler : public ManifestHandler { | 38 class CommandsHandler : public ManifestHandler { |
38 public: | 39 public: |
39 CommandsHandler(); | 40 CommandsHandler(); |
40 virtual ~CommandsHandler(); | 41 virtual ~CommandsHandler(); |
41 | 42 |
42 virtual bool Parse(Extension* extension, string16* error) OVERRIDE; | 43 virtual bool Parse(Extension* extension, string16* error) OVERRIDE; |
43 virtual bool AlwaysParseForType(Extension::Type type) OVERRIDE; | 44 virtual bool AlwaysParseForType(Manifest::Type type) OVERRIDE; |
44 | 45 |
45 private: | 46 private: |
46 // If the extension defines a browser action, but no command for it, then | 47 // If the extension defines a browser action, but no command for it, then |
47 // we synthesize a generic one, so the user can configure a shortcut for it. | 48 // we synthesize a generic one, so the user can configure a shortcut for it. |
48 // No keyboard shortcut will be assigned to it, until the user selects one. | 49 // No keyboard shortcut will be assigned to it, until the user selects one. |
49 void MaybeSetBrowserActionDefault(const Extension* extension, | 50 void MaybeSetBrowserActionDefault(const Extension* extension, |
50 CommandsInfo* info); | 51 CommandsInfo* info); |
51 }; | 52 }; |
52 | 53 |
53 } // namespace extensions | 54 } // namespace extensions |
54 | 55 |
55 #endif // CHROME_COMMON_EXTENSIONS_API_COMMANDS_COMMANDS_HANDLER_H_ | 56 #endif // CHROME_COMMON_EXTENSIONS_API_COMMANDS_COMMANDS_HANDLER_H_ |
OLD | NEW |