Re: Properties of Custom Paint

> On 20 May 2015, at 7:00 am, Robert O'Callahan <robert@ocallahan.org> wrote:
> 
> On Wed, May 20, 2015 at 2:25 AM, Ian Kilpatrick <ikilpatrick@chromium.org <mailto:ikilpatrick@chromium.org>> wrote:
> We wanted to start kicking off more discussions on the mailing list. As a starting point Shane & I sat down and wrote up what we think are the desirable properties of custom paint.
> 
> See https://gist.github.com/bfgeek/758b54a1cab65dff9d69 <https://gist.github.com/bfgeek/758b54a1cab65dff9d69>
> 
> Feel free to respond here, or directly on the gist.
> 
> I like those, FWIW.

Me too.

I would suggest adding, or rewording the footgun item, to have something more about performance. Setting a tainted flag to disallow readback helps some performance issues, but not all of them.

Given the current storyline on how the Web isn't performant enough compared to native, I think we should be especially mindful about adding API that could cause painting and rendering to stutter. Maybe there should be consideration for whether a callback that runs too long can block painting (e.g. the developer could choose that they prefer the content from the previous render in this case).

As I've said to Shane and Ian offline, I think that a variant on the element() feature can address many of the requirements for custom paint with a few API modifications (allowing it to be used in more places, in addition to default rendering, responding to layout updates, etc). We've found -webkit-canvas to be especially useful in this manner (we use it for the custom rendering of our scrubber bar in media controls).

Dean

Received on Wednesday, 20 May 2015 20:20:44 UTC