Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(774)

Unified Diff: sky/engine/core/page/EventHandler.cpp

Issue 872233002: Switch KeyboardEvents over to NewEventHandler (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Rename virtualKeyCode to key Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/engine/core/page/EventHandler.h ('k') | sky/engine/platform/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/page/EventHandler.cpp
diff --git a/sky/engine/core/page/EventHandler.cpp b/sky/engine/core/page/EventHandler.cpp
index 354f6bb014ef7227e04c03e4a6b68bd4d15ce6c4..e269fb18f7968bed3ac2bbe69f3fe94cee0a2693 100644
--- a/sky/engine/core/page/EventHandler.cpp
+++ b/sky/engine/core/page/EventHandler.cpp
@@ -60,9 +60,8 @@
#include "sky/engine/core/rendering/RenderLayer.h"
#include "sky/engine/core/rendering/RenderView.h"
#include "sky/engine/core/rendering/style/RenderStyle.h"
-#include "sky/engine/platform/PlatformKeyboardEvent.h"
#include "sky/engine/platform/TraceEvent.h"
-#include "sky/engine/platform/WindowsKeyboardCodes.h"
+#include "sky/engine/platform/KeyboardCodes.h"
#include "sky/engine/platform/geometry/FloatPoint.h"
#include "sky/engine/platform/graphics/Image.h"
#include "sky/engine/platform/heap/Handle.h"
@@ -500,63 +499,6 @@ void EventHandler::notifyElementActivated()
m_lastDeferredTapElement = nullptr;
}
-bool EventHandler::keyEvent(const PlatformKeyboardEvent& initialKeyEvent)
-{
- RefPtr<FrameView> protector(m_frame->view());
-
- if (initialKeyEvent.windowsVirtualKeyCode() == VK_CAPITAL)
- capsLockStateMayHaveChanged();
-
- // Check for cases where we are too early for events -- possible unmatched key up
- // from pressing return in the location bar.
- RefPtr<Node> node = eventTargetNodeForDocument(m_frame->document());
- if (!node)
- return false;
-
- // FIXME: it would be fair to let an input method handle KeyUp events before DOM dispatch.
- if (initialKeyEvent.type() == PlatformEvent::KeyUp || initialKeyEvent.type() == PlatformEvent::Char)
- return !node->dispatchKeyEvent(initialKeyEvent);
-
- PlatformKeyboardEvent keyDownEvent = initialKeyEvent;
- if (keyDownEvent.type() != PlatformEvent::RawKeyDown)
- keyDownEvent.disambiguateKeyDownEvent(PlatformEvent::RawKeyDown);
- RefPtr<KeyboardEvent> keydown = KeyboardEvent::create(keyDownEvent, m_frame->document()->domWindow());
-
- keydown->setTarget(node);
-
- if (initialKeyEvent.type() == PlatformEvent::RawKeyDown) {
- node->dispatchEvent(keydown, IGNORE_EXCEPTION);
- // If frame changed as a result of keydown dispatch, then return true to avoid sending a subsequent keypress message to the new frame.
- bool changedFocusedFrame = m_frame->page() && m_frame != m_frame->page()->focusController().focusedOrMainFrame();
- return keydown->defaultHandled() || keydown->defaultPrevented() || changedFocusedFrame;
- }
-
- node->dispatchEvent(keydown, IGNORE_EXCEPTION);
- // If frame changed as a result of keydown dispatch, then return early to avoid sending a subsequent keypress message to the new frame.
- bool changedFocusedFrame = m_frame->page() && m_frame != m_frame->page()->focusController().focusedOrMainFrame();
- bool keydownResult = keydown->defaultHandled() || keydown->defaultPrevented() || changedFocusedFrame;
- if (keydownResult)
- return keydownResult;
-
- // Focus may have changed during keydown handling, so refetch node.
- // But if we are dispatching a fake backward compatibility keypress, then we pretend that the keypress happened on the original node.
- node = eventTargetNodeForDocument(m_frame->document());
- if (!node)
- return false;
-
- PlatformKeyboardEvent keyPressEvent = initialKeyEvent;
- keyPressEvent.disambiguateKeyDownEvent(PlatformEvent::Char);
- if (keyPressEvent.text().isEmpty())
- return keydownResult;
- RefPtr<KeyboardEvent> keypress = KeyboardEvent::create(keyPressEvent, m_frame->document()->domWindow());
- keypress->setTarget(node);
- if (keydownResult)
- keypress->setDefaultPrevented(true);
- node->dispatchEvent(keypress, IGNORE_EXCEPTION);
-
- return keydownResult || keypress->defaultPrevented() || keypress->defaultHandled();
-}
-
void EventHandler::defaultKeyboardEventHandler(KeyboardEvent* event)
{
if (event->type() == EventTypeNames::keydown) {
@@ -568,7 +510,7 @@ void EventHandler::defaultKeyboardEventHandler(KeyboardEvent* event)
m_frame->editor().handleKeyboardEvent(event);
if (event->defaultHandled())
return;
- if (event->keyIdentifier() == "U+0009")
+ if (event->key() == VKEY_TAB)
defaultTabEventHandler(event);
}
if (event->type() == EventTypeNames::keypress) {
« no previous file with comments | « sky/engine/core/page/EventHandler.h ('k') | sky/engine/platform/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698