342 lines
7.5 KiB
JavaScript
342 lines
7.5 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
"use strict";
|
|
|
|
/* import-globals-from ../../mochitest/role.js */
|
|
loadScripts({ name: "role.js", dir: MOCHITESTS_DIR });
|
|
|
|
async function testTreeOnHide(browser, accDoc, containerID, id, before, after) {
|
|
let acc = findAccessibleChildByID(accDoc, containerID);
|
|
testAccessibleTree(acc, before);
|
|
|
|
let onReorder = waitForEvent(EVENT_REORDER, containerID);
|
|
await invokeSetStyle(browser, id, "visibility", "hidden");
|
|
await onReorder;
|
|
|
|
testAccessibleTree(acc, after);
|
|
}
|
|
|
|
async function test3(browser, accessible) {
|
|
let tree = {
|
|
SECTION: [
|
|
// container
|
|
{
|
|
SECTION: [
|
|
// parent
|
|
{
|
|
SECTION: [
|
|
// child
|
|
{ TEXT_LEAF: [] },
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
SECTION: [
|
|
// parent2
|
|
{
|
|
SECTION: [
|
|
// child2
|
|
{ TEXT_LEAF: [] },
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
testAccessibleTree(accessible, tree);
|
|
|
|
let onReorder = waitForEvent(EVENT_REORDER, "t3_container");
|
|
await invokeContentTask(browser, [], () => {
|
|
let doc = content.document;
|
|
doc.getElementById("t3_container").style.color = "red";
|
|
doc.getElementById("t3_parent").style.visibility = "hidden";
|
|
doc.getElementById("t3_parent2").style.visibility = "hidden";
|
|
});
|
|
await onReorder;
|
|
|
|
tree = {
|
|
SECTION: [
|
|
// container
|
|
{
|
|
SECTION: [
|
|
// child
|
|
{ TEXT_LEAF: [] },
|
|
],
|
|
},
|
|
{
|
|
SECTION: [
|
|
// child2
|
|
{ TEXT_LEAF: [] },
|
|
],
|
|
},
|
|
],
|
|
};
|
|
testAccessibleTree(accessible, tree);
|
|
}
|
|
|
|
async function test4(browser, accessible) {
|
|
let tree = {
|
|
SECTION: [{ TABLE: [{ ROW: [{ CELL: [] }] }] }],
|
|
};
|
|
testAccessibleTree(accessible, tree);
|
|
|
|
let onReorder = waitForEvent(EVENT_REORDER, "t4_parent");
|
|
await invokeContentTask(browser, [], () => {
|
|
let doc = content.document;
|
|
doc.getElementById("t4_container").style.color = "red";
|
|
doc.getElementById("t4_child").style.visibility = "visible";
|
|
});
|
|
await onReorder;
|
|
|
|
tree = {
|
|
SECTION: [
|
|
{
|
|
TABLE: [
|
|
{
|
|
ROW: [
|
|
{
|
|
CELL: [
|
|
{
|
|
SECTION: [
|
|
{
|
|
TEXT_LEAF: [],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
testAccessibleTree(accessible, tree);
|
|
}
|
|
|
|
addAccessibleTask(
|
|
"e10s/doc_treeupdate_visibility.html",
|
|
async function (browser, accDoc) {
|
|
let t3Container = findAccessibleChildByID(accDoc, "t3_container");
|
|
let t4Container = findAccessibleChildByID(accDoc, "t4_container");
|
|
|
|
await testTreeOnHide(
|
|
browser,
|
|
accDoc,
|
|
"t1_container",
|
|
"t1_parent",
|
|
{
|
|
SECTION: [
|
|
{
|
|
SECTION: [
|
|
{
|
|
SECTION: [{ TEXT_LEAF: [] }],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
SECTION: [
|
|
{
|
|
SECTION: [{ TEXT_LEAF: [] }],
|
|
},
|
|
],
|
|
}
|
|
);
|
|
|
|
await testTreeOnHide(
|
|
browser,
|
|
accDoc,
|
|
"t2_container",
|
|
"t2_grandparent",
|
|
{
|
|
SECTION: [
|
|
{
|
|
// container
|
|
SECTION: [
|
|
{
|
|
// grand parent
|
|
SECTION: [
|
|
{
|
|
SECTION: [
|
|
{
|
|
// child
|
|
TEXT_LEAF: [],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
SECTION: [
|
|
{
|
|
// child2
|
|
TEXT_LEAF: [],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
SECTION: [
|
|
{
|
|
// container
|
|
SECTION: [
|
|
{
|
|
// child
|
|
TEXT_LEAF: [],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
SECTION: [
|
|
{
|
|
// child2
|
|
TEXT_LEAF: [],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
}
|
|
);
|
|
|
|
await test3(browser, t3Container);
|
|
await test4(browser, t4Container);
|
|
|
|
await testTreeOnHide(
|
|
browser,
|
|
accDoc,
|
|
"t5_container",
|
|
"t5_subcontainer",
|
|
{
|
|
SECTION: [
|
|
{
|
|
// container
|
|
SECTION: [
|
|
{
|
|
// subcontainer
|
|
TABLE: [
|
|
{
|
|
ROW: [
|
|
{
|
|
CELL: [
|
|
{
|
|
SECTION: [
|
|
{
|
|
// child
|
|
TEXT_LEAF: [],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
SECTION: [
|
|
{
|
|
// container
|
|
SECTION: [
|
|
{
|
|
// child
|
|
TEXT_LEAF: [],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
}
|
|
);
|
|
|
|
await testTreeOnHide(
|
|
browser,
|
|
accDoc,
|
|
"t6_container",
|
|
"t6_subcontainer",
|
|
{
|
|
SECTION: [
|
|
{
|
|
// container
|
|
SECTION: [
|
|
{
|
|
// subcontainer
|
|
TABLE: [
|
|
{
|
|
ROW: [
|
|
{
|
|
CELL: [
|
|
{
|
|
TABLE: [
|
|
{
|
|
// nested table
|
|
ROW: [
|
|
{
|
|
CELL: [
|
|
{
|
|
SECTION: [
|
|
{
|
|
// child
|
|
TEXT_LEAF: [],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
SECTION: [
|
|
{
|
|
// child2
|
|
TEXT_LEAF: [],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
SECTION: [
|
|
{
|
|
// container
|
|
SECTION: [
|
|
{
|
|
// child
|
|
TEXT_LEAF: [],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
SECTION: [
|
|
{
|
|
// child2
|
|
TEXT_LEAF: [],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
}
|
|
);
|
|
},
|
|
{ iframe: true, remoteIframe: true }
|
|
);
|