<!DOCTYPE html> <meta charset="utf-8"> <link rel=match href=drawimage_canvas_9_ref.html> <style> html, body { margin: 0; } </style> <body> <canvas id="dest" height="100" width="100"></canvas> <script> var sourceWidth = 50; var sourceHeight = 50; var smoothingEnabled = false; var destCanvas = document.getElementById('dest'); var sourceCanvas = document.createElement('canvas'); sourceCanvas.width = sourceWidth; sourceCanvas.height = sourceHeight; var sourceCtx = sourceCanvas.getContext('2d'); sourceCtx.fillStyle = "#00FFFF"; sourceCtx.fillRect(0, 0, sourceWidth, sourceHeight); sourceCtx.fillStyle = "#000000"; sourceCtx.fillRect(5,5,40,40); var destCtx = destCanvas.getContext('2d'); destCtx.fillStyle = "#FF0000"; destCtx.fillRect(0, 0, destCanvas.width, destCanvas.height); destCtx.imageSmoothingEnabled = smoothingEnabled; // The destination rectangle has negative width and height // An exception is raised and nothing is drawn try { destCtx.drawImage(sourceCanvas, 25, 50, 50, 0, 0, -100, -100); // It makes the test fail if the exception is not thrown destCtx.fillStyle = "#0000FF"; destCtx.fillRect(0, 0, destCanvas.width, destCanvas.height); } catch(err) { } </script>