| Index: third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| diff --git a/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp b/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| index adfc9fb85a3e8be9bdbd4f139f17e07aaf1521d8..4394f907dafd12d2f56e45fa0d072fbc0eb4392e 100644
|
| --- a/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| +++ b/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
|
| @@ -999,7 +999,7 @@ WebInputEventResult WebFrameWidgetImpl::handleKeyEvent(
|
| }
|
| #endif // !OS(MACOSX)
|
|
|
| - return keyEventDefault(event);
|
| + return WebInputEventResult::NotHandled;
|
| }
|
|
|
| WebInputEventResult WebFrameWidgetImpl::handleCharEvent(
|
| @@ -1044,127 +1044,9 @@ WebInputEventResult WebFrameWidgetImpl::handleCharEvent(
|
| if (result != WebInputEventResult::NotHandled)
|
| return result;
|
|
|
| - return keyEventDefault(event);
|
| -}
|
| -
|
| -WebInputEventResult WebFrameWidgetImpl::keyEventDefault(
|
| - const WebKeyboardEvent& event) {
|
| - LocalFrame* frame = toLocalFrame(focusedCoreFrame());
|
| - if (!frame)
|
| - return WebInputEventResult::NotHandled;
|
| -
|
| - switch (event.type) {
|
| - case WebInputEvent::Char:
|
| - if (event.windowsKeyCode == VKEY_SPACE) {
|
| - int keyCode = ((event.modifiers & WebInputEvent::ShiftKey) ? VKEY_PRIOR
|
| - : VKEY_NEXT);
|
| - return scrollViewWithKeyboard(keyCode, event.modifiers);
|
| - }
|
| - break;
|
| - case WebInputEvent::KeyDown:
|
| - case WebInputEvent::RawKeyDown:
|
| - if (event.modifiers == WebInputEvent::ControlKey) {
|
| - switch (event.windowsKeyCode) {
|
| -#if !OS(MACOSX)
|
| - case 'A':
|
| - WebFrame::fromFrame(focusedCoreFrame())
|
| - ->toWebLocalFrame()
|
| - ->executeCommand(WebString::fromUTF8("SelectAll"));
|
| - return WebInputEventResult::HandledSystem;
|
| - case VKEY_INSERT:
|
| - case 'C':
|
| - WebFrame::fromFrame(focusedCoreFrame())
|
| - ->toWebLocalFrame()
|
| - ->executeCommand(WebString::fromUTF8("Copy"));
|
| - return WebInputEventResult::HandledSystem;
|
| -#endif
|
| - // Match FF behavior in the sense that Ctrl+home/end are the only Ctrl
|
| - // key combinations which affect scrolling. Safari is buggy in the
|
| - // sense that it scrolls the page for all Ctrl+scrolling key
|
| - // combinations. For e.g. Ctrl+pgup/pgdn/up/down, etc.
|
| - case VKEY_HOME:
|
| - case VKEY_END:
|
| - break;
|
| - default:
|
| - return WebInputEventResult::NotHandled;
|
| - }
|
| - }
|
| - if (!event.isSystemKey && !(event.modifiers & WebInputEvent::ShiftKey))
|
| - return scrollViewWithKeyboard(event.windowsKeyCode, event.modifiers);
|
| - break;
|
| - default:
|
| - break;
|
| - }
|
| - return WebInputEventResult::NotHandled;
|
| -}
|
| -
|
| -WebInputEventResult WebFrameWidgetImpl::scrollViewWithKeyboard(int keyCode,
|
| - int modifiers) {
|
| - ScrollDirection scrollDirection;
|
| - ScrollGranularity scrollGranularity;
|
| -#if OS(MACOSX)
|
| - // Control-Up/Down should be PageUp/Down on Mac.
|
| - if (modifiers & WebMouseEvent::ControlKey) {
|
| - if (keyCode == VKEY_UP)
|
| - keyCode = VKEY_PRIOR;
|
| - else if (keyCode == VKEY_DOWN)
|
| - keyCode = VKEY_NEXT;
|
| - }
|
| -#endif
|
| - if (!mapKeyCodeForScroll(keyCode, &scrollDirection, &scrollGranularity))
|
| - return WebInputEventResult::NotHandled;
|
| -
|
| - LocalFrame* frame = toLocalFrame(focusedCoreFrame());
|
| - if (frame &&
|
| - frame->eventHandler().bubblingScroll(scrollDirection, scrollGranularity))
|
| - return WebInputEventResult::HandledSystem;
|
| return WebInputEventResult::NotHandled;
|
| }
|
|
|
| -bool WebFrameWidgetImpl::mapKeyCodeForScroll(
|
| - int keyCode,
|
| - ScrollDirection* scrollDirection,
|
| - ScrollGranularity* scrollGranularity) {
|
| - switch (keyCode) {
|
| - case VKEY_LEFT:
|
| - *scrollDirection = ScrollLeftIgnoringWritingMode;
|
| - *scrollGranularity = ScrollByLine;
|
| - break;
|
| - case VKEY_RIGHT:
|
| - *scrollDirection = ScrollRightIgnoringWritingMode;
|
| - *scrollGranularity = ScrollByLine;
|
| - break;
|
| - case VKEY_UP:
|
| - *scrollDirection = ScrollUpIgnoringWritingMode;
|
| - *scrollGranularity = ScrollByLine;
|
| - break;
|
| - case VKEY_DOWN:
|
| - *scrollDirection = ScrollDownIgnoringWritingMode;
|
| - *scrollGranularity = ScrollByLine;
|
| - break;
|
| - case VKEY_HOME:
|
| - *scrollDirection = ScrollUpIgnoringWritingMode;
|
| - *scrollGranularity = ScrollByDocument;
|
| - break;
|
| - case VKEY_END:
|
| - *scrollDirection = ScrollDownIgnoringWritingMode;
|
| - *scrollGranularity = ScrollByDocument;
|
| - break;
|
| - case VKEY_PRIOR: // page up
|
| - *scrollDirection = ScrollUpIgnoringWritingMode;
|
| - *scrollGranularity = ScrollByPage;
|
| - break;
|
| - case VKEY_NEXT: // page down
|
| - *scrollDirection = ScrollDownIgnoringWritingMode;
|
| - *scrollGranularity = ScrollByPage;
|
| - break;
|
| - default:
|
| - return false;
|
| - }
|
| -
|
| - return true;
|
| -}
|
| -
|
| Frame* WebFrameWidgetImpl::focusedCoreFrame() const {
|
| return page() ? page()->focusController().focusedOrMainFrame() : nullptr;
|
| }
|
|
|