| <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> |