Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(396)

Unified Diff: content/renderer/mouse_lock_dispatcher.h

Issue 10458008: Support mouse lock in Flash fullscreen mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/mouse_lock_dispatcher.h
diff --git a/content/renderer/mouse_lock_dispatcher.h b/content/renderer/mouse_lock_dispatcher.h
index 8035d091eafb76ab47cb429d7deb15b6960d68ca..ef5d58aa300d581c04a9351459f742a45a904532 100644
--- a/content/renderer/mouse_lock_dispatcher.h
+++ b/content/renderer/mouse_lock_dispatcher.h
@@ -7,25 +7,14 @@
#pragma once
#include "base/basictypes.h"
-#include "content/public/renderer/render_view_observer.h"
-
-class RenderViewImpl;
namespace WebKit {
class WebMouseEvent;
-class WebWidget;
} // namespace WebKit
-namespace webkit{
-namespace ppapi {
-class PluginInstance;
-} // namespace ppapi
-} // namespace webkit
-
-// MouseLockDispatcher is owned by RenderViewImpl.
-class CONTENT_EXPORT MouseLockDispatcher : public content::RenderViewObserver {
+class MouseLockDispatcher {
public:
- explicit MouseLockDispatcher(RenderViewImpl* render_view_impl);
+ MouseLockDispatcher();
virtual ~MouseLockDispatcher();
class LockTarget {
@@ -54,20 +43,22 @@ class CONTENT_EXPORT MouseLockDispatcher : public content::RenderViewObserver {
// Allow lock target to consumed a mouse event, if it does return true.
bool WillHandleMouseEvent(const WebKit::WebMouseEvent& event);
- private:
- // RenderView::Observer implementation.
- virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
-
- // IPC handlers.
+ // Subclasses or users have to call these methods to report mouse lock events
+ // from the browser.
void OnLockMouseACK(bool succeeded);
void OnMouseLockLost();
+ protected:
+ // Subclasses must implement these methods to send mouse lock requests to the
+ // browser.
+ virtual void SendLockMouseRequest() = 0;
+ virtual void SendUnlockMouseRequest() = 0;
+
+ private:
bool MouseLockedOrPendingAction() const {
return mouse_locked_ || pending_lock_request_ || pending_unlock_request_;
}
- RenderViewImpl* render_view_impl_;
-
bool mouse_locked_;
// If both |pending_lock_request_| and |pending_unlock_request_| are true,
// it means a lock request was sent before an unlock request and we haven't

Powered by Google App Engine
This is Rietveld 408576698