haikuwebkit/LayoutTests/pointer-lock/mouse-event-api.html

15 lines
354 B
HTML
Raw Permalink Normal View History

Pointer Lock: Implement pointer interface https://bugs.webkit.org/show_bug.cgi?id=75762 Source/WebCore: Reviewed by Julien Chaffraix. Implement the navigator.pointer interface via a new PointerLockController class, as per http://dvcs.w3.org/hg/webevents/raw-file/default/mouse-lock.html. The implementation is being made in steps, the feature is still behind compile-time and run-time flags, 'webkit' prefixed, and not yet enabled in any browser. (Chromium has a developer flag required.) Follow-up work will include handling DOM elements being removed, making all callbacks asynchronous, iframe permissions (similar to Full Screen), etc. PointerLockController maintains state of which Element is the current lock target and the success and failure callbacks. ChromeClient has methods added to expose the required state change requests. Tests: pointer-lock/lock-already-locked.html pointer-lock/lock-fail-responses.html pointer-lock/mouse-event-delivery.html pointer-lock/pointerlocklost-event.html * WebCore.gypi: * dom/EventNames.h: * page/ChromeClient.h: (WebCore::ChromeClient::requestPointerLock): (WebCore::ChromeClient::requestPointerUnlock): (WebCore::ChromeClient::isPointerLocked): * page/Navigator.cpp: (WebCore::Navigator::webkitPointer): * page/Page.cpp: (WebCore::Page::Page): * page/Page.h: (WebCore::Page::pointerLockController): * page/PointerLock.cpp: (WebCore::PointerLock::PointerLock): (WebCore::PointerLock::create): (WebCore::PointerLock::lock): (WebCore::PointerLock::unlock): (WebCore::PointerLock::isLocked): * page/PointerLock.h: (WebCore::PointerLock::create): * page/PointerLockController.cpp: Added. (WebCore::PointerLockController::PointerLockController): (WebCore::PointerLockController::requestPointerLock): (WebCore::PointerLockController::requestPointerUnlock): (WebCore::PointerLockController::isLocked): (WebCore::PointerLockController::didAcquirePointerLock): (WebCore::PointerLockController::didNotAcquirePointerLock): (WebCore::PointerLockController::didLosePointerLock): (WebCore::PointerLockController::dispatchLockedMouseEvent): * page/PointerLockController.h: Copied from Source/WebCore/page/PointerLock.h. Source/WebKit/chromium: Add calls to the PointerLockController added in this patch to WebCore. * src/WebViewImpl.cpp: (WebKit::WebViewImpl::close): (WebKit::WebViewImpl::didAcquirePointerLock): (WebKit::WebViewImpl::didNotAcquirePointerLock): (WebKit::WebViewImpl::didLosePointerLock): (WebKit::WebViewImpl::pointerLockMouseEvent): LayoutTests: Reviewed by Julien Chaffraix. * pointer-lock/lock-already-locked-expected.txt: Added. * pointer-lock/lock-already-locked.html: Added. * pointer-lock/lock-fail-responses-expected.txt: Added. * pointer-lock/lock-fail-responses.html: Added. * pointer-lock/mouse-event-delivery-expected.txt: Added. * pointer-lock/mouse-event-delivery.html: Added. * pointer-lock/pointerlocklost-event-expected.txt: Added. * pointer-lock/pointerlocklost-event.html: Added. Canonical link: https://commits.webkit.org/94110@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@106134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-01-27 19:06:41 +00:00
<!DOCTYPE HTML>
<html>
<head>
<script src="../http/tests/resources/js-test-pre.js"></script>
</head>
<body>
<script>
var mouseEvent = document.createEvent("MouseEvent");
Remove webkit prefix from pointer lock tests. https://bugs.webkit.org/show_bug.cgi?id=134744 Patch by Alex Christensen <achristensen@webkit.org> on 2014-07-08 Reviewed by Brady Eidson. * http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock-expected.txt: * http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock.html: * http/tests/pointer-lock/iframe-sandboxed-expected.txt: * http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock-expected.txt: * http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock.html: * http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock-expected.txt: * http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock.html: * http/tests/pointer-lock/iframe-sandboxed.html: * http/tests/pointer-lock/pointerlockelement-different-origin-expected.txt: * http/tests/pointer-lock/pointerlockelement-different-origin.html: * http/tests/pointer-lock/pointerlockelement-same-origin-expected.txt: * http/tests/pointer-lock/pointerlockelement-same-origin.html: * http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents-expected.txt: * http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents.html: * http/tests/resources/pointer-lock/iframe-common.js: (document.onpointerlockchange): (document.onpointerlockerror): (document.onwebkitpointerlockchange): Deleted. (document.onwebkitpointerlockerror): Deleted. * http/tests/resources/pointer-lock/pointer-lock-test-harness.js: (expectOnlyChangeEvent): (expectOnlyErrorEvent): (expectNoEvents): * pointer-lock/bug90391-move-then-window-open-crash-expected.txt: * pointer-lock/bug90391-move-then-window-open-crash.html: * pointer-lock/lock-already-locked-expected.txt: * pointer-lock/lock-already-locked.html: * pointer-lock/lock-element-not-in-dom-expected.txt: * pointer-lock/lock-element-not-in-dom.html: * pointer-lock/locked-element-iframe-removed-from-dom-expected.txt: * pointer-lock/locked-element-iframe-removed-from-dom.html: * pointer-lock/locked-element-removed-from-dom-expected.txt: * pointer-lock/locked-element-removed-from-dom.html: * pointer-lock/mouse-event-api-expected.txt: * pointer-lock/mouse-event-api.html: * pointer-lock/mouse-event-delivery-expected.txt: * pointer-lock/mouse-event-delivery.html: * pointer-lock/pointer-lock-api-expected.txt: * pointer-lock/pointer-lock-api.html: * pointer-lock/pointerlockchange-event-on-lock-lost-expected.txt: * pointer-lock/pointerlockchange-event-on-lock-lost.html: * pointer-lock/pointerlockchange-pointerlockerror-events-expected.txt: * pointer-lock/pointerlockchange-pointerlockerror-events.html: * pointer-lock/pointerlockelement-null-when-pending-expected.txt: * pointer-lock/pointerlockelement-null-when-pending.html: Remove webkit prefix on pointer lock functions and events. This should have been done in r170585. Canonical link: https://commits.webkit.org/152687@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@170897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-07-08 22:36:24 +00:00
shouldBeDefined("mouseEvent.movementX");
shouldBeDefined("mouseEvent.movementY");
</script>
<script src="../http/tests/resources/js-test-post.js"></script>
</body>
</html>