← back to v155 · predefinedcolorspace-srgb-linear-and-display-p3-linear

conformance · v155

v155 · predefinedcolorspace-srgb-linear-and-display-p3-linear — conformance probe

8 assertions drawn from the spec. Each is a single contract the spec text makes. Pass/fail reflects what this browser executed; blocked means the contract was not run because it needs user mediation, hardware, or another unavailable precondition. Open the page in Chrome stable / canary / Firefox / Safari to compare.

browser: spec: https://html.spec.whatwg.org/multipage/canvas.html#colour-spaces-and-colour-correction chromestatus: #5122501071994880 generated 2026-09-20T00:00:00Z by claude-fable-5-v155-canvas-linear-build
0
pass
0
fail
0
blocked
8
total
id contract kind verdict detail
context-srgb-linear-round-trips getContext('2d', { colorSpace: 'srgb-linear' }) creates a context whose getContextAttributes().colorSpace reads back 'srgb-linear'. spec ↗ script
context-display-p3-linear-round-trips getContext('2d', { colorSpace: 'display-p3-linear' }) creates a context whose getContextAttributes().colorSpace reads back 'display-p3-linear'. spec ↗ script
imagedata-srgb-linear-constructs new ImageData(1, 1, { colorSpace: 'srgb-linear' }) constructs and its colorSpace property reads back 'srgb-linear'. spec ↗ script
imagedata-display-p3-linear-constructs new ImageData(1, 1, { colorSpace: 'display-p3-linear' }) constructs and its colorSpace property reads back 'display-p3-linear'. spec ↗ script
getimagedata-converts-into-srgb-linear getImageData(..., { colorSpace: 'srgb-linear' }) on an srgb canvas returns an ImageData tagged srgb-linear whose mid-grey bytes are lower than the gamma-encoded source bytes (linear-light conversion actually happened). spec ↗ script
unknown-enum-value-throws Per WebIDL enum semantics, an unknown PredefinedColorSpace value passed to getContext must throw a TypeError, not be silently ignored. spec ↗ throws
pre-existing-display-p3-still-round-trips The pre-existing enum values remain intact: getContext('2d', { colorSpace: 'display-p3' }) still reads back 'display-p3' alongside the new linear values. spec ↗ script
linear-gradient-midpoint-preserves-light On an srgb-linear canvas, a red-to-green gradient's midpoint read back as srgb bytes is brighter than the gamma-interpolated midpoint (interpolation really runs in linear light). spec ↗ script