diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/page/PageWidgetDelegate.cpp')
-rw-r--r-- | chromium/third_party/WebKit/Source/core/page/PageWidgetDelegate.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/chromium/third_party/WebKit/Source/core/page/PageWidgetDelegate.cpp b/chromium/third_party/WebKit/Source/core/page/PageWidgetDelegate.cpp index 02ffcb67e51..0147c97a867 100644 --- a/chromium/third_party/WebKit/Source/core/page/PageWidgetDelegate.cpp +++ b/chromium/third_party/WebKit/Source/core/page/PageWidgetDelegate.cpp @@ -33,8 +33,11 @@ #include "core/dom/AXObjectCache.h" #include "core/events/WebInputEventConversion.h" #include "core/frame/LocalFrame.h" +#include "core/frame/LocalFrameClient.h" #include "core/frame/LocalFrameView.h" #include "core/input/EventHandler.h" +#include "core/layout/LayoutView.h" +#include "core/loader/InteractiveDetector.h" #include "core/page/AutoscrollController.h" #include "core/page/Page.h" #include "core/paint/TransformRecorder.h" @@ -127,6 +130,19 @@ WebInputEventResult PageWidgetDelegate::HandleInputEvent( const WebCoalescedInputEvent& coalesced_event, LocalFrame* root) { const WebInputEvent& event = coalesced_event.Event(); + if (root) { + Document* document = root->GetDocument(); + DCHECK(document); + + InteractiveDetector* interactive_detector( + InteractiveDetector::From(*document)); + + // interactive_detector is null in the OOPIF case. + // TODO(crbug.com/808089): report across OOPIFs. + if (interactive_detector) + interactive_detector->HandleForFirstInputDelay(event); + } + if (event.GetModifiers() & WebInputEvent::kIsTouchAccessibility && WebInputEvent::IsMouseEventType(event.GetType())) { WebMouseEvent mouse_event = TransformWebMouseEvent( |