Comparison of layout engines (HTML5 canvas)
HTML |
---|
HTML5.svg |
|
Comparisons |
---|
|
|
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.
Explanation of the tables
Engine nomenclature
Rather than the names of web browsers and HTML to PDF converters, the names of the underlying engines are used. Some of the software and online converters that use the various engines are listed below.
Layout engine |
Release version |
Preview version |
Used by |
Amaya |
11.4.7[1] |
N/A |
No longer developed; Amaya |
Blink |
537.36 |
source code[note 1] |
Chromium/Chrome (28+), Opera (15+), Sleipnir, Vivaldi, Yandex, Liebao and Samsung Browser |
EdgeHTML |
14.14393[2] |
N/A |
Microsoft Edge, Universal Windows Platform (UWP) JavaScript apps |
Gecko |
Standard |
55.0.1 / 10 August 2017 (2017-08-10)[3] |
---|
ESR |
52.3.0 / 8 August 2017 (2017-08-08)[4] |
---|
|
Beta & Developer Edition |
56.0beta / August 8, 2017 (2017-08-08)[5][6] semiweekly release |
---|
Nightly |
57.0a1 / August 2, 2017 (2017-08-02)[7][8] daily release |
---|
|
All Mozilla software, including Firefox; SeaMonkey and Galeon; Camino; K-Meleon; Flock (up to 2.x); Debian IceWeasel; GNU IceCat (formerly GNU IceWeasel); Cyberfox; Icedove, Iceape and Iceowl; Firefox for Android ("Fennec"). Also used by the Maple platform in 2010 and 2011 Samsung "SmartTV" devices which are based on the build used in Firefox 2.5. The Nokia Asha platform also uses Gecko for web apps rendering. |
Goanna |
27.4.1 (August 3, 2017 (2017-08-03)[9]) [±] |
|
Pale Moon and FossaMail |
KHTML |
4.12.3[10] |
N/A |
Konqueror[note 2] |
Martha |
? |
? |
PDFreactor, Nimbudocs Editor and edit-on NG. Uses the Apache Batik library for SVG rendering. |
Presto |
2.12.388 |
N/A |
No longer developed; Opera and Opera Mobile use Blink now; Nintendo DS & DSi Browser; Internet Channel |
Prince |
11 |
N/A |
HTML to PDF converters: Prince (previously called PrinceXML), DocRaptor. The information in the Prince columns is also true of Prince for Books, a related layout engine. |
Tasman |
(IE 5.2.3 for Mac) |
N/A |
No longer developed (aborted in 2003); Internet Explorer 5+ for Mac OS X |
Trident |
7.0 (IE 11) |
N/A |
Internet Explorer and other Internet Explorer shells like Maxthon (Microsoft Windows operating systems only), Windows Phone 8 |
WebKit |
534.20 |
nightly build[note 3] |
Tizen (both OS and browser), Safari (both desktop and mobile), Google Chrome (before 28), Maxthon 3, Shiira, iCab 4, OmniWeb 5.5+, Web, Adobe AIR, Midori, surf, Adobe Dreamweaver CS4 and CS5, Android browser, Palm webOS browser, Symbian S60 browser, OWB, Steam, Rekonq, Arora, Flock (version 3+), RockMelt, Dolphin Browser, Konqueror[note 2]. Used by the LG Smart TV platform to enable web content on TVs. HTML to PDF converters: wkhtmltopdf, PhantomJS, Pdfcrowd[11], http://www.online-convert.com/[12]. |
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
Supported contexts
Canvas Rendering Context 2D
|
Trident[t 2] |
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 |
28.0[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.
- 1 2 3 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
Webkit references
Presto references
Other references
External links