Intent to Extend Experiment: HTML-in-canvas

20 views
Skip to first unread message

Chromestatus

unread,
12:59 PM (3 hours ago) 12:59 PM
to blin...@chromium.org, chri...@chromium.org, foo...@chromium.org, p...@chromium.org, sche...@chromium.org, sza...@chromium.org
Contact emails
chri...@chromium.org, sche...@chromium.org, p...@chromium.org, sza...@chromium.org, foo...@chromium.org

Explainer
https://github.com/WICG/html-in-canvas

Specification
https://github.com/whatwg/html/pull/11588

Summary
HTML-in-canvas enables customizing the rendering of html using canvas with three new primitives: an attribute to opt-in canvas elements (layoutsubtree), methods to draw child elements (2d: drawElementImage, webgl: texElementImage2D, webgpu: copyElementImageToTexture), and a paint event which fires to handle updates.

Blink component
Blink>Canvas

Web Feature ID
canvas

TAG review
https://github.com/w3ctag/design-reviews/issues/1204

TAG review status
Pending

Origin Trial Name
html-in-canvas

Goals for experimentation
API shape

Chromium Trial Name
HTMLInCanvas

Origin Trial documentation link
https://github.com/WICG/html-in-canvas

WebFeature UseCounter name
kHTMLInCanvas

Goals for experimentation
None

Risks


Interoperability and Compatibility
This API exposes a small amount of new information which carries an interop risk, such as the pixels of gradients and form controls.

Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1076) Mozilla did not object to advancing the spec to stage 2 (consensus around rough API shape), and we are actively working to address their concerns about fingerprinting and compatibility.

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/630)

Web developers: Positive (https://github.com/whatwg/html/issues/10650#issuecomment-3324124682) We have positive signals from users of the DevTrial: https://github.com/whatwg/html/issues/10650#issuecomment-3324124682

Other signals:

Security
https://github.com/WICG/html-in-canvas?tab=readme-ov-file#privacy-preserving-painting

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No information provided


Reason this experiment is being extended
We have received substantial feedback, have made significant changes (WebGL/WebGPU APIs, privacy), and would like to continue collecting feedback. Draft spec: https://github.com/whatwg/html/pull/11588 TAG review: https://github.com/w3ctag/design-reviews/issues/1204 Signals requests: https://github.com/mozilla/standards-positions/issues/1076, https://github.com/WebKit/standards-positions/issues/630 Outreach for feedback from the spec community: https://github.com/whatwg/html/issues/10650 WPT tests: https://wpt.fyi/results/html/canvas/element/manual/draw-element-image

Ongoing technical constraints
No information provided

Debuggability
Content under canvas can be debugged like regular DOM content via devtools.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes

Is this feature fully tested by web-platform-tests?
Yes
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/wpt_internal/html/canvas/drawElementImage/

DevTrial instructions
https://github.com/WICG/html-in-canvas?tab=readme-ov-file#developer-trial-dev-trial-information

Flag name on about://flags
chrome://flags/#canvas-draw-element

Finch feature name
CanvasDrawElement

Requires code in //chrome?
False

Tracking bug
https://crbug.com/500967896

Measurement
HTMLInCanvas UseCounter

Estimated milestones
Origin trial desktop first148
Origin trial desktop last150
Origin trial extension 1 end milestone154
DevTrial on desktop138
Origin trial Android first148
Origin trial Android last150
DevTrial on Android138
Origin trial WebView first148
Origin trial WebView last150


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5172548013916160?gate=5154315363811328

Links to previous Intent discussions
Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a473b17f-def6-4bb7-85ee-344947c5ecabn%40chromium.org
Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/t_nGEmJ_v4s


This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages