- From: L. David Baron <dbaron@dbaron.org>
- Date: Sat, 22 Aug 2015 19:05:09 +0200
- To: Benoit Girard <bgirard@mozilla.com>
- Cc: public-houdini@w3.org
- Message-ID: <20150822170509.GA21555@pescadero.dbaron.org>
On Friday 2015-08-21 17:51 -0400, Benoit Girard wrote:
> a) The spec says 'paint callbacks should be idempotent'. Should this
> feature allow for, say time based, animated properties? Is Date accessible
> from the PaintGlobalScope? This would interact with implementations such as
> immediate tile based painting where depending on the time API used it could
> drift between the first tile paint and the last. Currently the 'Paint
> Invalidation' section doesn't allow this but it might be a concern for
> forward compatibility.
I'd also add that I'm not sure that putting "must"-level conformance
requirements on Web content is useful. It might be more useful to
say that having paint callbacks not be idempotent will produce
implementation-dependent behavior. (Then again, it may also be
useful for testing.)
> d) What assumptions can the paint callback make about the canvas and what
> assumptions should it explicitly avoid making? For instance when doing
> immediate tile based rendering, say 256^2 tiles, of a large fragment say
> 1024^2 the user agent may want to fire 4 callbacks for each tile. Can the
> paintCallback make any assumptions about the canvas width/height,
> transformation and clip? This is closely related to partial-invalidation.
It also seems like the spec should say more about the initial state
of the canvas in general. It currently says only:
# Implicitly this means that there is no stored data, or state on
# the rendering context. For example you canβt setup a clip on the
# context, and expect the same clip to be applied next time the
# function is called.
whereas it seems like the initial state of the canvas ought to be
defined.
> j) PaintCallback is a callback. It looks like it would have access to the
> outer scopes. Web workers specify a script URL where it's clear that they
> don't have access to the outer scope. Should it match web workers?
I think the intent might be that PaintGlobalScope is a separate
something (realm?). But I think that is meant to imply that there's
shared state between all the callbacks, which I'm not sure is good
(as you point out in (l)); it seems like it would constrain
callbacks from being run on different threads.
-David
--
π L. David Baron http://dbaron.org/ π
π’ Mozilla https://www.mozilla.org/ π
Before I built a wall I'd ask to know
What I was walling in or walling out,
And to whom I was like to give offense.
- Robert Frost, Mending Wall (1914)
Received on Saturday, 22 August 2015 17:05:45 UTC