Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Side by Side Diff: chrome/common/extensions/extension.h

Issue 9812008: Polish the keybinding implementation a bit. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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_EXTENSION_H_ 5 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_H_
6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_H_ 6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 std::string language; 144 std::string language;
145 std::set<std::string> layouts; 145 std::set<std::string> layouts;
146 std::string shortcut_keycode; 146 std::string shortcut_keycode;
147 bool shortcut_alt; 147 bool shortcut_alt;
148 bool shortcut_ctrl; 148 bool shortcut_ctrl;
149 bool shortcut_shift; 149 bool shortcut_shift;
150 }; 150 };
151 151
152 class ExtensionKeybinding { 152 class ExtensionKeybinding {
153 public: 153 public:
154 enum Type {
155 BROWSER_ACTION,
156 PAGE_ACTION,
157 COMMANDS,
158 };
159
154 // Define out of line constructor/destructor to please Clang. 160 // Define out of line constructor/destructor to please Clang.
155 ExtensionKeybinding(); 161 ExtensionKeybinding();
156 ~ExtensionKeybinding(); 162 ~ExtensionKeybinding();
157 163
158 // Parse the key binding. 164 // Parse the key binding.
159 bool Parse(base::DictionaryValue* command, 165 bool Parse(base::DictionaryValue* command,
160 const std::string& command_name, 166 const std::string& command_name,
161 int index, 167 int index,
162 string16* error); 168 string16* error);
163 169
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 522
517 // Returns the sync bucket to use for this extension. 523 // Returns the sync bucket to use for this extension.
518 SyncType GetSyncType() const; 524 SyncType GetSyncType() const;
519 525
520 // Returns true if the extension should be synced. 526 // Returns true if the extension should be synced.
521 bool IsSyncable() const; 527 bool IsSyncable() const;
522 528
523 // Returns true if the extension should be displayed in the launcher. 529 // Returns true if the extension should be displayed in the launcher.
524 bool ShouldDisplayInLauncher() const; 530 bool ShouldDisplayInLauncher() const;
525 531
532 // Gets an extension keybindings by |type|.
533 void GetCommandByType(
534 Extension::ExtensionKeybinding::Type type,
535 std::vector<Extension::ExtensionKeybinding>* keybindings) const;
536
526 // Accessors: 537 // Accessors:
527 538
528 const FilePath& path() const { return path_; } 539 const FilePath& path() const { return path_; }
529 const GURL& url() const { return extension_url_; } 540 const GURL& url() const { return extension_url_; }
530 Location location() const; 541 Location location() const;
531 const std::string& id() const; 542 const std::string& id() const;
532 const Version* version() const { return version_.get(); } 543 const Version* version() const { return version_.get(); }
533 const std::string VersionString() const; 544 const std::string VersionString() const;
534 const std::string& name() const { return name_; } 545 const std::string& name() const { return name_; }
535 const std::string public_key() const { return public_key_; } 546 const std::string public_key() const { return public_key_; }
536 const std::string& description() const { return description_; } 547 const std::string& description() const { return description_; }
537 int manifest_version() const { return manifest_version_; } 548 int manifest_version() const { return manifest_version_; }
538 bool converted_from_user_script() const { 549 bool converted_from_user_script() const {
539 return converted_from_user_script_; 550 return converted_from_user_script_;
540 } 551 }
541 const UserScriptList& content_scripts() const { return content_scripts_; } 552 const UserScriptList& content_scripts() const { return content_scripts_; }
542 ExtensionAction* page_action() const { return page_action_.get(); } 553 ExtensionAction* page_action() const { return page_action_.get(); }
543 ExtensionAction* browser_action() const { return browser_action_.get(); } 554 ExtensionAction* browser_action() const { return browser_action_.get(); }
544 const FileBrowserHandlerList* file_browser_handlers() const { 555 const FileBrowserHandlerList* file_browser_handlers() const {
545 return file_browser_handlers_.get(); 556 return file_browser_handlers_.get();
546 } 557 }
547 const std::vector<PluginInfo>& plugins() const { return plugins_; } 558 const std::vector<PluginInfo>& plugins() const { return plugins_; }
548 const std::vector<NaClModuleInfo>& nacl_modules() const { 559 const std::vector<NaClModuleInfo>& nacl_modules() const {
549 return nacl_modules_; 560 return nacl_modules_;
550 } 561 }
551 const std::vector<InputComponentInfo>& input_components() const { 562 const std::vector<InputComponentInfo>& input_components() const {
552 return input_components_; 563 return input_components_;
553 } 564 }
565 // See also GetCommandByType, which allows finer grained control over
566 // which commands are returned.
554 const std::vector<ExtensionKeybinding>& keybindings() const { 567 const std::vector<ExtensionKeybinding>& keybindings() const {
555 return commands_; 568 return commands_;
556 } 569 }
557 bool has_background_page() const { 570 bool has_background_page() const {
558 return background_url_.is_valid() || !background_scripts_.empty(); 571 return background_url_.is_valid() || !background_scripts_.empty();
559 } 572 }
560 bool allow_background_js_access() const { 573 bool allow_background_js_access() const {
561 return allow_background_js_access_; 574 return allow_background_js_access_;
562 } 575 }
563 const std::vector<std::string>& background_scripts() const { 576 const std::vector<std::string>& background_scripts() const {
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after
1069 // only contain the removed permissions. 1082 // only contain the removed permissions.
1070 const ExtensionPermissionSet* permissions; 1083 const ExtensionPermissionSet* permissions;
1071 1084
1072 UpdatedExtensionPermissionsInfo( 1085 UpdatedExtensionPermissionsInfo(
1073 const Extension* extension, 1086 const Extension* extension,
1074 const ExtensionPermissionSet* permissions, 1087 const ExtensionPermissionSet* permissions,
1075 Reason reason); 1088 Reason reason);
1076 }; 1089 };
1077 1090
1078 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_ 1091 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698