Re: SpeechSynthesisCallback

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>> 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 00:36:05 UTC