- From: Glen Shires <gshires@google.com>
- Date: Sat, 13 Oct 2012 20:31:41 -0700
- To: olli@pettay.fi
- Cc: public-speech-api@w3.org
- Message-ID: <CAEE5bcijXvTNF9ets21Pu+2GPYkR6E_o5MpAz8=XniqWCmAbtw@mail.gmail.com>
OK, if no disagreement, I'll update the spec on Tuesday to remove "static" from all elements in interface SpeechSynthesis. Glen Shires On Sat, Oct 13, 2012 at 5:35 PM, Olli Pettay <Olli.Pettay@helsinki.fi>wrote: > On 10/14/2012 01:27 AM, Glen Shires wrote: > >> I agree. >> >> Also, is there any reason not to remove "static" from the following? If >> not, I propose removing it here too. >> >> static readonly attribute boolean pending; >> static readonly attribute boolean speaking; >> static readonly attribute boolean paused; >> >> static SpeechSynthesisVoiceList getVoices(); >> >> > Right. I'd be surprised if anything needs to be 'static' > > > > Glen Shires >> >> >> On Sat, Oct 13, 2012 at 7:56 AM, Olli Pettay <Olli.Pettay@helsinki.fi<mailto: >> Olli.Pettay@helsinki.**fi <Olli.Pettay@helsinki.fi>>> wrote: >> >> static void speak(SpeechSynthesisUtterance utterance); >> static void cancel(); >> static void pause(); >> static void resume(); >> >> Those shouldn't be static. >> >> >> >> >> >> >> On 10/12/2012 01:42 PM, Olli Pettay wrote: >> >> On 10/12/2012 04:41 AM, Glen Shires wrote: >> >> I propose the following change to the SpeechSynthesis IDL to >> use a callback instead of events. It doesn't change functionality, but does >> make the IDL >> more well-defined and conventional. (The current IDL breaks >> platform conventions, because the speak() method makes a copy of utterance, >> and thus >> event.target cannot be properly defined, nor can >> addEventListener be used in the conventional manner.) The >> SpeechSynthesisEvent object is >> renamed SpeechSynthesisUpdate (because it is no longer an >> event, but rather a callback). If there's no disagreement, I'll update the >> spec >> with this >> on Monday. >> >> callback SpeechSynthesisCallback = void >> (SpeechSynthesisUpdate update); >> >> interface SpeechSynthesis { >> ... >> static void speak(SpeechSynthesisUtterance utterance, >> SpeechSynthesisCallback callback); >> }; >> >> interface SpeechSynthesisUpdate { >> enum UpdateType { >> "start", >> "end", >> "pause", >> "resume", >> "mark", >> "boundary", >> "error" >> }; >> readonly attribute UpdateType type; >> readonly attribute unsigned long charIndex; >> readonly attribute float elapsedTime; >> readonly attribute DOMString name; >> }; >> >> /Glen Shires >> >> >> Looks odd to me. >> >> Shouldn't it be >> interface SpeechSynthesis : EventTarget >> { >> void speak(SpeechSynthesisUtterance utterance); >> EventHandler onspeak; >> } >> >> That way one doesn't need to pass callback to the speak method >> all the time. >> Just registering once is enough. >> >> >> >> >> -Olli >> >> >> >> >
Received on Sunday, 14 October 2012 03:32:49 UTC