RESOLVED INVALID 94199
Pop-up menu is not displayed when right-clicking on a chart
https://bugs.webkit.org/show_bug.cgi?id=94199
Summary Pop-up menu is not displayed when right-clicking on a chart
Jouni K
Reported 2012-08-16 00:41:43 PDT
Created attachment 158734 [details] Screenshot of the problem Steps to reproduce the bug: - launch the Qt web browser demo or any browser based on QtWebkit - go to http://si.galaxysemi.com - log with user : digia@galaxysemi.com password : digia55 - select dashboard 'DemoDashboard' in the upper right corner combo - click on 'MaverickLotReport' tab (if it doesn't display, refresh the page) - On the 'Hold Report by Work Week' chart, right-click on a bar. A popup menu should open, but nothing happens. The bug is in all versions of QWebkit (from at least 2.0 to 2.2)
Attachments
Screenshot of the problem (55.41 KB, image/jpeg)
2012-08-16 00:41 PDT, Jouni K
no flags
Pierre Rossi
Comment 1 2012-09-06 14:39:36 PDT
preliminary investigation showed the subframe in which the context menu event handler is installed does not have focus, leading to doing hit testing on the wrong document in sendContextMenuEvent, which in turn means we end up dispatching the contextMenuEvent to the wrong node.
Jocelyn Turcotte
Comment 2 2014-02-03 03:51:00 PST
=== Bulk closing of Qt bugs === If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it. If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.
Clement IGONET
Comment 3 2016-09-08 06:05:18 PDT
A workaround: --- qt-everywhere-enterprise-src-5.2.1/qtwebkit/Source/WebCore/page/qt/EventHandlerQt.cpp 2013-08-25 22:05:46.000000000 +0200 +++ qt-everywhere-enterprise-new-5.2.1/qtwebkit/Source/WebCore/page/qt/EventHandlerQt.cpp 2013-11-04 10:44:25.871325348 +0100 @@ -101,6 +101,8 @@ bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe) { + if (subframe->page()) + subframe->page()->focusController()->setFocusedFrame(subframe); subframe->eventHandler()->handleMousePressEvent(mev.event()); return true; }
Note You need to log in before you can comment on or make changes to this bug.