One esc to exit fullscreen and pointer lock
https://bugs.webkit.org/show_bug.cgi?id=165416
rdar://problem/29430711
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-12-07
Reviewed by Jer Noble.
Source/WebCore:
Test: pointer-lock/lock-lost-on-esc-in-fullscreen.html
When handling escape, also exit fullscreen on escape.
This also means that escape can exit fullscreen in TestRunner.
* page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent):
Source/WebKit2:
Fix a crash when didLosePointerLock is not specified.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
Tools:
Implement WKPageUIClientV8 for pointer lock support.
Add "escape" key support in EventSenderProxy.
* WebKitTestRunner/TestController.cpp:
(WTR::requestPointerLock):
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::keyDown):
LayoutTests:
* platform/mac-wk2/TestExpectations:
* pointer-lock/lock-lost-on-esc-in-fullscreen-expected.txt: Added.
* pointer-lock/lock-lost-on-esc-in-fullscreen.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@209504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
11 files changed