diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/dom/events/event_dispatcher.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/dom/events/event_dispatcher.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/core/dom/events/event_dispatcher.cc b/chromium/third_party/blink/renderer/core/dom/events/event_dispatcher.cc index 3b6dab593bd..8f3eaf84d00 100644 --- a/chromium/third_party/blink/renderer/core/dom/events/event_dispatcher.cc +++ b/chromium/third_party/blink/renderer/core/dom/events/event_dispatcher.cc @@ -36,6 +36,7 @@ #include "third_party/blink/renderer/core/dom/events/event_path.h" #include "third_party/blink/renderer/core/dom/events/scoped_event_queue.h" #include "third_party/blink/renderer/core/dom/events/window_event_context.h" +#include "third_party/blink/renderer/core/events/keyboard_event.h" #include "third_party/blink/renderer/core/events/mouse_event.h" #include "third_party/blink/renderer/core/frame/ad_tracker.h" #include "third_party/blink/renderer/core/frame/deprecation.h" @@ -45,6 +46,8 @@ #include "third_party/blink/renderer/core/frame/use_counter.h" #include "third_party/blink/renderer/core/html/html_element.h" #include "third_party/blink/renderer/core/inspector/inspector_trace_events.h" +#include "third_party/blink/renderer/core/page/page.h" +#include "third_party/blink/renderer/core/page/spatial_navigation_controller.h" #include "third_party/blink/renderer/core/timing/event_timing.h" #include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h" @@ -370,6 +373,15 @@ inline void EventDispatcher::DispatchEventPostProcess( } } + if (Page* page = node_->GetDocument().GetPage()) { + if (page->GetSettings().GetSpatialNavigationEnabled() && + is_trusted_or_click && event_->IsKeyboardEvent() && + ToKeyboardEvent(*event_).key() == "Enter" && + event_->type() == event_type_names::kKeyup) { + page->GetSpatialNavigationController().ResetEnterKeyState(); + } + } + // Track the usage of sending a mousedown event to a select element to force // it to open. This measures a possible breakage of not allowing untrusted // events to open select boxes. |