Commit bf4519a5 authored by mitz@apple.com's avatar mitz@apple.com
Browse files

REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides

https://bugs.webkit.org/show_bug.cgi?id=64615

Reviewed by Anders Carlsson.

Source/WebCore: 

* html/shadow/MediaControlRootElement.cpp:
(WebCore::MediaControlRootElement::enteredFullscreen): Hide the mouse cursor immediately when
entering full screen.
(WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide the mouse cursor when
hiding the HUD.
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::setCursorHiddenUntilMouseMoves): Added empty implementation.
* page/Chrome.cpp:
(WebCore::Chrome::setCursorHiddenUntilMouseMoves): Added. Calls through to the client.
* page/Chrome.h:
* page/ChromeClient.h:
* platform/HostWindow.h:

Source/WebKit/chromium: 

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::setCursorHiddenUntilMouseMoves): Added this stub.
* src/ChromeClientImpl.h:

Source/WebKit/efl: 

* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::setCursorHiddenUntilMouseMoves): Added this stub.
* WebCoreSupport/ChromeClientEfl.h:

Source/WebKit/gtk: 

* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::setCursorHiddenUntilMouseMoves): Added this stub.
* WebCoreSupport/ChromeClientGtk.h:

Source/WebKit/haiku: 

* WebCoreSupport/ChromeClientHaiku.cpp:
(WebCore::ChromeClientHaiku::setCursorHiddenUntilMouseMoves): Added this stub.
* WebCoreSupport/ChromeClientHaiku.h:

Source/WebKit/mac: 

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setCursorHiddenUntilMouseMoves): Added. Calls
+[NSCursor setHiddenUntilMouseMoves:].

Source/WebKit/qt: 

* WebCoreSupport/ChromeClientQt.h:
(WebCore::ChromeClientQt::setCursorHiddenUntilMouseMoves): Added this stub.

Source/WebKit/win: 

* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::setCursorHiddenUntilMouseMoves): Added this stub.
* WebCoreSupport/WebChromeClient.h:

Source/WebKit/wince: 

* WebCoreSupport/ChromeClientWinCE.cpp:
(WebKit::ChromeClientWinCE::setCursorHiddenUntilMouseMoves): Added this stub.
* WebCoreSupport/ChromeClientWinCE.h:

Source/WebKit/wx: 

* WebKitSupport/ChromeClientWx.h:
(WebCore::ChromeClientWx::setCursorHiddenUntilMouseMoves): Added this stub.

Source/WebKit2: 

* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added this stub.
* UIProcess/API/efl/PageClientImpl.h:
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Ditto.
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added. Calls +[NSCursor setHiddenUntilMouseMoves:].
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setCursorHiddenUntilMouseMoves): Added. Calls through to the PageClient.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in: Added SetCursorHiddenUntilMouseMoves message.
* UIProcess/win/WebView.cpp:
(WebKit::WebView::setCursorHiddenUntilMouseMoves): Added this stub.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::setCursorHiddenUntilMouseMoves): Added. Sends SetCursorHiddenUntilMouseMoves message
to the page proxy.
* WebProcess/WebCoreSupport/WebChromeClient.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@91097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 1eadbf2f
2011-07-15 Dan Bernstein <mitz@apple.com>
REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
https://bugs.webkit.org/show_bug.cgi?id=64615
Reviewed by Anders Carlsson.
* html/shadow/MediaControlRootElement.cpp:
(WebCore::MediaControlRootElement::enteredFullscreen): Hide the mouse cursor immediately when
entering full screen.
(WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide the mouse cursor when
hiding the HUD.
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::setCursorHiddenUntilMouseMoves): Added empty implementation.
* page/Chrome.cpp:
(WebCore::Chrome::setCursorHiddenUntilMouseMoves): Added. Calls through to the client.
* page/Chrome.h:
* page/ChromeClient.h:
* platform/HostWindow.h:
2011-07-14 Gavin Barraclough <barraclough@apple.com>
 
