зеркало из https://github.com/mozilla/gecko-dev.git
57 строки
1.7 KiB
JavaScript
57 строки
1.7 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";
|
|
|
|
add_task(async function() {
|
|
// Making sure that the e10s is enabled on Windows for testing.
|
|
await setE10sPrefs();
|
|
|
|
await BrowserTestUtils.withNewTab(
|
|
{
|
|
gBrowser,
|
|
url: `data:text/html,
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<title>Accessibility Test</title>
|
|
</head>
|
|
<body></body>
|
|
</html>`,
|
|
},
|
|
async function(browser) {
|
|
info("Creating a service in content");
|
|
await loadContentScripts(browser, "Common.jsm");
|
|
// Create a11y service in the content process.
|
|
const [a11yInitObserver, a11yInit] = initAccService(browser);
|
|
await a11yInitObserver;
|
|
await SpecialPowers.spawn(browser, [], () => {
|
|
content.CommonUtils.accService;
|
|
});
|
|
await a11yInit;
|
|
ok(
|
|
true,
|
|
"Accessibility service is started in content process correctly."
|
|
);
|
|
|
|
info("Removing a service in content");
|
|
// Remove a11y service reference from the content process.
|
|
const [a11yShutdownObserver, a11yShutdown] = shutdownAccService(browser);
|
|
await a11yShutdownObserver;
|
|
// Force garbage collection that should trigger shutdown.
|
|
await SpecialPowers.spawn(browser, [], () => {
|
|
content.CommonUtils.clearAccService();
|
|
});
|
|
await a11yShutdown;
|
|
ok(
|
|
true,
|
|
"Accessibility service is shutdown in content process correctly."
|
|
);
|
|
|
|
// Unsetting e10s related preferences.
|
|
await unsetE10sPrefs();
|
|
}
|
|
);
|
|
});
|