Commit 495a8d0e authored by mazda@chromium.org's avatar mazda@chromium.org

Aura: Support non-global keyboard shortcuts.

BUG=100232
TEST=Manual


Review URL: http://codereview.chromium.org/8341050

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107747 0039d316-1c4b-4281-b951-d872f2087c98
parent 5595f40d
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "chrome/browser/ui/views/accelerator_table_linux.h" #include "chrome/browser/ui/views/accelerator_table.h"
#include "base/basictypes.h" #include "base/basictypes.h"
#include "chrome/app/chrome_command_ids.h" #include "chrome/app/chrome_command_ids.h"
......
...@@ -2,16 +2,15 @@ ...@@ -2,16 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_LINUX_H_ #ifndef CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_
#define CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_LINUX_H_ #define CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_
#pragma once #pragma once
#include <stdio.h> #include <stdio.h>
#include "ui/base/keycodes/keyboard_codes.h" #include "ui/base/keycodes/keyboard_codes.h"
// This contains the list of accelerators for the Linux toolkit_view // This contains the list of accelerators for the Aura implementation.
// implementation.
namespace browser { namespace browser {
struct AcceleratorMapping { struct AcceleratorMapping {
...@@ -29,4 +28,4 @@ namespace browser { ...@@ -29,4 +28,4 @@ namespace browser {
extern const size_t kAcceleratorMapLength; extern const size_t kAcceleratorMapLength;
} }
#endif // CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_LINUX_H_ #endif // CHROME_BROWSER_UI_VIEWS_ACCELERATOR_TABLE_H_
...@@ -105,6 +105,7 @@ ...@@ -105,6 +105,7 @@
#include "views/window/dialog_delegate.h" #include "views/window/dialog_delegate.h"
#if defined(USE_AURA) #if defined(USE_AURA)
#include "chrome/browser/ui/views/accelerator_table.h"
#include "chrome/browser/ui/views/aura/chrome_shell_delegate.h" #include "chrome/browser/ui/views/aura/chrome_shell_delegate.h"
#include "chrome/browser/ui/views/aura/launcher_icon_updater.h" #include "chrome/browser/ui/views/aura/launcher_icon_updater.h"
#include "ui/aura_shell/launcher/launcher.h" #include "ui/aura_shell/launcher/launcher.h"
...@@ -117,7 +118,7 @@ ...@@ -117,7 +118,7 @@
#include "ui/base/message_box_win.h" #include "ui/base/message_box_win.h"
#include "views/widget/native_widget_win.h" #include "views/widget/native_widget_win.h"
#elif defined(TOOLKIT_USES_GTK) #elif defined(TOOLKIT_USES_GTK)
#include "chrome/browser/ui/views/accelerator_table_linux.h" #include "chrome/browser/ui/views/accelerator_table.h"
#include "views/window/hit_test.h" #include "views/window/hit_test.h"
#if !defined(TOUCH_UI) #if !defined(TOUCH_UI)
#include "chrome/browser/ui/views/handle_web_keyboard_event.h" #include "chrome/browser/ui/views/handle_web_keyboard_event.h"
...@@ -2291,10 +2292,7 @@ void BrowserView::ProcessFullscreen(bool fullscreen, ...@@ -2291,10 +2292,7 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
} }
void BrowserView::LoadAccelerators() { void BrowserView::LoadAccelerators() {
#if defined(USE_AURA) #if defined(OS_WIN) && !defined(USE_AURA)
// TODO(beng):
NOTIMPLEMENTED();
#elif defined(OS_WIN)
HACCEL accelerator_table = AtlLoadAccelerators(IDR_MAINFRAME); HACCEL accelerator_table = AtlLoadAccelerators(IDR_MAINFRAME);
DCHECK(accelerator_table); DCHECK(accelerator_table);
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include "chrome/browser/chromeos/frame/bubble_window.h" #include "chrome/browser/chromeos/frame/bubble_window.h"
#include "chrome/browser/chromeos/input_method/input_method_manager.h" #include "chrome/browser/chromeos/input_method/input_method_manager.h"
#include "chrome/browser/ui/browser_dialogs.h" #include "chrome/browser/ui/browser_dialogs.h"
#include "chrome/browser/ui/views/accelerator_table_linux.h" #include "chrome/browser/ui/views/accelerator_table.h"
#include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/keyboard_overlay_delegate.h" #include "chrome/browser/ui/views/keyboard_overlay_delegate.h"
#include "chrome/browser/ui/views/window.h" #include "chrome/browser/ui/views/window.h"
......
...@@ -3246,8 +3246,8 @@ ...@@ -3246,8 +3246,8 @@
'browser/ui/views/about_chrome_view.h', 'browser/ui/views/about_chrome_view.h',
'browser/ui/views/about_ipc_dialog.cc', 'browser/ui/views/about_ipc_dialog.cc',
'browser/ui/views/about_ipc_dialog.h', 'browser/ui/views/about_ipc_dialog.h',
'browser/ui/views/accelerator_table_linux.cc', 'browser/ui/views/accelerator_table.cc',
'browser/ui/views/accelerator_table_linux.h', 'browser/ui/views/accelerator_table.h',
'browser/ui/views/accessibility_event_router_views.cc', 'browser/ui/views/accessibility_event_router_views.cc',
'browser/ui/views/accessibility_event_router_views.h', 'browser/ui/views/accessibility_event_router_views.h',
'browser/ui/views/accessible_pane_view.cc', 'browser/ui/views/accessible_pane_view.cc',
...@@ -4565,6 +4565,12 @@ ...@@ -4565,6 +4565,12 @@
['exclude', '^browser/first_run/try_chrome_dialog_view.h'], ['exclude', '^browser/first_run/try_chrome_dialog_view.h'],
], ],
'conditions': [ 'conditions': [
['OS=="linux" or use_aura==1',{
'sources/': [
['include', '^browser/ui/views/accelerator_table.cc'],
['include', '^browser/ui/views/accelerator_table.h'],
]
}],
['OS=="linux" and toolkit_views==1',{ ['OS=="linux" and toolkit_views==1',{
'dependencies': [ 'dependencies': [
'../views/views.gyp:views', '../views/views.gyp:views',
...@@ -4645,8 +4651,6 @@ ...@@ -4645,8 +4651,6 @@
['include', '^browser/ui/tabs/dock_info.h'], ['include', '^browser/ui/tabs/dock_info.h'],
['include', '^browser/ui/views/about_chrome_view.cc'], ['include', '^browser/ui/views/about_chrome_view.cc'],
['include', '^browser/ui/views/about_chrome_view.h'], ['include', '^browser/ui/views/about_chrome_view.h'],
['include', '^browser/ui/views/accelerator_table_linux.cc'],
['include', '^browser/ui/views/accelerator_table_linux.h'],
['include', '^browser/ui/views/accessibility_event_router_views.cc'], ['include', '^browser/ui/views/accessibility_event_router_views.cc'],
['include', '^browser/ui/views/accessibility_event_router_views.h'], ['include', '^browser/ui/views/accessibility_event_router_views.h'],
['include', '^browser/ui/views/accessible_pane_view.cc'], ['include', '^browser/ui/views/accessible_pane_view.cc'],
......
...@@ -416,7 +416,8 @@ void NativeWidgetAura::SetCursor(gfx::NativeCursor cursor) { ...@@ -416,7 +416,8 @@ void NativeWidgetAura::SetCursor(gfx::NativeCursor cursor) {
} }
void NativeWidgetAura::ClearNativeFocus() { void NativeWidgetAura::ClearNativeFocus() {
NOTIMPLEMENTED(); if (window_ && window_->GetFocusManager())
window_->GetFocusManager()->SetFocusedWindow(window_);
} }
void NativeWidgetAura::FocusNativeView(gfx::NativeView native_view) { void NativeWidgetAura::FocusNativeView(gfx::NativeView native_view) {
...@@ -437,7 +438,10 @@ gfx::Rect NativeWidgetAura::GetWorkAreaBoundsInScreen() const { ...@@ -437,7 +438,10 @@ gfx::Rect NativeWidgetAura::GetWorkAreaBoundsInScreen() const {
// NativeWidgetAura, views::InputMethodDelegate implementation: // NativeWidgetAura, views::InputMethodDelegate implementation:
void NativeWidgetAura::DispatchKeyEventPostIME(const KeyEvent& key) { void NativeWidgetAura::DispatchKeyEventPostIME(const KeyEvent& key) {
delegate_->OnKeyEvent(key); if (delegate_->OnKeyEvent(key))
return;
if (key.type() == ui::ET_KEY_PRESSED && GetWidget()->GetFocusManager())
GetWidget()->GetFocusManager()->OnKeyEvent(key);
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
...@@ -455,7 +459,8 @@ void NativeWidgetAura::OnFocus() { ...@@ -455,7 +459,8 @@ void NativeWidgetAura::OnFocus() {
InputMethod* input_method = widget->GetInputMethod(); InputMethod* input_method = widget->GetInputMethod();
input_method->OnFocus(); input_method->OnFocus();
// See description of got_initial_focus_in_ for details on this. // See description of got_initial_focus_in_ for details on this.
widget->GetFocusManager()->RestoreFocusedView(); // TODO(mazda): Investigate this is actually necessary.
// widget->GetFocusManager()->RestoreFocusedView();
} }
delegate_->OnNativeFocus(window_); delegate_->OnNativeFocus(window_);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment