<!DOCTYPE html>
<html>
	<head>
		<title>Drag and drop with right click over Flash</title>
		<style type="text/css">
div {
	width: 100px;
	height: 100px;
	background: fuchsia;
}
object {
	width: 400px;
	height: 400px;
	border: 5px solid black;
}
		</style>
		<script type="text/javascript">
window.onload = function () {
	document.getElementsByTagName('div')[0].ondragstart = function (e) {
		e.dataTransfer.effectAllowed = 'copy';
		e.dataTransfer.setData('text','dummy text');
	};
};
		</script>
	</head>
	<body>
		<noscript><p>Enable JavaScript and reload</p></noscript>
		<ol>
			<li>Drag the pink square over the blue square.</li>
			<li>Without releasing the drag, click the right mouse button.</li>
			<li>If the platform's normal behaviour is to cancel a drag (eg. Windows and Unix+KDE), then the drag should be cancelled; moving the mouse outside the black square should not cause the drag placeholder to continue following the mouse, and the mouse cursor should revert to default.</li>
			<li>If the platform's normal behaviour is not to cancel a drag (eg. Mac and Unix+Gnome), then the drag should not be cancelled; moving the mouse outside the black square should cause the drag placeholder to continue following the mouse, and the mouse cursor should show as no-drop or drop-allowed.</li>
			<li>Fail in either case if the drag placeholder gets stuck temporarily or permanently over the blue square. Fail if an inappropriate right click function begins (eg. context menu opens).</li>
		</ol>
		<div draggable="true"></div>
		<script type="text/javascript">
var plugincode = '<object data="dragndrop.swf" type="application/x-shockwave-flash">Flash plugin is required for this test.</object>';
		</script>
		<script type="text/javascript" src="click-to-activate.js"></script>
	</body>
</html>