diff --git a/layout/reftests/svg/sizing/canvas-drawImage-height-with-no-width-ref.html b/layout/reftests/svg/sizing/canvas-drawImage-height-with-no-width-ref.html new file mode 100644 index 0000000000..f68abfeecf --- /dev/null +++ b/layout/reftests/svg/sizing/canvas-drawImage-height-with-no-width-ref.html @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/layout/reftests/svg/sizing/canvas-drawImage-height-with-no-width.html b/layout/reftests/svg/sizing/canvas-drawImage-height-with-no-width.html new file mode 100644 index 0000000000..da4f20a2f9 --- /dev/null +++ b/layout/reftests/svg/sizing/canvas-drawImage-height-with-no-width.html @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/layout/reftests/svg/sizing/canvas-drawImage-no-width-or-height-ref.html b/layout/reftests/svg/sizing/canvas-drawImage-no-width-or-height-ref.html new file mode 100644 index 0000000000..045d626743 --- /dev/null +++ b/layout/reftests/svg/sizing/canvas-drawImage-no-width-or-height-ref.html @@ -0,0 +1,20 @@ + + + + + + + + + diff --git a/layout/reftests/svg/sizing/canvas-drawImage-no-width-or-height.html b/layout/reftests/svg/sizing/canvas-drawImage-no-width-or-height.html new file mode 100644 index 0000000000..e5bc8c16ca --- /dev/null +++ b/layout/reftests/svg/sizing/canvas-drawImage-no-width-or-height.html @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/layout/reftests/svg/sizing/canvas-drawImage-width-with-no-height-ref.html b/layout/reftests/svg/sizing/canvas-drawImage-width-with-no-height-ref.html new file mode 100644 index 0000000000..24d91d32c4 --- /dev/null +++ b/layout/reftests/svg/sizing/canvas-drawImage-width-with-no-height-ref.html @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/layout/reftests/svg/sizing/canvas-drawImage-width-with-no-height.html b/layout/reftests/svg/sizing/canvas-drawImage-width-with-no-height.html new file mode 100644 index 0000000000..7a4452face --- /dev/null +++ b/layout/reftests/svg/sizing/canvas-drawImage-width-with-no-height.html @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/layout/reftests/svg/sizing/reftest.list b/layout/reftests/svg/sizing/reftest.list index 960b59d8d9..3e269c5a31 100644 --- a/layout/reftests/svg/sizing/reftest.list +++ b/layout/reftests/svg/sizing/reftest.list @@ -310,3 +310,8 @@ skip == dynamic--inline-resize-window-width.xhtml pass.svg # Fails way too mu fails random-if(Android) == dynamic--object-svg-unloaded.xhtml pass.svg # == dynamic--object--auto-auto--pct-px.html +# Note: Other web rendering engines do no not pass the following tests due +# due to differences in surface calculations. +== canvas-drawImage-no-width-or-height.html canvas-drawImage-no-width-or-height-ref.html +== canvas-drawImage-width-with-no-height.html canvas-drawImage-width-with-no-height-ref.html +== canvas-drawImage-height-with-no-width.html canvas-drawImage-height-with-no-width-ref.html diff --git a/layout/reftests/svg/sizing/svg-image-util.js b/layout/reftests/svg/sizing/svg-image-util.js new file mode 100644 index 0000000000..d58e622ec7 --- /dev/null +++ b/layout/reftests/svg/sizing/svg-image-util.js @@ -0,0 +1,74 @@ +/** + * Reusable SVG data uri prefix for generated SVGs. + */ +const SVG_DATA_URI_PREFIX = 'data:image/svg+xml, { + img.onload = () => { + ctx.drawImage(img, 0, 0); + resolve(); + }; + }); + + let uri = generateSVGDataURI(aSVGWidth, aSVGHeight, aSVGViewBox); + img.src = uri; + + return promise; +}