| Summary: | REGRESSION (r280492): [Win] ASSERTION FAILED: evt->type() == eventNames().keydownEvent || evt->type() == eventNames().keypressEvent in WebView::interpretKeyEvent since r280492 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Fujii Hironori <Hironori.Fujii> | ||||
| Component: | WebKit Misc. | Assignee: | Fujii Hironori <Hironori.Fujii> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | achristensen, bfulgham, dana.estra, don.olmstead, pvollan, ross.kirsling, webkit-bug-importer | ||||
| Priority: | P2 | Keywords: | InRadar | ||||
| Version: | WebKit Nightly Build | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=228009 | ||||||
| Attachments: |
|
||||||
|
Description
Fujii Hironori
2021-08-01 13:43:08 PDT
Apple-Win-10-Debug-Tests has been broken these days. And I didn't test with AppleWin, but I believe this is not a WinCairo port specific failure. https://build.webkit.org/#/builders/16 WinCairo WK2 also have a similar code and is failing a similar assertion.
> WTF.dll!WTFCrash() Line 321 C++
> WebKit2.dll!WTFCrashWithInfo(int __formal, const char * __formal, const char * __formal, int __formal) Line 698 C++
> WebKit2.dll!WebKit::WebPage::interpretKeyEvent(const WebCore::KeyboardEvent * evt) Line 226 C++
> WebKit2.dll!WebKit::WebPage::handleEditingKeyboardEvent(WebCore::KeyboardEvent & event) Line 268 C++
> WebKit2.dll!WebKit::WebEditorClient::handleKeyboardEvent(WebCore::KeyboardEvent & event) Line 350 C++
> WebKit2.dll!WebCore::Editor::handleKeyboardEvent(WebCore::KeyboardEvent & event) Line 320 C++
> WebKit2.dll!WebCore::EventHandler::defaultKeyboardEventHandler(WebCore::KeyboardEvent & event) Line 3808 C++
> WebKit2.dll!WebCore::Node::defaultEventHandler(WebCore::Event & event) Line 2439 C++
> WebKit2.dll!WebCore::callDefaultEventHandlersInBubblingOrder(WebCore::Event & event, const WebCore::EventPath & path) Line 64 C++
> WebKit2.dll!WebCore::EventDispatcher::dispatchEvent(WebCore::Node & node, WebCore::Event & event) Line 205 C++
> WebKit2.dll!WebCore::Node::dispatchEvent(WebCore::Event & event) Line 2382 C++
> WebKit2.dll!WebCore::Element::dispatchKeyEvent(const WebCore::PlatformKeyboardEvent & platformEvent) Line 471 C++
> WebKit2.dll!WebCore::EventHandler::internalKeyEvent(const WebCore::PlatformKeyboardEvent & initialKeyEvent) Line 3560 C++
> WebKit2.dll!WebCore::EventHandler::keyEvent(const WebCore::PlatformKeyboardEvent & keyEvent) Line 3463 C++
> WebKit2.dll!WebCore::UserInputBridge::handleKeyEvent(const WebCore::PlatformKeyboardEvent & keyEvent, WebCore::InputSource __formal) Line 83 C++
> WebKit2.dll!WebKit::handleKeyEvent(const WebKit::WebKeyboardEvent & keyboardEvent, WebCore::Page * page) Line 3058 C++
> WebKit2.dll!WebKit::WebPage::keyEvent(const WebKit::WebKeyboardEvent & keyboardEvent) Line 3071 C++
> WebKit2.dll!IPC::callMemberFunctionImpl<WebKit::WebPage,void (__cdecl WebKit::WebPage::*)(WebKit::WebKeyboardEvent const &),std::tuple<WebKit::WebKeyboardEvent>,0>(WebKit::WebPage * object, void(WebKit::WebPage::*)(const WebKit::WebKeyboardEvent &) function, std::tuple<WebKit::WebKeyboardEvent> && args, std::integer_sequence<unsigned __int64,0> __formal) Line 44 C++
> WebKit2.dll!IPC::callMemberFunction<WebKit::WebPage,void (__cdecl WebKit::WebPage::*)(WebKit::WebKeyboardEvent const &),std::tuple<WebKit::WebKeyboardEvent>,std::integer_sequence<unsigned __int64,0>>(std::tuple<WebKit::WebKeyboardEvent> && args, WebKit::WebPage * object, void(WebKit::WebPage::*)(const WebKit::WebKeyboardEvent &) function) Line 50 C++
> WebKit2.dll!IPC::handleMessage<Messages::WebPage::KeyEvent,WebKit::WebPage,void (__cdecl WebKit::WebPage::*)(WebKit::WebKeyboardEvent const &)>(IPC::Decoder & decoder, WebKit::WebPage * object, void(WebKit::WebPage::*)(const WebKit::WebKeyboardEvent &) function) Line 120 C++
> WebKit2.dll!WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection & connection, IPC::Decoder & decoder) Line 2875 C++
> WebKit2.dll!WebKit::WebPage::didReceiveMessage(IPC::Connection & connection, IPC::Decoder & decoder) Line 5009 C++
> WebKit2.dll!IPC::MessageReceiverMap::dispatchMessage(IPC::Connection & connection, IPC::Decoder & decoder) Line 130 C++
> WebKit2.dll!WebKit::WebProcess::didReceiveMessage(IPC::Connection & connection, IPC::Decoder & decoder) Line 857 C++
> WebKit2.dll!IPC::Connection::dispatchMessage(IPC::Decoder & decoder) Line 1059 C++
> WebKit2.dll!IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder,std::default_delete<IPC::Decoder>> message) Line 1105 C++
> WebKit2.dll!IPC::Connection::dispatchOneIncomingMessage() Line 1173 C++
> WebKit2.dll!IPC::Connection::enqueueIncomingMessage::__l2::<lambda>() Line 1028 C++
> WebKit2.dll!WTF::Detail::CallableWrapper<void <lambda>(void),void>::call() Line 53 C++
> WTF.dll!WTF::Function<void __cdecl(void)>::operator()() Line 83 C++
> WTF.dll!WTF::RunLoop::performWork() Line 134 C++
> WTF.dll!WTF::RunLoop::wndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 57 C++
> WTF.dll!WTF::RunLoop::RunLoopWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 39 C++
> user32.dll!00007ffd46a7e858() Unknown
> user32.dll!00007ffd46a7e299() Unknown
> WTF.dll!WTF::RunLoop::run() Line 74 C++
> WebKit2.dll!WebKit::AuxiliaryProcessMainBase<WebKit::WebProcess,1>::run(int argc, char * * argv) Line 71 C++
> WebKit2.dll!WebKit::AuxiliaryProcessMain<WebKit::WebProcessMainWin>(int argc, char * * argv) Line 97 C++
> WebKit2.dll!WebKit::WebProcessMain(int argc, char * * argv) Line 58 C++
> WebKitWebProcess.exe!main(int argc, char * * argv) Line 35 C++
> [Inline Frame] WebKitWebProcess.exe!invoke_main() Line 78 C++
> WebKitWebProcess.exe!__scrt_common_main_seh() Line 288 C++
> kernel32.dll!00007ffd45127034() Unknown
> ntdll.dll!00007ffd46f42651() Unknown
Created attachment 434726 [details]
Patch
Comment on attachment 434726 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=434726&action=review > Source/WebKit/ChangeLog:3 > + [Win] ASSERTION FAILED: evt->type() == eventNames().keydownEvent || evt->type() == eventNames().keypressEvent in WebView::interpretKeyEvent since r280492 Why doesn't Windows want the ability to handle KeyUp events? Comment on attachment 434726 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=434726&action=review >> Source/WebKit/ChangeLog:3 >> + [Win] ASSERTION FAILED: evt->type() == eventNames().keydownEvent || evt->type() == eventNames().keypressEvent in WebView::interpretKeyEvent since r280492 > > Why doesn't Windows want the ability to handle KeyUp events? r280492 changed to pass keyup event to EditorClient::handleKeyboardEvent for smooth scrolling. But, WebView::handleEditingKeyboardEvent of Windows port doesn't need it. Comment on attachment 434726 [details]
Patch
r=me
Comment on attachment 434726 [details]
Patch
Thank you for the review.
Committed r280565 (240189@main): <https://commits.webkit.org/240189@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 434726 [details]. |