[webkit-dev] Proposed Timer API
Geoffrey Garen
ggaren at apple.com
Fri Oct 3 11:15:49 PDT 2008
Hi Chris.
> I really like the idea of a Timer object. It would allow you to
> separate creation from starting, allows you to pause and add other
> API's to the interface. Can the constructor be used to simplify the
> creation:
>
> var t = new Timer(0, false, function() { ...});
>
> which would start the timer immediately, as in your example.
I think Maciej has made a convincing case that "new Timer" is a bit
too coy about the fact that the timer is actually starting.
> Or you could do:
>
> var t = new Timer(function() { ... });
> ...
> t.startOneShot(1.76);
I like your suggestion of adding "startOneShot" (and
"startRepeating"?) to the API. I think it would improve clarity over a
bool parameter specifying whether the timer repeats.
To create a Timer that isn't scheduled to fire:
new Timer(...)
To create a Timer that is scheduled to fire:
new Timer(...).startOneShot(...)
new Timer(...).startRepeating(...)
Or, if we don't like constructors:
createTimer(...).startOneShot(...)
createTimer(...).startRepeating(...)
> And you could easily add animation or media API's for synchronization:
>
> var t = new Timer(1.76, function() { ... }); // when the timer is
> triggered, it will run for 1.76 seconds
> var transition = window.getTransitionForElement(element, "left");
> transition.trigger(t);
> ...
> element.style.left = "100px";
>
> This would cause the timer to start when the left transition starts
> and fire its event 1.76 seconds later.
This would be really cool!
Geoff
More information about the webkit-dev
mailing list