W3C HTML Canvas 2D Context Candidate Recommendation Features at Risk

This document last updated 4 November, 2013

This is status for the HTML Canvas 2D Context Candidate Recommendation .

Items have been tagged as having tests are based on tests listed at http://w3c-test.org/web-platform-tests/master/2dcontext/ and at the test authors site http://philip.html5.org/tests/canvas/suite/tests/. Items tagged as interoperable are based on observation of features on Chrome, Firefox, Internet Explorer, and Opera websites, as well as webplatform.org. Items that do not have tests or implementations are flagged and unless implemented, will be dropped for the final spec.

Considered interoperable (tests and implementation)
No implementations or tests
Has Implementations - needs tests
Table of Contents
1. Conformance requirements.
a. canvas
2. State
a. Save()
b.  Restore()
3. DrawingStyle objects
a. DrawingStyle object
4. Line styles
a. lineWidth
b.  lineCap
c. lineJoin
d.  miterLimit
e.  setLineDash()
f.  getLineDash()
g. lineDashOffset
5. Text styles
a. font
b.  textAlign
c. textBaseline
6. Building Paths
a. moveTo()
b.  closePath()
c. lineTo()
d.  quadraticCurveTo()
e.  bezierCurveTo()
f.  arcTo()
g. arc()
h.  rect()
i.   ellipse() 
7. Path Objects 
a. path object
b.  addPath()
c. addPathByStrokingPath()
d.  addText()   - 2 varients
e.  addPathByStrokingText() -  2 varients
f.  drawSystemFocusRing() - with path object
g. drawCustomFocusRing() - with path object
h.  scrollPathIntoView() - with path object
8. Transformations
a. scale()
b.  rotate()
c. translate()
d.  transform()
e.  setTransform()
9. Fill and stroke styles
a. fillStyle
b.  strokeStyle
c. addColorStop()
d.  createLinearGradient()
e.  createRadialGradient()
f.  createPattern()
10.   Drawing rectangles to the canvas
a. clearRect()
b.  fillRect()
c. strokeRect()
11.   Drawing text to the canvas
a. fillText()
b.  strokeText()
c. measureText()
 i.  width
 ii.  actualBoundingBoxLeft
 iii.  actualBoundingBoxRight
 iv.  fontBoundingBoxAscent
 v.  fontBoundingBoxDecent
 vi.  emHeightAscent
vii.  hangingBaseline
 viii.  alphabetBaseline
 ix.  ideographicBaseline
12.   Drawing paths to the canvas
a. beginPath()
b.  fill()
c. stroke()
d.  drawSystemFocusRing()
e. drawCustomFocusRing()
f.  scrollPathIntoView()
g. clip()
h.  isPointInPath()
13.   Drawing images to the canvas
a. drawImage()
14.   Hit regions
a. addHitRegion()
b.  path()
c. id()
d.  parentID()
e.  cursor()
f.  control()
g. label()
h.  roll()
i.   removeHitRegion()
j.  region
15.   Pixel manipulation
a. ImageData object
b.  createImageData()
c. getImageData()
d.  width
e.  height
f.  data
g. putImageData()
16.   Compositing
a. globalAlpha
b.  globalCompositeOperation
17.   Shadows
a. shadowColor
b.  shadowOffsetX
c. shadowOffsetY
d.  shadowBlur
18.   Drawing model
19.   Best practices
20.   Examples