document.pointerLockElement exposes a node inside a shadow tree
https://bugs.webkit.org/show_bug.cgi?id=165702
Reviewed by Simon Fraser.
Source/WebCore:
Expose pointerLockElement on ShadowRoot as spec'ed (DocumentOrShadowRoot):
https://w3c.github.io/pointerlock/#extensions-to-the-documentorshadowroot-mixin
Use ancestorElementInThisScope to find the correct node in pointerLockElement.
Tests: fast/shadow-dom/pointerlockelement-in-shadow-tree.html
fast/shadow-dom/pointerlockelement-in-slot.html
* dom/Document.cpp:
(WebCore::Document::pointerLockElement): Moved to TreeScope.
* dom/Document.h:
* dom/Document.idl: Moved ointerLockElement to DocumentOrShadowRoot.idl.
* dom/DocumentOrShadowRoot.idl: Ditto.
* dom/TreeScope.cpp:
(WebCore::TreeScope::focusedElementInScope): Use documentScope instead of acessing it via m_rootNode.
(WebCore::TreeScope::pointerLockElement): Moved from Document.
* dom/TreeScope.h:
LayoutTests:
Added tests for pointer locks inside a shadow root as well as one assigned to a slot.
* fast/shadow-dom/pointerlockelement-in-shadow-tree-expected.txt: Added.
* fast/shadow-dom/pointerlockelement-in-shadow-tree.html: Added.
* fast/shadow-dom/pointerlockelement-in-slot-expected.txt: Added.
* fast/shadow-dom/pointerlockelement-in-slot.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/ios-simulator/TestExpectations:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@209648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
15 files changed