| Index: third_party/WebKit/Source/core/events/EventDispatcher.cpp
|
| diff --git a/third_party/WebKit/Source/core/events/EventDispatcher.cpp b/third_party/WebKit/Source/core/events/EventDispatcher.cpp
|
| index 5f13a7d4a30854abb4e7e82c5899dde7541c13dc..87ca7ac58fe2db12abebc5e3cba79fe83f329a56 100644
|
| --- a/third_party/WebKit/Source/core/events/EventDispatcher.cpp
|
| +++ b/third_party/WebKit/Source/core/events/EventDispatcher.cpp
|
| @@ -35,6 +35,7 @@
|
| #include "core/frame/Deprecation.h"
|
| #include "core/frame/FrameView.h"
|
| #include "core/frame/LocalDOMWindow.h"
|
| +#include "core/frame/Settings.h"
|
| #include "core/frame/UseCounter.h"
|
| #include "core/inspector/InspectorTraceEvents.h"
|
| #include "platform/EventDispatchForbiddenScope.h"
|
| @@ -220,6 +221,16 @@ inline void EventDispatcher::dispatchEventPostProcess(EventDispatchHandlingState
|
| // should not have their default handlers invoked.
|
| bool isTrustedOrClick = !RuntimeEnabledFeatures::trustedEventsDefaultActionEnabled() || m_event->isTrusted() || isClick;
|
|
|
| + // For Android WebView (distinguished by wideViewportQuirkEnabled)
|
| + // enable untrusted events for mouse down on select elements because
|
| + // fastclick.js seems to generate these. crbug.com/642698
|
| + // TODO(dtapuska): Change this to a target SDK quirk crbug.com/643705
|
| + if (!isTrustedOrClick && m_event->isMouseEvent() && m_event->type() == EventTypeNames::mousedown && isHTMLSelectElement(*m_node)) {
|
| + if (Settings* settings = m_node->document().settings()) {
|
| + isTrustedOrClick = settings->wideViewportQuirkEnabled();
|
| + }
|
| + }
|
| +
|
| // Call default event handlers. While the DOM does have a concept of preventing
|
| // default handling, the detail of which handlers are called is an internal
|
| // implementation detail and not part of the DOM.
|
|
|