summaryrefslogtreecommitdiff
path: root/Source/WebCore/page/PointerLockController.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/page/PointerLockController.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/page/PointerLockController.h')
-rw-r--r--Source/WebCore/page/PointerLockController.h35
1 files changed, 19 insertions, 16 deletions
diff --git a/Source/WebCore/page/PointerLockController.h b/Source/WebCore/page/PointerLockController.h
index c820754ae..5021ae974 100644
--- a/Source/WebCore/page/PointerLockController.h
+++ b/Source/WebCore/page/PointerLockController.h
@@ -22,8 +22,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef PointerLockController_h
-#define PointerLockController_h
+#pragma once
#if ENABLE(POINTER_LOCK)
@@ -36,39 +35,43 @@ class Element;
class Document;
class Page;
class PlatformMouseEvent;
+class PlatformWheelEvent;
class VoidCallback;
class PointerLockController {
WTF_MAKE_NONCOPYABLE(PointerLockController);
WTF_MAKE_FAST_ALLOCATED;
public:
- static PassOwnPtr<PointerLockController> create(Page*);
-
+ explicit PointerLockController(Page&);
void requestPointerLock(Element* target);
+
void requestPointerUnlock();
- void elementRemoved(Element*);
- void documentDetached(Document*);
- bool lockPending() const;
- Element* element() const;
+ void requestPointerUnlockAndForceCursorVisible();
+ void elementRemoved(Element&);
+ void documentDetached(Document&);
+ bool isLocked() const;
+ WEBCORE_EXPORT bool lockPending() const;
+ WEBCORE_EXPORT Element* element() const;
- void didAcquirePointerLock();
- void didNotAcquirePointerLock();
- void didLosePointerLock();
+ WEBCORE_EXPORT void didAcquirePointerLock();
+ WEBCORE_EXPORT void didNotAcquirePointerLock();
+ WEBCORE_EXPORT void didLosePointerLock();
void dispatchLockedMouseEvent(const PlatformMouseEvent&, const AtomicString& eventType);
+ void dispatchLockedWheelEvent(const PlatformWheelEvent&);
private:
- explicit PointerLockController(Page*);
void clearElement();
void enqueueEvent(const AtomicString& type, Element*);
void enqueueEvent(const AtomicString& type, Document*);
- Page* m_page;
- bool m_lockPending;
+ Page& m_page;
+ bool m_lockPending { false };
+ bool m_unlockPending { false };
+ bool m_forceCursorVisibleUponUnlock { false };
RefPtr<Element> m_element;
RefPtr<Document> m_documentOfRemovedElementWhileWaitingForUnlock;
+ RefPtr<Document> m_documentAllowedToRelockWithoutUserGesture;
};
} // namespace WebCore
#endif // ENABLE(POINTER_LOCK)
-
-#endif // PointerLockController_h