summaryrefslogtreecommitdiffstats
path: root/webkit/glue/temporary_glue.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/temporary_glue.cc')
-rw-r--r--webkit/glue/temporary_glue.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/webkit/glue/temporary_glue.cc b/webkit/glue/temporary_glue.cc
index 23724ed..6c167aa 100644
--- a/webkit/glue/temporary_glue.cc
+++ b/webkit/glue/temporary_glue.cc
@@ -8,9 +8,11 @@
#include <wtf/Assertions.h>
#undef LOG
+#include "webkit/glue/chrome_client_impl.h"
#include "webkit/glue/webview_impl.h"
using WebCore::Frame;
+using WebCore::Page;
namespace WebKit {
@@ -24,4 +26,20 @@ WebMediaPlayer* TemporaryGlue::createWebMediaPlayer(
return webview->delegate()->CreateWebMediaPlayer(client);
}
+// static
+void TemporaryGlue::setCursorForPlugin(
+ const WebCursorInfo& cursor_info, Frame* frame) {
+ Page* page = frame->page();
+ if (!page)
+ return;
+
+ ChromeClientImpl* chrome_client =
+ static_cast<ChromeClientImpl*>(page->chrome()->client());
+
+ // A windowless plugin can change the cursor in response to the WM_MOUSEMOVE
+ // event. We need to reflect the changed cursor in the frame view as the
+ // mouse is moved in the boundaries of the windowless plugin.
+ chrome_client->SetCursorForPlugin(cursor_info);
+}
+
} // namespace WebKit