When a right click comes to WebCore and it realize that a context menu should pop up to the user it sends back a event telling the UI process to show the context menu, but as described in bug#58406, a mouse release event may already be in the CoreIPC pipeline because the UI sent it before receiving the "show context menu" event from WebProcess. To solve this issue the patch from bug#58406 added a flag to tell WebPage if it should ignore the mouse release event (or any other mouse events).
WebKitTestRunner send events synchronized, so the issue reported on bug#58406 doesn't affect WebKitTestRunner, besides due to the sync nature of WebKitTestRunner it will only receive the showContextMenu (that was sent async) after it already sent all events, so all events sent after the right click event will be ignored by webcore.
The proposed patch removes the check when using synchronized events making some tests that are Skipped on many webkit2 ports pass. Another possible approach would send the showContextMenu/contextMenuHidden events sync, but contextMenuHidden is only used to fix bug#58406.
Please correct me if any assumptions I made are wrong.
Test now passing:
Found on following skip lists:
The patch only removes the test from qt-wk2 skip list, but it probably would make this test pass on other wk2 ports.
Created attachment 124580 [details]
Nice, have you tried to run all the tests to avoid regressions?
I did it at the time I uploaded the patch, the results must be the same nowadays.
Comment on attachment 124580 [details]
Rejecting attachment 124580 [details] from commit-queue.
Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2
Last 500 characters of output:
ing file Source/WebKit2/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebKit2/WebProcess/WebPage/WebPage.cpp
Hunk #1 succeeded at 1297 (offset 15 lines).
patching file LayoutTests/platform/qt-wk2/Skipped
Hunk #1 FAILED at 54.
1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/qt-wk2/Skipped.rej
Failed to run "[u'/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply', u'--force', u'--reviewer', u'Chang Shu']" exit_code: 1 cwd: /mnt/git/webkit-commit-queue/
Full output: http://queues.webkit.org/results/11530252
This reviewbot messge means I should rebase the patch myself and re-upload it?
yes,simply replace oops with reviewer's name and cq+
Created attachment 128720 [details]
Patch finally rebased.
The commit-queue encountered the following flaky tests while processing attachment 128720 [details]:
css3/filters/effect-hue-rotate-hw.html bug 79845 (author: email@example.com)
The commit-queue is continuing to process your patch.
Comment on attachment 128720 [details]
Clearing flags on attachment: 128720
Committed r109169: <http://trac.webkit.org/changeset/109169>
All reviewed patches have been landed. Closing bug.