Re: SpeechSynthesisCallback

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