SVG12: Timer and createTimer()

Dear Scalable Vector Graphics Working Group, defines
the Timer interface and the associated createTimer() method. I tried to
implement these, but failed due to the following issues. Please change
the draft such that the following is well-defined.

It is not clear what state the Timer is in directly after creating it,
e.g., whether it is running or waiting, and what .delay and .interval
are set to. These seem to be uninitialized in which case I would not
know how the Timer should behave when started.

It is not clear to me whether stopping the timer between starting it
and dispatching the initial timer event would prevent dispatching the
timer event. It seems that yes, that would prevent it, so .running needs
to be checked before dispatching the event. This is however not clear
from the draft.

It is not clear to me when .delay is significant when the timer got re-
started. It seems to me the delay should be from the start of the timer,
not from some undefined "first execution".

I note that the word "execution" does not fit well into this model, the
Timer just generates events at specific points in time, which would then
cause event listeners to get triggered.

The event flow inside the Timer is not clear to me, it seems events only
ever accomplish the target phase, but the draft does not say.

It is not clear to me how implementations determine when to dispatch the
timer event time if .delay or .interval are modified after the timer has
been started, of how stopping and restarting the timer affects this.

Finally, assuming that .start() might have any signifance relative to
the issues above, it is not clear to me what the effect of calling start
on an already started timer is.

Björn Höhrmann · ·
Weinh. Str. 22 · Telefon: +49(0)621/4309674 ·
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · 

Received on Friday, 17 March 2006 12:55:53 UTC