diff options
author | Moonchild <moonchild@palemoon.org> | 2020-05-20 10:19:04 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-05-20 10:19:04 +0000 |
commit | 14f6f230d7545d3906a7fd72f3d4677f3b6503d8 (patch) | |
tree | 8d11d7cf5699af44e1a1d4536116c12628cbc445 /dom/media/webspeech/synth/test/common.js | |
parent | 750b4c3a11e6ed4d92598072899b02c549f17d26 (diff) | |
download | UXP-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.js | 91 |
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 |