#include "chrome/browser/extensions/extension_keybinding_registry.h"
#include <memory>
#include <utility>
#include "base/values.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/extensions/permissions/active_tab_permission_granter.h"
#include "chrome/browser/extensions/tab_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/media_keys_listener_manager.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/event_router.h"
#include "extensions/common/command.h"
#include "extensions/common/extension_id.h"
#include "extensions/common/extension_set.h"
#include "extensions/common/manifest_constants.h"
#include "extensions/common/mojom/context_type.mojom.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chrome/browser/ui/ash/media_client/media_client_impl.h"
#endif
namespace {
const char kOnCommandEventName[] = …;
}
namespace extensions {
ExtensionKeybindingRegistry::ExtensionKeybindingRegistry(
content::BrowserContext* context,
ExtensionFilter extension_filter,
Delegate* delegate)
: … { … }
ExtensionKeybindingRegistry::~ExtensionKeybindingRegistry() { … }
void ExtensionKeybindingRegistry::SetShortcutHandlingSuspended(bool suspended) { … }
void ExtensionKeybindingRegistry::RemoveExtensionKeybinding(
const Extension* extension,
const std::string& command_name) { … }
void ExtensionKeybindingRegistry::Init() { … }
bool ExtensionKeybindingRegistry::ShouldIgnoreCommand(
const std::string& command) const { … }
bool ExtensionKeybindingRegistry::NotifyEventTargets(
const ui::Accelerator& accelerator) { … }
void ExtensionKeybindingRegistry::CommandExecuted(
const ExtensionId& extension_id,
const std::string& command) { … }
bool ExtensionKeybindingRegistry::IsAcceleratorRegistered(
const ui::Accelerator& accelerator) const { … }
void ExtensionKeybindingRegistry::AddEventTarget(
const ui::Accelerator& accelerator,
const ExtensionId& extension_id,
const std::string& command_name) { … }
bool ExtensionKeybindingRegistry::GetFirstTarget(
const ui::Accelerator& accelerator,
ExtensionId* extension_id,
std::string* command_name) const { … }
bool ExtensionKeybindingRegistry::IsEventTargetsEmpty() const { … }
void ExtensionKeybindingRegistry::OnExtensionLoaded(
content::BrowserContext* browser_context,
const Extension* extension) { … }
void ExtensionKeybindingRegistry::OnExtensionUnloaded(
content::BrowserContext* browser_context,
const Extension* extension,
UnloadedExtensionReason reason) { … }
void ExtensionKeybindingRegistry::OnExtensionCommandAdded(
const ExtensionId& extension_id,
const Command& command) { … }
void ExtensionKeybindingRegistry::OnExtensionCommandRemoved(
const ExtensionId& extension_id,
const Command& command) { … }
void ExtensionKeybindingRegistry::OnCommandServiceDestroying() { … }
void ExtensionKeybindingRegistry::OnMediaKeysAccelerator(
const ui::Accelerator& accelerator) { … }
bool ExtensionKeybindingRegistry::ExtensionMatchesFilter(
const Extension* extension) { … }
bool ExtensionKeybindingRegistry::ExecuteCommands(
const ui::Accelerator& accelerator,
const ExtensionId& extension_id) { … }
bool ExtensionKeybindingRegistry::IsListeningToAnyMediaKeys() const { … }
}