https://bugs.webkit.org/show_bug.cgi?id=64250
......@@ -29,6 +29,7 @@
#if ENABLE(VIDEO)
#include "MediaControlRootElement.h"
#include "Chrome.h"
#include "MediaControlElements.h"
#include "MouseEvent.h"
#include "Page.h"
......@@ -453,6 +454,9 @@ void MediaControlRootElement::enteredFullscreen()
m_panel->setCanBeDragged(true);
if (Page* page = m_mediaElement->document()->page())
page->chrome()->setCursorHiddenUntilMouseMoves(true);
startHideFullscreenControlsTimer();
}
......@@ -547,7 +551,10 @@ void MediaControlRootElement::hideFullscreenControlsTimerFired(Timer<MediaContro
if (!shouldHideControls())
return;
if (Page* page = m_mediaElement->document()->page())
page->chrome()->setCursorHiddenUntilMouseMoves(true);
makeTransparent();
}
......
......@@ -205,6 +205,7 @@ public:
virtual void elementDidBlur(const Node*) { }
virtual void setCursor(const Cursor&) { }
virtual void setCursorHiddenUntilMouseMoves(bool) { }
virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const {}
......
......@@ -487,6 +487,11 @@ void Chrome::setCursor(const Cursor& cursor)
m_client->setCursor(cursor);
}
void Chrome::setCursorHiddenUntilMouseMoves(bool hiddenUntilMouseMoves)
{
m_client->setCursorHiddenUntilMouseMoves(hiddenUntilMouseMoves);
}
#if ENABLE(REQUEST_ANIMATION_FRAME)
void Chrome::scheduleAnimation()
{
......
......@@ -78,6 +78,8 @@ namespace WebCore {
virtual PlatformPageClient platformPageClient() const;
virtual void scrollbarsModeDidChange() const;
virtual void setCursor(const Cursor&);
virtual void setCursorHiddenUntilMouseMoves(bool);
#if ENABLE(REQUEST_ANIMATION_FRAME)
virtual void scheduleAnimation();
#endif
......
......@@ -156,6 +156,7 @@ namespace WebCore {
virtual PlatformPageClient platformPageClient() const = 0;
virtual void scrollbarsModeDidChange() const = 0;
virtual void setCursor(const Cursor&) = 0;
virtual void setCursorHiddenUntilMouseMoves(bool) = 0;
#if ENABLE(REQUEST_ANIMATION_FRAME)
virtual void scheduleAnimation() = 0;
#endif
......
......@@ -68,6 +68,8 @@ public:
// Request that the cursor change.
virtual void setCursor(const Cursor&) = 0;
virtual void setCursorHiddenUntilMouseMoves(bool) = 0;
#if ENABLE(REQUEST_ANIMATION_FRAME)
virtual void scheduleAnimation() = 0;
#endif
......
2011-07-15 Dan Bernstein <mitz@apple.com>
REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
https://bugs.webkit.org/show_bug.cgi?id=64615
Reviewed by Anders Carlsson.
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::setCursorHiddenUntilMouseMoves): Added this stub.
* src/ChromeClientImpl.h:
2011-07-14 Ryosuke Niwa <rniwa@webkit.org>
Rolled Chromium revision to 92606.
......
......@@ -755,6 +755,11 @@ void ChromeClientImpl::setCursor(const WebCore::Cursor& cursor)
setCursor(WebCursorInfo(cursor));
}
void ChromeClientImpl::setCursorHiddenUntilMouseMoves(bool)
{
notImplemented();
}
void ChromeClientImpl::setCursor(const WebCursorInfo& cursor)
{
if (m_webView->client())
......
......@@ -144,6 +144,7 @@ public:
virtual void enumerateChosenDirectory(WebCore::FileChooser*);
#endif
virtual void setCursor(const WebCore::Cursor&);
virtual void setCursorHiddenUntilMouseMoves(bool);
virtual void formStateDidChange(const WebCore::Node*);
#if ENABLE(TOUCH_EVENTS)
// FIXME: All touch events are forwarded regardless of whether or not they are needed.
......
2011-07-15 Dan Bernstein <mitz@apple.com>
REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
https://bugs.webkit.org/show_bug.cgi?id=64615
Reviewed by Anders Carlsson.
* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::setCursorHiddenUntilMouseMoves): Added this stub.
* WebCoreSupport/ChromeClientEfl.h:
2011-07-14 Jaehun Lim <ljaehun.lim@samsung.com>
Reviewed by Adam Barth.
......
......@@ -452,6 +452,11 @@ void ChromeClientEfl::setCursor(const Cursor&)
notImplemented();
}
void ChromeClientEfl::setCursorHiddenUntilMouseMoves(bool)
{
notImplemented();
}
void ChromeClientEfl::requestGeolocationPermissionForFrame(Frame*, Geolocation*)
{
// See the comment in WebCore/page/ChromeClient.h
......
......@@ -137,6 +137,7 @@ public:
virtual void formStateDidChange(const Node*);
virtual void setCursor(const Cursor&);
virtual void setCursorHiddenUntilMouseMoves(bool);
virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const { }
......
2011-07-15 Dan Bernstein <mitz@apple.com>
REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
https://bugs.webkit.org/show_bug.cgi?id=64615
Reviewed by Anders Carlsson.
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::setCursorHiddenUntilMouseMoves): Added this stub.
* WebCoreSupport/ChromeClientGtk.h:
2011-07-15 Martin Robinson <mrobinson@igalia.com>
 
