1/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4 * You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * The origin of this IDL file is
7 * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
8 *
9 * Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
10 * liability, trademark and document use rules apply.
11 */
12
13[Constructor,
14 Pref="media.webspeech.recognition.enable",
15 Func="SpeechRecognition::IsAuthorized"]
16interface SpeechRecognition : EventTarget {
17    // recognition parameters
18    attribute SpeechGrammarList grammars;
19    attribute DOMString lang;
20    [Throws]
21    attribute boolean continuous;
22    attribute boolean interimResults;
23    attribute unsigned long maxAlternatives;
24    [Throws]
25    attribute DOMString serviceURI;
26
27    // methods to drive the speech interaction
28    [Throws, NeedsCallerType]
29    void start(optional MediaStream stream);
30    void stop();
31    void abort();
32
33    // event methods
34    attribute EventHandler onaudiostart;
35    attribute EventHandler onsoundstart;
36    attribute EventHandler onspeechstart;
37    attribute EventHandler onspeechend;
38    attribute EventHandler onsoundend;
39    attribute EventHandler onaudioend;
40    attribute EventHandler onresult;
41    attribute EventHandler onnomatch;
42    attribute EventHandler onerror;
43    attribute EventHandler onstart;
44    attribute EventHandler onend;
45};
46