Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(476)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dnd/file-dragged-over-webkitdropzone-element.html

Issue 2572023002: Remove special DataTransfer permissions for file: origins. (Closed)
Patch Set: Pulled webkitdropzone changes to separate CL. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!doctype html>
2 <meta charset="utf-8" />
3 <script src="../../resources/testharness.js"></script>
4 <script src="../../resources/testharnessreport.js"></script>
5 <script src="resources/copy-data-transfer.js"></script>
6 <style>
7 #dropzone {
8 display: block;
9 border: 1px solid black;
10 width: 200px;
11 height: 200px;
12 }
13 </style>
14
15 <p>
16 Please download <a download href="resources/dragged-file.txt">this file</a>,
17 and drag it into the box below.
18 </p>
19
20 <div id="dropzone" webkitdropzone="copy file:text/plain">
21 Drop Here
22 </div>
23
24 <script>
25
26 const dropZone = document.querySelector('#dropzone');
27
28 const dropPromise = new Promise((resolve, reject) => {
29 dropZone.ondrop = (event) => {
30 event.preventDefault(); // Needed to prevent drop navigation.
31 resolve(copyDataTransfer(event.dataTransfer));
32 };
33 });
34
35 const clientRect = dropZone.getBoundingClientRect();
36 if (window.eventSender) {
37 eventSender.beginDragWithFiles(['resources/dragged-file.txt']);
38 const centerX = (clientRect.left + clientRect.right) / 2;
39 const centerY = (clientRect.top + clientRect.bottom) / 2;
40 eventSender.mouseMoveTo(centerX, centerY);
41 eventSender.mouseUp();
42 }
43
44 promise_test(() => {
45 return dropPromise.then((dataTransfer) => {
46 assert_equals(JSON.stringify(dataTransfer.types), '["Files"]');
47 });
48 }, 'drop types');
49
50 promise_test(() => {
51 return dropPromise.then((dataTransfer) => {
52 assert_equals(dataTransfer.data['Files'], '');
53 });
54 }, 'drop getData() return value');
55
56 promise_test(() => {
57 return dropPromise.then((dataTransfer) => {
58 assert_equals(dataTransfer.files.length, 1);
59 const file = dataTransfer.files[0];
60 assert_equals(file.file.name, 'dragged-file.txt');
61 assert_equals(file.file.type, 'text/plain');
62 assert_equals(file.file.size, 21);
63 assert_equals(file.data, 'The test has FAILED.\n');
64 });
65 }, 'drop files');
66
67 promise_test(() => {
68 return dropPromise.then((dataTransfer) => {
69 assert_equals(dataTransfer.items.length, 1);
70 const item = dataTransfer.items[0];
71 assert_equals(item.kind, 'file');
72 assert_equals(item.type, 'text/plain'); // application/x-moz-file in FF
73 assert_equals(item.error, undefined);
74 assert_equals(item.file.name, 'dragged-file.txt');
75 assert_equals(item.file.type, 'text/plain');
76 assert_equals(item.file.size, 21);
77 assert_equals(item.data, 'The test has FAILED.\n');
78 });
79 }, 'drop items');
80
81 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698