haikuwebkit/LayoutTests/pointer-lock/lock-already-locked-expecte...

20 lines
598 B
Plaintext
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
Test calling lock when already in a locked state.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
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
PASS document.pointerLockElement is null
Locking targetdiv1.
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
PASS document.onpointerlockchange event received.
PASS document.pointerLockElement is targetdiv1
Locking targetdiv1, again.
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
PASS document.onpointerlockchange event received.
PASS document.pointerLockElement is targetdiv1
Locking targetdiv2.
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
PASS document.onpointerlockchange event received.
PASS document.pointerLockElement is targetdiv2
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
PASS successfullyParsed is true
TEST COMPLETE