<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Canvas drag and drop and history navigation roundtrip</title>
<style type="text/css">
img
	{margin:0 2px;}
</style>
<script type="application/ecmascript">
function addImage(event)
	{var c = document.createElement('img');
	c.setAttribute('src',event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,''));
	document.querySelector('p').appendChild(c);}
function start(event)
	{event.dataTransfer.effectAllowed = 'copy';
	event.dataTransfer.setData('text/uri-list', document.querySelector('canvas').toDataURL('image/png'));
	window.location = '011-1.xhtml'}
</script>
</head>
<body>
<p>
	<canvas width="100" height="100" draggable="true" ondragstart="start(event)" ondragenter="event.preventDefault()" ondragover="return false" ondrop="addImage(event)">Canvas</canvas>
</p>
<p>Drag canvas around. You will be redirected to new page. When you return back drop canvas on itself. It should be duplicated once you drop it.</p>
<script type="application/ecmascript">
var canvas = document.querySelector('canvas'),
c = canvas.getContext('2d');
for(var x = 0; x != 50; x++)
	{c.fillStyle = (x%2 == 0)?'navy':'white';
	c.beginPath();
	c.moveTo(x,x);
	c.lineTo(100-x,x);
	c.lineTo(100-x,100-x);
	c.lineTo(x,100-x);
	c.closePath();
	c.fill();}
</script>
</body>
</html>