#include "chrome/common/extensions/command.h"
#include "extensions/common/error_utils.h"
#include "extensions/common/manifest_constants.h"
+#include "extensions/common/manifest_handlers/permissions_parser.h"
namespace extensions {
if (!Command::IsMediaKey(binding->accelerator()))
++keybindings_found;
- if (keybindings_found > kMaxCommandsWithKeybindingPerExtension) {
+ if (keybindings_found > kMaxCommandsWithKeybindingPerExtension &&
+ !PermissionsParser::HasAPIPermission(
+ extension, APIPermission::kCommandsAccessibility)) {
*error = ErrorUtils::FormatErrorMessageUTF16(
manifest_errors::kInvalidKeyBindingTooMany,
base::IntToString(kMaxCommandsWithKeybindingPerExtension));