summaryrefslogtreecommitdiffstats
path: root/dom/media/webspeech/synth/test/common.js
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2020-05-20 10:19:04 +0000
committerMoonchild <moonchild@palemoon.org>2020-05-20 10:19:04 +0000
commit14f6f230d7545d3906a7fd72f3d4677f3b6503d8 (patch)
tree8d11d7cf5699af44e1a1d4536116c12628cbc445 /dom/media/webspeech/synth/test/common.js
parent750b4c3a11e6ed4d92598072899b02c549f17d26 (diff)
downloadUXP-14f6f230d7545d3906a7fd72f3d4677f3b6503d8.tar
UXP-14f6f230d7545d3906a7fd72f3d4677f3b6503d8.tar.gz
UXP-14f6f230d7545d3906a7fd72f3d4677f3b6503d8.tar.lz
UXP-14f6f230d7545d3906a7fd72f3d4677f3b6503d8.tar.xz
UXP-14f6f230d7545d3906a7fd72f3d4677f3b6503d8.zip
Issue #1538 - remove speech recognition engine
This removes speech recognition, pocketsphinx, training models and the speech automated test interface. This also re-establishes proper use of MOZ_WEBSPEECH to work for the speech API (synthesis part only) that was a broken mess before, with some synth parts being always built, some parts being built only with it enabled and recognition parts being dependent on it. I'm pretty sure it'd be totally busted if you'd ever have tried building without MOZ_WEBPEECH before. Tested that synthesis still works as-intended. This resolves #1538
Diffstat (limited to 'dom/media/webspeech/synth/test/common.js')
-rw-r--r--dom/media/webspeech/synth/test/common.js91
1 files changed, 0 insertions, 91 deletions
diff --git a/dom/media/webspeech/synth/test/common.js b/dom/media/webspeech/synth/test/common.js
deleted file mode 100644
index 0ce9ec51b..000000000
--- a/dom/media/webspeech/synth/test/common.js
+++ /dev/null
@@ -1,91 +0,0 @@
-function synthTestQueue(aTestArgs, aEndFunc) {
- var utterances = [];
- for (var i in aTestArgs) {
- var uargs = aTestArgs[i][0];
- var win = uargs.win || window;
- var u = new win.SpeechSynthesisUtterance(uargs.text);
-
- if (uargs.args) {
- for (var attr in uargs.args)
- u[attr] = uargs.args[attr];
- }
-
- function onend_handler(e) {
- is(e.target, utterances.shift(), "Target matches utterances");
- ok(!speechSynthesis.speaking, "speechSynthesis is not speaking.");
-
- if (utterances.length) {
- ok(speechSynthesis.pending, "other utterances queued");
- } else {
- ok(!speechSynthesis.pending, "queue is empty, nothing pending.");
- if (aEndFunc)
- aEndFunc();
- }
- }
-
- u.addEventListener('start',
- (function (expectedUri) {
- return function (e) {
- if (expectedUri) {
- var chosenVoice = SpecialPowers.wrap(e).target.chosenVoiceURI;
- is(chosenVoice, expectedUri, "Incorrect URI is used");
- }
- };
- })(aTestArgs[i][1] ? aTestArgs[i][1].uri : null));
-
- u.addEventListener('end', onend_handler);
- u.addEventListener('error', onend_handler);
-
- u.addEventListener('error',
- (function (expectedError) {
- return function onerror_handler(e) {
- ok(expectedError, "Error in speech utterance '" + e.target.text + "'");
- };
- })(aTestArgs[i][1] ? aTestArgs[i][1].err : false));
-
- utterances.push(u);
- win.speechSynthesis.speak(u);
- }
-
- ok(!speechSynthesis.speaking, "speechSynthesis is not speaking yet.");
- ok(speechSynthesis.pending, "speechSynthesis has an utterance queued.");
-}
-
-function loadFrame(frameId) {
- return new Promise(function(resolve, reject) {
- var frame = document.getElementById(frameId);
- frame.addEventListener('load', function (e) {
- frame.contentWindow.document.title = frameId;
- resolve(frame);
- });
- frame.src = 'data:text/html,' + encodeURI('<html><head></head><body></body></html>');
- });
-}
-
-function waitForVoices(win) {
- return new Promise(resolve => {
- function resolver() {
- if (win.speechSynthesis.getVoices().length) {
- win.speechSynthesis.removeEventListener('voiceschanged', resolver);
- resolve();
- }
- }
-
- win.speechSynthesis.addEventListener('voiceschanged', resolver);
- resolver();
- });
-}
-
-function loadSpeechTest(fileName, prefs, frameId="testFrame") {
- loadFrame(frameId).then(frame => {
- waitForVoices(frame.contentWindow).then(
- () => document.getElementById("testFrame").src = fileName);
- });
-}
-
-function testSynthState(win, expectedState) {
- for (var attr in expectedState) {
- is(win.speechSynthesis[attr], expectedState[attr],
- win.document.title + ": '" + attr + '" does not match');
- }
-} \ No newline at end of file