blob: 9c6a0398715f8794f752134bf1aa41474a582160 [file] [log] [blame]
<html>
<head>
<script>
function onImgDragStart() {
if (window.objCPlugin) {
try {
window.event.dataTransfer.setData('URL', 'file:///etc/passwd');
objCPlugin.removeBridgeRestrictions_(window);
var pasteboard = objc('NSPasteboard').pasteboardWithName_('Apple CFPasteboard drag');
var data = pasteboard.dataForType_('NSFilenamesPboardType');
if (data) {
alert('NSFilenamesPboardType was incorrectly present.');
}
} catch (ex) {
alert(ex.message);
}
} else {
// If there is no objCPlugin, then we are not on OS-X WebKit, and hence
// we don't worry about checking for NSFilenamesPboardType type data.
}
testRunner.notifyDone();
}
function runTest() {
if (!window.testRunner) {
return;
}
testRunner.waitUntilDone();
// Find abe
var dragme = document.getElementById("dragme");
x1 = dragme.offsetLeft + 20;
y1 = dragme.offsetTop + 20;
// Drag abe
eventSender.mouseMoveTo(x1, y1);
eventSender.mouseDown();
eventSender.leapForward(500);
eventSender.mouseMoveTo(x1 + 20, y1);
eventSender.mouseUp();
}
</script>
<title>Only let local pages add NSFilenamesPboardType data via dataTransfer.setData('URL', aFileUrl).</title>
</head>
<body onload="runTest();">
<p>This tests that calling dataTransfer.setData('URL', aFileURL) sets NSFilenamesPboardType type data on the pasteboard if and only if this page is a local page.</p>
<p>This test cannot be run manually, as it is not possible to tell whether or not NSFilenamesPboardType type data is on the pasteboard, without Objective-C bindings.</p>
<img id="dragme" src="resources/abe.png"/ ondragstart="onImgDragStart()">
</body>
</html>