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

Aaron Krajeski aaronhk at chromium.org
Sat May 1 10:07:57 PDT 2021


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://youtu.be/dfOKFSDG7IM

Summary

Updated functionality for the Canvas2D API. Adds nine new
features/functions to CanvasRenderingContext2D:

  - "ContextLost" and "ContextRestored" events

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

  - CSSColorValues as style inputs

  - More CSS text modifier support

  - A reset function

  - A roundRect draw primitive

  - Full 4x4 transformation matrices

  - Conic gradients

  - Better support for SVG filters
Contact emails

aaronhk at chromium.org, 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20210501/920ac317/attachment.htm>


More information about the webkit-dev mailing list