[webkit-dev] Request for position: New Canvas 2D API

Simon Fraser simon.fraser at apple.com
Mon May 3 09:58:25 PDT 2021


> On May 1, 2021, at 10:07 AM, Aaron Krajeski via webkit-dev <webkit-dev at lists.webkit.org> wrote:
> 
> Hi webkit-dev,
> 
> This is a request for WebKit's position on New Canvas 2D API <https://github.com/fserb/canvas2D/blob/master/rationale.md> features. 
> 
> Explainer/Chrome Dev Summit Video
> https://github.com/fserb/canvas2d <https://github.com/fserb/canvas2d>
> https://youtu.be/dfOKFSDG7IM <https://youtu.be/dfOKFSDG7IM>
> 
> Summary
> Updated functionality for the Canvas2D API. Adds nine new features/functions to CanvasRenderingContext2D:
>   - "ContextLost" and "ContextRestored" events

Seems reasonable.

>   - "willReadFrequently" option for canvases where lots of readback is expected

Seems reasonable.

>   - CSSColorValues as style inputs

Seems reasonable (gated on Typed OM support).

>   - More CSS text modifier support

WebKit has already expressed support for the proposal.

>   - A reset function

We'e already expressed some concerns in the issue.

>   - A roundRect draw primitive

Seems reasonable.

>   - Full 4x4 transformation matrices

WebKit's architecture on macOS/iOS currently has no way to render these, so we don't support this proposal at this time.

>   - Conic gradients

Seems reasonable.

>   - Better support for SVG filters

Seems reasonable, although this would have performance implications in our current architecture.

Simon

> 
> Contact emails
> aaronhk at chromium.org <mailto:aaronhk at chromium.org>, fserb at chromium.org <mailto:fserb at chromium.org>
> 
> Spec and tests
>   - WHATWG spec in progress:
> 	Text Modifiers <https://github.com/whatwg/html/pull/6560>
> 	Filters <https://github.com/web-platform-tests/wpt>
> 	Perspective Transforms <https://github.com/whatwg/html/issues/5620>
> 	reset() <https://github.com/whatwg/html/issues/5618>
> 	CSSColorValue <https://github.com/whatwg/html/issues/5616>
> 	willReadFrequently <https://github.com/whatwg/html/issues/5614>
> 	RoundRect <https://github.com/whatwg/html/issues/5619>
> 	ConicGradient <https://github.com/whatwg/html/issues/5431>
> 	Context Loss <https://github.com/whatwg/html/issues/4809>
>   - MDN spec 
>          Conic gradient <https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createConicGradient>
> 	Text Modifiers <https://github.com/GoogleChromeLabs/puppy-content/pull/23> (via ChromeLabs/puppy-content)
>   - Web platform tests
> 	RoundRect	 <https://github.com/web-platform-tests/wpt/tree/7b0ebaccc62b566a1965396e5be7bb2bc06f841f/html/canvas/element/path-objects>
> 	reset() <https://github.com/web-platform-tests/wpt/tree/master/html/canvas/element/reset>
> 	Perspective Transforms <https://github.com/web-platform-tests/wpt/tree/master/html/canvas/element/transformations>
> 	Context Loss <https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/web_tests/fast/canvas/canvas-lost-gpu-context.html?q=f:web_tests%20canvas%20context%20lost&sq=package:chromium> (this is not testable on WPT)
> 	Filters <https://github.com/web-platform-tests/wpt/tree/master/html/canvas/element/shadows>
> 	CSSColorValue Input <https://chromium-review.googlesource.com/c/chromium/src/+/2794982>
> 	WillReadFrequently <https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/web_tests/fast/canvas/OffscreenCanvas-2d-willReadFrequently.html?q=f:web_tests%20canvas%20willreadfrequently&sq=package:chromium> (testable in WPT, work in progress to add tests there)
> 	Conic Gradient <https://github.com/web-platform-tests/wpt/blob/master/html/canvas/element/fill-and-stroke-styles/2d.gradient.conic.html>
> 	Text Modifiers <https://github.com/web-platform-tests/wpt/tree/master/html/canvas/element/drawing-text-to-the-canvas>
>   - Chrome Status <https://chromestatus.com/feature/6051647656558592>
> 
> Look forward to hearing your feedback!
> 
> Cheers!
>   Aaron
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20210503/1c88b0e7/attachment.htm>


More information about the webkit-dev mailing list