- Comparison of layout engines (HTML5 Canvas)
-
HTML - HTML and HTML5
- Dynamic HTML
- XHTML
- XHTML Mobile Profile and C-HTML
- Canvas element
- Character encodings
- Document Object Model
- Font family
- HTML editor
- HTML element
- HTML Frames
- HTML5 video
- HTML scripting
- Web browser engine
- Quirks mode
- Style sheets
- Unicode and HTML
- W3C and WHATWG
- Web colors
- Web Storage
- Comparison of
- document markup languages
- web browsers
- layout engines for
- HTML
- HTML5
- HTML5 Canvas
- HTML5 Media
- Non-standard HTML
- XHTML (1.1)
The following tables compare support for the drawing APIs of the Canvas element, a feature of HTML5. These tables compare native support by web browsers, without any plugins, add-ons or ECMAScript workarounds.
Contents
Explanation of the tables
Engine nomenclature
Rather than the names of web browsers, the names of the underlying engines are used. The browsers that use the various engines are listed below.
Layout engine Release version Preview version Used by Amaya 11.3.1 11.3-pre Amaya Gecko 6.0.2 8.0a2 All Mozilla software, including Firefox; SeaMonkey and Galeon; Camino; K-Meleon; Flock (up to 2.x); Epiphany-gecko; Debian IceWeasel; GNU IceCat (formerly GNU IceWeasel); Icedove, Iceape and Iceowl; Fennec KHTML N/A Konqueror Presto 2.9.168 2.9.168 Opera; Opera Mobile, Nintendo DS & DSi Browser; Internet Channel Prince 7.1 N/A Prince XML Tasman (IE 5.2.3 for Mac) none (aborted in 2003) Internet Explorer 5+ for Mac OS X Trident 5.0 (IE 9) 6.0 (IE 10) Internet Explorer and other Internet Explorer shells like Maxthon (Microsoft Windows operating systems only), Windows Phone 7 WebKit 534.20 r83424 Safari (both desktop and mobile), Google Chrome, Maxthon 3, Shiira, iCab 4, OmniWeb 5.5+, Epiphany, Adobe AIR, Midori, Adobe Dreamweaver CS4 and CS5, Android browser, Palm webOS browser, Symbian S60 browser, OWB, Steam, Rekonq, Arora, Flock (version 3+), RockMelt Values
Values indicate the level of support in the most recent version of the layout engine, or (if a version number is given) in the specified version. Version numbers without any other value indicate the version at which the layout engine first fully supported the feature.
Value Meaning Yes Indicates that the layout engine fully supports this property/element when valid values are used. No Indicates that the property/element is completely ignored. Partial Indicates that the property/element is understood, but that not all values are supported. Supported values are implemented correctly. Incorrect Indicates that the property/element is understood, but that it is not implemented correctly in all cases. Experimental Indicates that the property/element is understood, but supported under an alternate name. May be incomplete or buggy. Dropped Indicates that the property/element is no longer supported. Nightly build Indicates that the property/element is supported to some extent in an experimental/nightly build. Future support is expected. Depends Indicates that the property/element is supported only on certain platforms, or if certain settings are configured. Canvas functions
Trident Gecko WebKit Presto getContext
5.0 1.8 Yes 2.0 toDataURL
1.8[g 1] Yes[w 1] 2.1[note 1] Supported contexts
Trident Gecko WebKit Presto 2d
5.0 1.9.1 Partial 2.6 WebGL No Depends[g 2] Depends[w 2] 2.9.220[p 1] Canvas Rendering Context 2D
Trident[t 1] Gecko[g 3] WebKit[w 3] Presto[p 2][p 3] The canvas state save
5.0 1.8 Yes 2.0 restore
Transformations scale
5.0 1.8 Yes 2.0 rotate
translate
transform
2.6[note 2][p 4][p 5][p 6] setTransform
2.6[note 2] Compositing globalAlpha
5.0 1.8 Yes 2.0 globalCompositeOperation
Colors and styles strokeStyle
5.0 1.8 Yes 2.0 fillStyle
createLinearGradient
createRadialGradient
createPattern
Line styles lineWidth
5.0 1.8 Yes 2.0 lineCap
lineJoin
miterLimit
Shadows shadowOffsetX
5.0 1.9.1[g 4] Yes 2.4[note 3] shadowOffsetY
shadowBlur
shadowColor
Simple shapes clearRect
5.0 1.8 Yes 2.0 fillRect
strokeRect
Complex shapes beginPath
5.0 1.8 Yes 2.0 closePath
moveTo
lineTo
quadraticCurveTo
1.8.1[note 4] bezierCurveTo
1.8 arcTo
1.8.1[g 5] rect
1.8 arc
fill
stroke
clip
isPointInPath
Focus management drawFocusRing
No No[g 6] No No Text font
5.0 1.9.1[note 5] Yes No textAlign
2.6 textBaseline
fillText
strokeText
measureText
Images drawImage
5.0 1.8 Yes 2.0 createImageData
1.9.1[g 8][g 9] 2.7[p 7] getImageData
1.9[g 9] 2.6[note 2] putImageData
2.0[g 10][g 9] Notes
- ^ Presto 2.0 had partial support for this property.
- ^ a b c Opera 9.5(Presto 2.1) support table claims support for this, but support tables for Presto 2.1.1 up to 2.5 indicate that this property is not supported.
- ^ Prior to version 2.4, Presto only had partial support for this property.
- ^ Incorrect in Gecko 1.8
- ^ Gecko had experimental support in version 1.9, with different names.[g 7]
References
Trident references
Gecko references
- ^ https://developer.mozilla.org/en/HTML/Element/canvas
- ^ WebGL - MDC, Mozilla, https://developer.mozilla.org/en/WebGL
- ^ Canvas tutorial - MDC, https://developer.mozilla.org/en/Canvas_tutorial
- ^ Bug 310682 - Implement shadows for <html:canvas>, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=310682
- ^ Bug 333613 – update canvas on branch, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=333613
- ^ Bug 540456 - Support HTML5 canvas drawFocusRing(), Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=540456
- ^ Bug 436904 - implementing Canvas text spec, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=436904
- ^ Bug 433004 - Support canvas.getContext("2d").createImageData(), Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=433004
- ^ a b c Pixel manipulation with canvas - MDC, https://developer.mozilla.org/en/html/canvas/pixel_manipulation_with_canvas
- ^ Bug 498826 - canvas putImageData doesn't implement optional arguments, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=498826
Webkit references
- ^ WebKit DOM Programming Topics: Using the Canvas, http://developer.apple.com/safari/library/documentation/appleapplications/conceptual/SafariJSProgTopics/Tasks/Canvas.html
- ^ Marrin, Chris (2009-10-19), WebGL Now Available in WebKit Nightlies, Surfin' Safari, http://webkit.org/blog/603/webgl-now-available-in-webkit-nightlies/
- ^ WebKit DOM reference - CanvasRenderingContext2D, http://developer.apple.com/safari/library/documentation/appleapplications/Reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html#//apple_ref/js/cl/CanvasRenderingContext2D
Presto references
- ^ Opera Desktop Team Blog, http://my.opera.com/desktopteam/blog/2011/10/13/introducing-opera-12-alpha
- ^ Opera 9 canvas support, http://www.opera.com/docs/specs/opera9/canvas/
- ^ Opera 9.5 canvas support, http://www.opera.com/docs/specs/opera95/canvas/
- ^ Presto 2.1.1 canvas support table, http://www.opera.com/docs/specs/presto211/canvas/
- ^ Presto 2.5 canvas support table, http://www.opera.com/docs/specs/presto25/canvas/
- ^ Presto 2.6 canvas support table, http://www.opera.com/docs/specs/presto26/canvas/
- ^ Web specifications support in Opera Presto 2.7 - Core Milestone additions since Opera Presto 2.6, http://www.opera.com/docs/specs/presto27/#changes
External links
- Canvas 2D API Specification 1.0, W3C, 2009-10-21, http://dev.w3.org/html5/canvas-api/canvas-2d-api.html
- HTML Canvas 2D Context (W3C Editor's Draft), W3C, 2010-07-02, http://dev.w3.org/html5/2dcontext/
Web browser engines Actively developed web browser engines Inactive web browser engines Comparison of web browser engines HTML (Non-standard HTML) · HTML5 (Media · Canvas) · XML (XHTML (1.1) · MathML · SVG) · CSS · ECMAScript · DOM · Graphics · TypographyCategories:- HTML
- Web browser engines
- Software comparisons
Wikimedia Foundation. 2010.