mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 11:15:34 +00:00
9ddc3e7c1a
Also reworked test_recreation.html to test/demo how these ergonomics would work. Differential Revision: https://phabricator.services.mozilla.com/D40124 --HG-- rename : accessible/tests/browser/events.js => accessible/tests/mochitest/promisified-events.js extra : moz-landing-system : lando
484 lines
20 KiB
HTML
484 lines
20 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Tests AccessFu content integration</title>
|
|
<meta charset="utf-8" />
|
|
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
|
|
|
|
<script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js">
|
|
</script>
|
|
<script src="chrome://mochikit/content/chrome-harness.js">
|
|
</script>
|
|
|
|
<script type="application/javascript" src="../common.js"></script>
|
|
<script type="application/javascript" src="../browser.js"></script>
|
|
<script type="application/javascript" src="../promisified-events.js"></script>
|
|
<script type="application/javascript" src="../role.js"></script>
|
|
<script type="application/javascript" src="../states.js"></script>
|
|
<script type="application/javascript" src="../layout.js"></script>
|
|
<script type="application/javascript" src="jsatcommon.js"></script>
|
|
|
|
<script type="application/javascript">
|
|
async function testSimpleNavigation(doc, runner) {
|
|
let evt;
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Phone status bar"]);
|
|
runner.isFocused("html");
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
is(evt.exitView, "movePrevious");
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Back", "button"]);
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["such app", "wow", "heading level 1"]);
|
|
runner.isFocused("iframe");
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventInfoMatches(evt, { checked: false });
|
|
runner.eventTextMatches(evt, ["many option", "check button", "First item", "list", "1 item"]);
|
|
|
|
evt = await runner.activateCurrent(0,
|
|
AndroidEvents.VIEW_CLICKED);
|
|
is(evt.checked, true, "checkbox is checked");
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["many option"]);
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["much range", "label"]);
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["much range", "5", "slider"]);
|
|
|
|
expectedMsg = runner.androidEvent("todo.value-changed");
|
|
runner.androidScrollBackward();
|
|
evt = await expectedMsg;
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Home", "button"]);
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["apple", "button"]);
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventInfoMatches(evt, { checked: false });
|
|
runner.eventTextMatches(evt, ["Light", "switch"]);
|
|
|
|
evt = await runner.activateCurrent(0,
|
|
AndroidEvents.VIEW_CLICKED);
|
|
is(evt.checked, true, "checkbox is checked");
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["slider", "0", "slider", "live"]);
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventInfoMatches(evt, { checked: true });
|
|
runner.eventTextMatches(evt, ["Light", "switch"]);
|
|
|
|
evt = await runner.activateCurrent(0,
|
|
AndroidEvents.VIEW_CLICKED);
|
|
is(evt.checked, false, "checkbox is checked");
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["apple", "button"]);
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Home", "button"]);
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["such app", "much range", "4", "slider"]);
|
|
|
|
expectedMsg = runner.androidEvent("todo.value-changed");
|
|
runner.androidScrollForward();
|
|
evt = await expectedMsg;
|
|
|
|
expectedMsg = runner.androidEvent("todo.value-changed");
|
|
runner.androidScrollBackward();
|
|
evt = await expectedMsg;
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["much range", "label"]);
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["many option", "label", "First item", "list", "1 item"]);
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventInfoMatches(evt, { checked: true });
|
|
runner.eventTextMatches(evt, ["many option", "check button"]);
|
|
|
|
evt = await runner.activateCurrent(0,
|
|
AndroidEvents.VIEW_CLICKED);
|
|
is(evt.checked, false, "checkbox is checked");
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["wow", "heading level 1"]);
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Back", "button"]);
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Phone status bar"]);
|
|
|
|
// Reached top
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
is(evt.exitView, "movePrevious");
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Back", "button"]);
|
|
|
|
// Moving to the absolute last item from an embedded document
|
|
// fails. Bug 972035.
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["such app", "wow", "heading level 1"]);
|
|
|
|
// Move from an inner frame to the last element in the parent doc
|
|
|
|
evt = await runner.moveLast("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["much range", "4", "slider"]);
|
|
|
|
await runner.clearCursor();
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Phone status bar"]);
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Back", "button"]);
|
|
|
|
evt = await runner.moveNext("FormElement",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventInfoMatches(evt, { checked: false });
|
|
runner.eventTextMatches(evt, ["such app", "many option", "check button", "First item", "list", "1 item"]);
|
|
|
|
evt = await runner.moveNext("FormElement",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["much range", "4", "slider"]);
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["much range", "label"]);
|
|
|
|
evt = await runner.movePrevious("FormElement",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventInfoMatches(evt, { checked: false });
|
|
runner.eventTextMatches(evt, ["many option", "check button", "First item", "list", "1 item"]);
|
|
|
|
evt = await runner.movePrevious("FormElement",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Back", "button"]);
|
|
|
|
await runner.clearCursor();
|
|
|
|
|
|
// Moving to the absolute first item from an embedded document
|
|
// fails. Bug 972035.
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Phone status bar"]);
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Back", "button"]);
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["such app", "wow", "heading level 1"]);
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventInfoMatches(evt, { checked: false });
|
|
runner.eventTextMatches(evt, ["many option", "check button", "First item", "list", "1 item"]);
|
|
|
|
evt = await runner.moveFirst("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
todo_is(evt.text[0], "Phone status bar");
|
|
|
|
await runner.clearCursor();
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Phone status bar"]);
|
|
|
|
evt = await runner.focusSelector("button#fruit",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["apple", "button"]);
|
|
|
|
// Current virtual cursor's position's name changes
|
|
expectedMsg = runner.androidEvent("todo.name-changed");
|
|
doc.getElementById("fruit").setAttribute("aria-label", "banana");
|
|
evt = await expectedMsg;
|
|
|
|
// Name and value changes inside a live-region (no cursor present)
|
|
expectedMsg = runner.androidEvent("todo.name-changed");
|
|
doc.getElementById("slider").setAttribute("aria-label", "mover");
|
|
evt = await expectedMsg;
|
|
|
|
expectedMsg = runner.androidEvent("todo.value-changed");
|
|
doc.getElementById("slider").setAttribute("aria-valuenow", "5");
|
|
doc.getElementById("slider").setAttribute("aria-valuetext", "medium");
|
|
evt = await expectedMsg;
|
|
|
|
// Blur button and reset cursor
|
|
runner.blur();
|
|
await runner.clearCursor();
|
|
|
|
// Move cursor with focus in outside document
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Phone status bar"]);
|
|
|
|
evt = await runner.focusSelector("button#home",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Home", "button"]);
|
|
|
|
// Blur button and reset cursor
|
|
runner.blur();
|
|
await runner.clearCursor();
|
|
|
|
// Set focus on element outside of embedded frame while cursor is in frame
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Phone status bar"]);
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Back", "button"]);
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["such app", "wow", "heading level 1"]);
|
|
|
|
evt = await runner.focusSelector("button#home",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Home", "button"]);
|
|
|
|
// Blur button and reset cursor
|
|
runner.blur();
|
|
await runner.clearCursor();
|
|
|
|
// XXX: Set focus on iframe itself.
|
|
// XXX: Set focus on element in iframe when cursor is outside of it.
|
|
// XXX: Set focus on element in iframe when cursor is in iframe.
|
|
|
|
// aria-hidden element that the virtual cursor is positioned on
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Phone status bar"]);
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Back", "button"]);
|
|
|
|
evt = await runner.expectAndroidEvents(() => {
|
|
doc.getElementById("back").setAttribute("aria-hidden", true);
|
|
}, AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["such app", "wow", "heading level 1"]);
|
|
|
|
// Changing aria-hidden attribute twice and making sure that the event
|
|
// is fired only once when the actual change happens.
|
|
doc.getElementById("back").setAttribute("aria-hidden", true);
|
|
let onShow = waitForEvent(EVENT_SHOW, doc.getElementById("back"));
|
|
doc.getElementById("back").setAttribute("aria-hidden", false);
|
|
await onShow;
|
|
|
|
evt = await runner.movePrevious("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Back", "button"]);
|
|
await runner.clearCursor();
|
|
|
|
// aria-hidden on the iframe that has the vc.
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Phone status bar"]);
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Back", "button"]);
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["such app", "wow", "heading level 1"]);
|
|
|
|
evt = await runner.expectAndroidEvents(() => {
|
|
doc.getElementById("iframe").setAttribute("aria-hidden", true);
|
|
}, AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Home", "button"]);
|
|
|
|
onShow = waitForEvent(EVENT_SHOW, doc.getElementById("iframe"));
|
|
doc.getElementById("iframe").setAttribute("aria-hidden", false);
|
|
await onShow;
|
|
await runner.clearCursor();
|
|
|
|
// aria-hidden element and auto Move
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Phone status bar"]);
|
|
|
|
doc.getElementById("back").setAttribute("aria-hidden", true);
|
|
evt = await runner.focusSelector("button#back",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["such app", "wow", "heading level 1"]);
|
|
|
|
onShow = waitForEvent(EVENT_SHOW, doc.getElementById("back"));
|
|
doc.getElementById("back").setAttribute("aria-hidden", false);
|
|
await onShow;
|
|
runner.blur();
|
|
await runner.clearCursor();
|
|
|
|
// Open dialog in outer doc, while cursor is also in outer doc
|
|
evt = await runner.moveLast("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "mover", "medium", "slider", "live"]);
|
|
|
|
evt = await runner.expectAndroidEvents(() => {
|
|
doc.getElementById("alert").hidden = false;
|
|
}, AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["This is an alert!", "heading level 1", "dialog"]);
|
|
|
|
evt = await runner.expectAndroidEvents(() => {
|
|
doc.getElementById("alert").hidden = true;
|
|
}, AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "mover", "medium", "slider", "live"]);
|
|
|
|
await runner.clearCursor();
|
|
|
|
// Open dialog in outer doc, while cursor is in inner frame
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Phone status bar"]);
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Back", "button"]);
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["such app", "wow", "heading level 1"]);
|
|
evt = await runner.expectAndroidEvents(() => {
|
|
doc.getElementById("alert").hidden = false;
|
|
}, AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["This is an alert!", "heading level 1", "dialog"]);
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Do you agree?"]);
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Yes", "button"]);
|
|
|
|
evt = await runner.activateCurrent(0,
|
|
AndroidEvents.VIEW_CLICKED,
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt[1], ["such app", "wow", "heading level 1"]);
|
|
|
|
await runner.clearCursor();
|
|
|
|
// Open dialog, then focus on something when closing
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Phone status bar"]);
|
|
evt = await runner.expectAndroidEvents(() => {
|
|
doc.getElementById("alert").hidden = false;
|
|
}, AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["This is an alert!", "heading level 1", "dialog"]);
|
|
|
|
evt = await runner.expectAndroidEvents(() => {
|
|
doc.getElementById("alert").hidden = true;
|
|
doc.querySelector("button#home").focus();
|
|
}, AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["Traversal Rule test document", "Home", "button"]);
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["banana", "button"]);
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventInfoMatches(evt, { checked: false });
|
|
runner.eventTextMatches(evt, ["Light", "switch"]);
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
runner.eventTextMatches(evt, ["mover", "medium", "slider", "live"]);
|
|
|
|
evt = await runner.moveNext("Simple",
|
|
AndroidEvents.VIEW_ACCESSIBILITY_FOCUSED);
|
|
is(evt.exitView, "moveNext", "Reached end of content");
|
|
}
|
|
|
|
function doTest() {
|
|
var doc = currentTabDocument();
|
|
var iframe = doc.createElement("iframe");
|
|
iframe.id = "iframe";
|
|
iframe.mozbrowser = true;
|
|
iframe.addEventListener("mozbrowserloadend", function() {
|
|
addA11yLoadEvent(async function() {
|
|
let runner = new AccessFuContentTestRunner();
|
|
await runner.start();
|
|
|
|
await testSimpleNavigation(doc, runner);
|
|
|
|
runner.finish();
|
|
closeBrowserWindow();
|
|
SimpleTest.finish();
|
|
}, doc.defaultView);
|
|
});
|
|
iframe.src = "data:text/html;charset=utf-8," + doc.defaultView.frameContents;
|
|
doc.getElementById("appframe").appendChild(iframe);
|
|
}
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
addLoadEvent(
|
|
function() {
|
|
openBrowserWindow(
|
|
function() {
|
|
SpecialPowers.pushPrefEnv({
|
|
"set": [
|
|
// TODO: remove this as part of bug 820712
|
|
["network.disable.ipc.security", true],
|
|
|
|
|
|
["dom.ipc.browser_frames.oop_by_default", true],
|
|
["dom.mozBrowserFramesEnabled", true],
|
|
["browser.pagethumbnails.capturing_disabled", true],
|
|
],
|
|
}, doTest);
|
|
},
|
|
getRootDirectory(window.location.href) + "doc_content_integration.html");
|
|
});
|
|
</script>
|
|
</head>
|
|
<body id="body">
|
|
|
|
<a target="_blank"
|
|
title="Add tests for OOP message handling and general integration"
|
|
href="https://bugzilla.mozilla.org/show_bug.cgi?id=1459677">Mozilla Bug 1459677</a>
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none"></div>
|
|
<pre id="test">
|
|
</pre>
|
|
</body>
|
|
</html>
|