RESOLVED WONTFIX107466
[EFL][WK2] Make sure custom cursor is cleared when loading a new page
https://bugs.webkit.org/show_bug.cgi?id=107466
Summary [EFL][WK2] Make sure custom cursor is cleared when loading a new page
Chris Dumez
Reported 2013-01-21 11:52:13 PST
The EFL port currently sets custom cursors using ecore_evas_object_cursor_set(). However, when a new page is loaded, the custom cursor does not get cleared until the mouse is moved. This leads to unexpected results for the user and flakiness in our pixel tests. You can reproduce the flakiness in pixel tests by running: Tools/Scripts/run-webkit-tests --efl --debug -2 -p --child-processes=1 fast/css/color-correction.html fast/css/crash-on-custom-cursor-when-loading.html fast/css/create_element_align.xhtml 1. fast/css/color-correction.html loads the purple-srgb.png resource in the cache, 2. then fast/css/crash-on-custom-cursor-when-loading.html shows a custom mouse cursor (purple-srgb.png), 3. finally the custom cursor is still shown on fast/css/create_element_align.xhtml, which is wrong. As a consequence, fast/css/create_element_align.xhtml and others are flakey when running pixel tests. You can reproduce the behavior in EFL's MiniBrowser by using the following test page: http://hydr0g3n.free.fr/testcursor/ Just hover the link (custom cursor should appear), then click the link and keep the mouse cursor still. The custom cursor will stay after the new page is loaded.
Attachments
Patch (7.80 KB, patch)
2013-01-21 12:12 PST, Chris Dumez
no flags
Chris Dumez
Comment 1 2013-01-21 12:12:02 PST
Mikhail Pozdnyakov
Comment 2 2013-01-22 00:02:03 PST
Comment on attachment 183818 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=183818&action=review > Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp:143 > + viewImpl->resetCursor(); what if load finishes with error? shouldn't we also consider other callbacks?
Chris Dumez
Comment 3 2013-01-22 02:41:54 PST
(In reply to comment #2) > (From update of attachment 183818 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=183818&action=review > > > Source/WebKit2/UIProcess/efl/PageLoadClientEfl.cpp:143 > > + viewImpl->resetCursor(); > > what if load finishes with error? shouldn't we also consider other callbacks? My understanding is that we only need to reset the mouse cursor when a new page is committed. When a page loading occurs, 2 things can happen: 1. An error page is shown. In this case, I assume we would get a committed load for the error page, right? 2. No error page is shown and the current page stays displayed. In this case, it does not really make sense to reset the mouse cursor I believe.
Andreas Kling
Comment 4 2014-02-05 11:10:34 PST
Comment on attachment 183818 [details] Patch Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.
Michael Catanzaro
Comment 5 2017-03-11 10:34:55 PST
Closing this bug because the EFL port has been removed from trunk. If you feel this bug applies to a different upstream WebKit port and was closed in error, please either update the title and reopen the bug, or leave a comment to request this.
Note You need to log in before you can comment on or make changes to this bug.