Bug 185383

Summary: NSEvent event trackers don't work from WebKitTestRunner for simulated wheel events.
Product: WebKit Reporter: Jeremy Jones <jeremyj-wk>
Component: Tools / TestsAssignee: Jeremy Jones <jeremyj-wk>
Status: NEW ---    
Severity: Normal CC: commit-queue, jonlee, lforschler, ryanhaddad, simon.fraser, thorton, webkit-bug-importer, wenson_hsieh
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
simon.fraser: review+
Patch for landing. none

Description Jeremy Jones 2018-05-07 10:11:09 PDT
NSEvent event trackers don't work from WebKitTestRunner
Comment 1 Jeremy Jones 2018-05-07 10:12:39 PDT
rdar://problem/40025045
Comment 2 Jeremy Jones 2018-05-07 10:17:28 PDT
Created attachment 339729 [details]
Patch
Comment 3 Jeremy Jones 2018-05-07 10:18:35 PDT
... for simulated wheel events.
Comment 4 Jeremy Jones 2018-05-09 11:13:41 PDT
Created attachment 339987 [details]
Patch
Comment 5 Simon Fraser (smfr) 2018-05-09 11:29:44 PDT
Comment on attachment 339987 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=339987&action=review

> LayoutTests/swipe/wheel-event-initiated-back-navigation.html:25
> +		logResult('This test must be run in DumpRenderTree/WebKitTestRunner (no eventSender)');
> +		return;

Weird indentation. Tabs?

> LayoutTests/swipe/wheel-event-initiated-back-navigation.html:30
> +		logResult('This test must be run in DumpRenderTree/WebKitTestRunner (no testRunner)');
> +		return;

Weird indentation. Tabs?

> LayoutTests/swipe/wheel-event-initiated-back-navigation.html:63
> +<h1>This is a swipe navigation test.</h1>

Is it?
Comment 6 Jeremy Jones 2018-05-14 09:46:57 PDT
Created attachment 340322 [details]
Patch for landing.
Comment 7 WebKit Commit Bot 2018-05-14 10:26:30 PDT
Comment on attachment 340322 [details]
Patch for landing.

Clearing flags on attachment: 340322

Committed r231763: <https://trac.webkit.org/changeset/231763>
Comment 8 Ryan Haddad 2018-05-15 09:01:39 PDT
The test added with this change is failing an assertion on macOS Debug WK2 bots:

ASSERTION FAILED: event
./platform/mac/PlatformEventFactoryMac.mm(689) : void WebCore::getWheelEventDeltas(NSEvent *, float &, float &, BOOL &)
1   0x103624539 WTFCrash
2   0x10fb85ec7 WebCore::getWheelEventDeltas(NSEvent*, float&, float&, signed char&)
3   0x10b083e56 WebKit::WebEventFactory::createWebWheelEvent(NSEvent*, NSView*)
4   0x10a949f68 WebKit::NativeWebWheelEvent::NativeWebWheelEvent(NSEvent*, NSView*)
5   0x10a949fd5 WebKit::NativeWebWheelEvent::NativeWebWheelEvent(NSEvent*, NSView*)
6   0x10b6b296b WebKit::WebViewImpl::scrollWheel(NSEvent*)
7   0x10b7b3996 -[WKWebView scrollWheel:]
8   0x1034250a9 WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases(int, int, int, int)
9   0x10345685f WTR::TestController::didReceiveMessageFromInjectedBundle(OpaqueWKString const*, void const*)
10  0x10344ba9c WTR::TestController::didReceivePageMessageFromInjectedBundle(OpaqueWKPage const*, OpaqueWKString const*, void const*, void const*)
11  0x10b22d09d WebKit::WebPageInjectedBundleClient::didReceiveMessageFromInjectedBundle(WebKit::WebPageProxy*, WTF::String const&, API::Object*)
12  0x10b28680e WebKit::WebPageProxy::handleMessage(IPC::Connection&, WTF::String const&, WebKit::UserData const&)
13  0x10b390a7a void IPC::callMemberFunctionImpl<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&), std::__1::tuple<WTF::String, WebKit::UserData>, 0ul, 1ul>(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&), IPC::Connection&, std::__1::tuple<WTF::String, WebKit::UserData>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>)
14  0x10b3909a0 void IPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&), std::__1::tuple<WTF::String, WebKit::UserData>, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(IPC::Connection&, std::__1::tuple<WTF::String, WebKit::UserData>&&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&))
15  0x10b364dca void IPC::handleMessage<Messages::WebPageProxy::HandleMessage, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&)>(IPC::Connection&, IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&))
16  0x10b35593e WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
17  0x10b366be4 non-virtual thunk to WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
18  0x10a9413b8 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&)
19  0x10a822004 WebKit::ChildProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&)
20  0x10b4e2f9d WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
21  0x10b4e3164 non-virtual thunk to WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
22  0x10a8321c3 IPC::Connection::dispatchMessage(IPC::Decoder&)
23  0x10a8277b8 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)
24  0x10a8327c0 IPC::Connection::dispatchOneMessage()
25  0x10a84a9bd IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14::operator()()
26  0x10a84a919 WTF::Function<void ()>::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14>::call()
27  0x103648bdb WTF::Function<void ()>::operator()() const
28  0x10369baed WTF::RunLoop::performWork()
29  0x10369c304 WTF::RunLoop::performWork(void*)
30  0x7fffa02ea3e1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
31  0x7fffa02cb65c __CFRunLoopDoSources0

https://build.webkit.org/results/Apple%20Sierra%20Debug%20WK2%20(Tests)/r231763%20(6439)/results.html
Comment 9 Ryan Haddad 2018-05-15 10:20:45 PDT
Reverted r231763 for reason:

The test added with this change is failing an assertion.

Committed r231807: <https://trac.webkit.org/changeset/231807>