REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
<rdar://problem/9525626>
Created attachment 101023 [details] Add Chrome::setCursorHiddenUntilMouseMoved() and call it from the media controls
Comment on attachment 101023 [details] Add Chrome::setCursorHiddenUntilMouseMoved() and call it from the media controls Looks good, but please fix the build failures before committing.
Fixed in r91097. <http://trac.webkit.org/r91097>
Comment on attachment 101023 [details] Add Chrome::setCursorHiddenUntilMouseMoved() and call it from the media controls Do we really need the boolean? Would we ever call this with false? What would it mean if we did?
8>c:\cygwin\home\buildbot\webkit\source\webkit2\uiprocess\win\WebView.h(70) : error C2259: 'WebKit::WebView' : cannot instantiate abstract class 8> due to following members: 8> 'void WebKit::PageClient::setCursorHiddenUntilMouseMoves(bool)' : is abstract 8> c:\cygwin\home\buildbot\WebKit\Source\WebKit2\UIProcess\PageClient.h(113) : see declaration of 'WebKit::PageClient::setCursorHiddenUntilMouseMoves'
(In reply to comment #5) > (From update of attachment 101023 [details]) > Do we really need the boolean? No. > Would we ever call this with false? Maybe if we wanted to fix a hypothetical bug where when the page ends fullscreen video mode the mouse cursor doesn’t show up. > What would it mean if we did? It would show the cursor if it were still hidden as a result of calling this with true.
This patch broke the Qt Linux Release build: <http://build.webkit.org/builders/Qt%20Linux%20Release/builds/35466/steps/compile-webkit/logs/stdio> It looks like an implementation of setCursorHiddenUntilMouseMoves() is needed for the Qt WebKit2 port from looking at the stdio bot output. Committed build fix in changeset 91159 <http://trac.webkit.org/changeset/91159>.
Thanks!
Is there a reason why the Qt PageClient is called QtWebPageProxy? I think that’s why I didn’t notice that it needed this change.
(In reply to comment #10) > Is there a reason why the Qt PageClient is called QtWebPageProxy? I think that’s why I didn’t notice that it needed this change. I don't know. CC'ing Andreas Kling, Benjamin Poulain and Kenneth Rohde Christiansen who may have some insight about the name.
(In reply to comment #10) > Is there a reason why the Qt PageClient is called QtWebPageProxy? I think that’s why I didn’t notice that it needed this change. It is a work-in-progress class from the old design (where we had QWKPagePrivate being both a wrapper around WebPageProxy and an implementation of PageClient. That should get cleaner as we are splitting the old classes.
Could this have been fixed by adding a "cursor:none" CSS style to the full screen stylesheets?
(In reply to comment #13) > Could this have been fixed by adding a "cursor:none" CSS style to the full screen stylesheets? It couldn’t have just been added to the style sheets, as the cursor needs to be hidden and shown dynamically, but you are right that it may have been possible to control this using a style declaration and the existing CSS cursor mechanism.