mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1027315 - GetAccessibleOrContainer should check across shadow root for document. r=surkov
This commit is contained in:
parent
334e72e71d
commit
72860c9b6c
@ -1303,7 +1303,7 @@ DocAccessible::GetAccessibleByUniqueIDInSubtree(void* aUniqueID)
|
||||
Accessible*
|
||||
DocAccessible::GetAccessibleOrContainer(nsINode* aNode) const
|
||||
{
|
||||
if (!aNode || !aNode->IsInDoc())
|
||||
if (!aNode || !aNode->GetCrossShadowCurrentDoc())
|
||||
return nullptr;
|
||||
|
||||
nsINode* currNode = aNode;
|
||||
|
@ -14,7 +14,6 @@
|
||||
src="../role.js"></script>
|
||||
|
||||
<script type="application/javascript">
|
||||
SpecialPowers.setBoolPref("dom.webcomponents.enabled", true);
|
||||
function doTest()
|
||||
{
|
||||
testElm("component", {
|
||||
@ -29,7 +28,6 @@
|
||||
]
|
||||
});
|
||||
|
||||
SpecialPowers.clearUserPref("dom.webcomponents.enabled");
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ support-files = zoom_tree.xul
|
||||
skip-if = (os == "android" || appname == "b2g")
|
||||
[test_general.html]
|
||||
[test_menu.xul]
|
||||
[test_shadowroot.html]
|
||||
[test_zoom.html]
|
||||
[test_zoom_text.html]
|
||||
[test_zoom_tree.xul]
|
||||
|
72
accessible/tests/mochitest/hittest/test_shadowroot.html
Normal file
72
accessible/tests/mochitest/hittest/test_shadowroot.html
Normal file
@ -0,0 +1,72 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>ShadowRoot hit tests</title>
|
||||
<link rel="stylesheet" type="text/css"
|
||||
href="chrome://mochikit/content/tests/SimpleTest/test.css" />
|
||||
|
||||
<script type="application/javascript"
|
||||
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
||||
|
||||
<script type="application/javascript"
|
||||
src="../common.js"></script>
|
||||
<script type="application/javascript"
|
||||
src="../layout.js"></script>
|
||||
|
||||
<script type="application/javascript">
|
||||
function doTest()
|
||||
{
|
||||
var componentAcc = getAccessible('component1');
|
||||
testChildAtPoint(componentAcc, 1, 1, componentAcc.firstChild,
|
||||
componentAcc.firstChild);
|
||||
|
||||
componentAcc = getAccessible('component2');
|
||||
testChildAtPoint(componentAcc, 1, 1, componentAcc.firstChild,
|
||||
componentAcc.firstChild);
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
addA11yLoadEvent(doTest);
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a target="_blank"
|
||||
title="Test getChildAtPoint works for shadow DOM content"
|
||||
href="https://bugzilla.mozilla.org/show_bug.cgi?id=1027315">
|
||||
Mozilla Bug 1027315
|
||||
</a><br/>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none"></div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
|
||||
<div role="group" class="components" id="component1" style="display: inline-block;">
|
||||
<!--
|
||||
<div role="button" id="component-child"
|
||||
style="width: 100px; height: 100px; background-color: pink;">
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
<div role="group" class="components" id="component2" style="display: inline-block;">
|
||||
<!--
|
||||
<button>Hello world</button>
|
||||
-->
|
||||
</div>
|
||||
<script>
|
||||
// This routine adds the comment children of each 'component' to its
|
||||
// shadow root.
|
||||
var components = document.querySelectorAll('.components');
|
||||
for (var i = 0; i < components.length; i++) {
|
||||
var component = components[i];
|
||||
var shadow = component.createShadowRoot();
|
||||
for (var child = component.firstChild; child; child = child.nextSibling) {
|
||||
if (child.nodeType === 8)
|
||||
shadow.innerHTML = child.data;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user