51 lines
1.8 KiB
HTML
51 lines
1.8 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script src="../../resources/accessibility-helper.js"></script>
|
|
</head>
|
|
<body aria-label="outer body">
|
|
<p id="description"></p>
|
|
<iframe aria-label="outer iframe" id="iframe"></iframe>
|
|
<div id="console"></div>
|
|
<script>
|
|
window.jsTestIsAsync = true;
|
|
|
|
description("This test ensures that a children-changed notification is not emitted for children of not-yet-rendered nested iframes.");
|
|
function runTest() {
|
|
|
|
if (window.accessibilityController) {
|
|
var axWebArea = accessibilityController.rootElement.childAtIndex(0);
|
|
|
|
// Generate the hierarchy before registering a listener so that we only see new notifications.
|
|
touchAccessibilityTree(axWebArea);
|
|
|
|
accessibilityController.addNotificationListener(function(element, notification, child) {
|
|
if (notification == "AXChildrenAdded" && element.role == "AXRole: AXGroup")
|
|
debug(notification + " on " + element.title + " (" + (child ? child.title : "null") + ")");
|
|
});
|
|
}
|
|
|
|
// Write content in the outer iframe, including an inner iframe. The latter should not emit a notification.
|
|
var iframe = document.getElementById("iframe");
|
|
var doc = iframe.contentWindow.document;
|
|
doc.open();
|
|
doc.write("<html><body aria-label='inner body'><iframe aria-label='inner iframe' src='about:config'></body></html>");
|
|
doc.close();
|
|
|
|
// Re-generate the hierarchy to trigger the notifications.
|
|
touchAccessibilityTree(axWebArea);
|
|
|
|
window.setTimeout(function() {
|
|
if (window.accessibilityController) {
|
|
accessibilityController.removeNotificationListener();
|
|
}
|
|
|
|
finishJSTest();
|
|
}, 0);
|
|
}
|
|
runTest();
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|