| Index: chrome/browser/views/tab_contents/tab_contents_view_win.cc
|
| ===================================================================
|
| --- chrome/browser/views/tab_contents/tab_contents_view_win.cc (revision 34219)
|
| +++ chrome/browser/views/tab_contents/tab_contents_view_win.cc (working copy)
|
| @@ -47,7 +47,6 @@
|
|
|
| TabContentsViewWin::TabContentsViewWin(TabContents* tab_contents)
|
| : TabContentsView(tab_contents),
|
| - ignore_next_char_event_(false),
|
| focus_manager_(NULL),
|
| close_tab_after_drag_ends_(false),
|
| sad_tab_(NULL) {
|
| @@ -362,71 +361,6 @@
|
| }
|
| }
|
|
|
| -bool TabContentsViewWin::HandleKeyboardEvent(
|
| - const NativeWebKeyboardEvent& event) {
|
| - // Previous calls to TranslateMessage can generate CHAR events as well as
|
| - // RAW_KEY_DOWN events, even if the latter triggered an accelerator. In these
|
| - // cases, we discard the CHAR events.
|
| - if (event.type == WebInputEvent::Char && ignore_next_char_event_) {
|
| - ignore_next_char_event_ = false;
|
| - return true;
|
| - }
|
| - ignore_next_char_event_ = false;
|
| -
|
| - // The renderer returned a keyboard event it did not process. This may be
|
| - // a keyboard shortcut that we have to process.
|
| - if (event.type == WebInputEvent::RawKeyDown) {
|
| - views::FocusManager* focus_manager =
|
| - views::FocusManager::GetFocusManagerForNativeView(GetNativeView());
|
| - // We may not have a focus_manager at this point (if the tab has been
|
| - // switched by the time this message returned).
|
| - if (focus_manager) {
|
| - views::Accelerator accelerator(
|
| - win_util::WinToKeyboardCode(event.windowsKeyCode),
|
| - (event.modifiers & WebInputEvent::ShiftKey) ==
|
| - WebInputEvent::ShiftKey,
|
| - (event.modifiers & WebInputEvent::ControlKey) ==
|
| - WebInputEvent::ControlKey,
|
| - (event.modifiers & WebInputEvent::AltKey) ==
|
| - WebInputEvent::AltKey);
|
| -
|
| - // This is tricky: we want to set ignore_next_char_event_ if
|
| - // ProcessAccelerator returns true. But ProcessAccelerator might delete
|
| - // |this| if the accelerator is a "close tab" one. So we speculatively
|
| - // set the flag and fix it if no event was handled.
|
| - ignore_next_char_event_ = true;
|
| - if (focus_manager->ProcessAccelerator(accelerator)) {
|
| - // DANGER: |this| could be deleted now!
|
| - return true;
|
| - } else {
|
| - // ProcessAccelerator didn't handle the accelerator, so we know both
|
| - // that |this| is still valid, and that we didn't want to set the flag.
|
| - ignore_next_char_event_ = false;
|
| - }
|
| - }
|
| - }
|
| -
|
| - if (tab_contents()->delegate() &&
|
| - tab_contents()->delegate()->HandleKeyboardEvent(event)) {
|
| - // At this point the only tab contents delegate which handles a keyboard
|
| - // event is ChromeFrame. When the message comes back from ChromeFrame it
|
| - // is DefWindowProc'ed. We return false here on the same lines as below:-
|
| - return false;
|
| - }
|
| -
|
| - // Any unhandled keyboard/character messages should be defproced.
|
| - // This allows stuff like Alt+F4, etc to work correctly.
|
| - DefWindowProc(event.os_event.hwnd, event.os_event.message,
|
| - event.os_event.wParam, event.os_event.lParam);
|
| -
|
| - // DefWindowProc() always returns 0, which means it handled the event.
|
| - // But actually DefWindowProc() will only handle very few system key strokes,
|
| - // such as F10, Alt+Tab, Alt+F4, Alt+Esc, etc.
|
| - // So returning false here is just ok for most cases.
|
| - // Reference: http://msdn.microsoft.com/en-us/library/ms646267(VS.85).aspx
|
| - return false;
|
| -}
|
| -
|
| views::FocusManager* TabContentsViewWin::GetFocusManager() {
|
| views::FocusManager* focus_manager = WidgetWin::GetFocusManager();
|
| if (focus_manager) {
|
|
|