Build fixes for WebKit2. Ensure that all generated sources are
......
......@@ -667,6 +667,11 @@ void ChromeClient::setCursor(const Cursor& cursor)
gdk_window_set_cursor(window, newCursor);
}
void ChromeClient::setCursorHiddenUntilMouseMoves(bool)
{
notImplemented();
}
void ChromeClient::requestGeolocationPermissionForFrame(Frame* frame, Geolocation* geolocation)
{
WebKitWebFrame* webFrame = kit(frame);
......
......@@ -133,6 +133,7 @@ namespace WebKit {
virtual void formStateDidChange(const WebCore::Node*) { }
virtual void setCursor(const WebCore::Cursor&);
virtual void setCursorHiddenUntilMouseMoves(bool);
virtual void scrollRectIntoView(const WebCore::IntRect&, const WebCore::ScrollView*) const {}
virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*);
......
2011-07-15 Dan Bernstein <mitz@apple.com>
REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
https://bugs.webkit.org/show_bug.cgi?id=64615
Reviewed by Anders Carlsson.
* WebCoreSupport/ChromeClientHaiku.cpp:
(WebCore::ChromeClientHaiku::setCursorHiddenUntilMouseMoves): Added this stub.
* WebCoreSupport/ChromeClientHaiku.h:
2011-07-12 Joseph Pecoraro <joepeck@webkit.org>
ApplicationCache update should not immediately fail when reaching per-origin quota
......
......@@ -382,7 +382,12 @@ void ChromeClientHaiku::setCursor(const Cursor&)
notImplemented();
}
// Notification that the given form element has changed. This function
/void ChromeClientHaiku::setCursorHiddenUntilMouseMoves(bool)
{
notImplemented();
}
/ Notification that the given form element has changed. This function
// will be called frequently, so handling should be very fast.
void ChromeClientHaiku::formStateDidChange(const Node*)
{
......
......@@ -155,6 +155,7 @@ namespace WebCore {
virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*);
virtual void setCursor(const Cursor&);
virtual void setCursorHiddenUntilMouseMoves(bool);
// Notification that the given form element has changed. This function
// will be called frequently, so handling should be very fast.
......
2011-07-15 Dan Bernstein <mitz@apple.com>
REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
https://bugs.webkit.org/show_bug.cgi?id=64615
Reviewed by Anders Carlsson.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setCursorHiddenUntilMouseMoves): Added. Calls
+[NSCursor setHiddenUntilMouseMoves:].
2011-07-14 Gavin Barraclough <barraclough@apple.com>
 
https://bugs.webkit.org/show_bug.cgi?id=64250
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment