SpeechSynthesisCallback

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

Received on Friday, 12 October 2012 01:42:13 UTC