| Index: chrome/browser/ui/gtk/extensions/extension_keybinding_registry_gtk.cc
|
| diff --git a/chrome/browser/ui/gtk/extensions/extension_keybinding_registry_gtk.cc b/chrome/browser/ui/gtk/extensions/extension_keybinding_registry_gtk.cc
|
| deleted file mode 100644
|
| index 0862ba4cfc1c5583f6bfa161f84a538e0f113ee7..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/gtk/extensions/extension_keybinding_registry_gtk.cc
|
| +++ /dev/null
|
| @@ -1,138 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/ui/gtk/extensions/extension_keybinding_registry_gtk.h"
|
| -
|
| -#include <gtk/gtk.h>
|
| -
|
| -#include "chrome/browser/extensions/api/commands/command_service.h"
|
| -#include "chrome/browser/extensions/extension_service.h"
|
| -#include "chrome/browser/profiles/profile.h"
|
| -#include "extensions/common/extension.h"
|
| -#include "ui/base/accelerators/platform_accelerator_gtk.h"
|
| -
|
| -// static
|
| -void extensions::ExtensionKeybindingRegistry::SetShortcutHandlingSuspended(
|
| - bool suspended) {
|
| - ExtensionKeybindingRegistryGtk::set_shortcut_handling_suspended(suspended);
|
| -}
|
| -
|
| -bool ExtensionKeybindingRegistryGtk::shortcut_handling_suspended_ = false;
|
| -
|
| -ExtensionKeybindingRegistryGtk::ExtensionKeybindingRegistryGtk(
|
| - Profile* profile,
|
| - gfx::NativeWindow window,
|
| - ExtensionFilter extension_filter,
|
| - Delegate* delegate)
|
| - : ExtensionKeybindingRegistry(profile, extension_filter, delegate),
|
| - profile_(profile),
|
| - window_(window),
|
| - accel_group_(NULL) {
|
| - Init();
|
| -}
|
| -
|
| -ExtensionKeybindingRegistryGtk::~ExtensionKeybindingRegistryGtk() {
|
| - if (accel_group_) {
|
| - gtk_accel_group_disconnect(accel_group_,
|
| - NULL); // Remove all closures.
|
| -
|
| - gtk_window_remove_accel_group(window_, accel_group_);
|
| - g_object_unref(accel_group_);
|
| - accel_group_ = NULL;
|
| - }
|
| -}
|
| -
|
| -gboolean ExtensionKeybindingRegistryGtk::HasPriorityHandler(
|
| - const GdkEventKey* event) const {
|
| - if (shortcut_handling_suspended_)
|
| - return FALSE;
|
| -
|
| - ui::Accelerator accelerator = ui::AcceleratorForGdkKeyCodeAndModifier(
|
| - event->keyval, static_cast<GdkModifierType>(event->state));
|
| -
|
| - return IsAcceleratorRegistered(accelerator);
|
| -}
|
| -
|
| -void ExtensionKeybindingRegistryGtk::AddExtensionKeybinding(
|
| - const extensions::Extension* extension,
|
| - const std::string& command_name) {
|
| - extensions::CommandService* command_service =
|
| - extensions::CommandService::Get(profile_);
|
| - extensions::CommandMap commands;
|
| - command_service->GetNamedCommands(
|
| - extension->id(),
|
| - extensions::CommandService::ACTIVE_ONLY,
|
| - extensions::CommandService::REGULAR,
|
| - &commands);
|
| -
|
| - for (extensions::CommandMap::const_iterator iter = commands.begin();
|
| - iter != commands.end(); ++iter) {
|
| - if (!command_name.empty() && (iter->second.command_name() != command_name))
|
| - continue;
|
| -
|
| - ui::Accelerator accelerator(iter->second.accelerator());
|
| - AddEventTarget(accelerator, extension->id(), iter->second.command_name());
|
| -
|
| - if (!accel_group_) {
|
| - accel_group_ = gtk_accel_group_new();
|
| - gtk_window_add_accel_group(window_, accel_group_);
|
| - }
|
| -
|
| - gtk_accel_group_connect(
|
| - accel_group_,
|
| - ui::GetGdkKeyCodeForAccelerator(accelerator),
|
| - ui::GetGdkModifierForAccelerator(accelerator),
|
| - GtkAccelFlags(0),
|
| - g_cclosure_new(G_CALLBACK(OnGtkAcceleratorThunk), this, NULL));
|
| - }
|
| -
|
| - // Unlike on Windows, we need to explicitly add the browser action and page
|
| - // action to the event_targets_, even though we don't register them as
|
| - // handlers. See http://crbug.com/124873.
|
| - extensions::Command browser_action;
|
| - if (command_service->GetBrowserActionCommand(
|
| - extension->id(),
|
| - extensions::CommandService::ACTIVE_ONLY,
|
| - &browser_action,
|
| - NULL)) {
|
| - AddEventTarget(browser_action.accelerator(),
|
| - extension->id(),
|
| - browser_action.command_name());
|
| - }
|
| -
|
| - // Add the Page Action (if any).
|
| - extensions::Command page_action;
|
| - if (command_service->GetPageActionCommand(
|
| - extension->id(),
|
| - extensions::CommandService::ACTIVE_ONLY,
|
| - &page_action,
|
| - NULL)) {
|
| - AddEventTarget(
|
| - page_action.accelerator(), extension->id(), page_action.command_name());
|
| - }
|
| -}
|
| -
|
| -void ExtensionKeybindingRegistryGtk::RemoveExtensionKeybindingImpl(
|
| - const ui::Accelerator& accelerator,
|
| - const std::string& command_name) {
|
| - // On GTK, unlike Windows, the Event Targets contain all events but we must
|
| - // only unregister the ones we registered targets for.
|
| - if (!ShouldIgnoreCommand(command_name)) {
|
| - gtk_accel_group_disconnect_key(
|
| - accel_group_,
|
| - ui::GetGdkKeyCodeForAccelerator(accelerator),
|
| - ui::GetGdkModifierForAccelerator(accelerator));
|
| - }
|
| -}
|
| -
|
| -gboolean ExtensionKeybindingRegistryGtk::OnGtkAccelerator(
|
| - GtkAccelGroup* group,
|
| - GObject* acceleratable,
|
| - guint keyval,
|
| - GdkModifierType modifier) {
|
| - ui::Accelerator accelerator = ui::AcceleratorForGdkKeyCodeAndModifier(
|
| - keyval, modifier);
|
| -
|
| - return ExtensionKeybindingRegistry::NotifyEventTargets(accelerator);
|
| -}
|
|
|