<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[270008] trunk/LayoutTests/imported/w3c</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/270008">270008</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2020-11-18 19:17:53 -0800 (Wed, 18 Nov 2020)</dd>
</dl>

<h3>Log Message</h3>
<pre>Import web-platform-tests/entries-api tests from usptream
https://bugs.webkit.org/show_bug.cgi?id=219127

Reviewed by Sam Weinig.

Import web-platform-tests/entries-api tests from usptream dd35c2b21b76772123f76a1.

* resources/import-expectations.json:
* web-platform-tests/entries-api/META.yml: Added.
* web-platform-tests/entries-api/README.md: Added.
* web-platform-tests/entries-api/idlharness.window-expected.txt: Added.
* web-platform-tests/entries-api/idlharness.window.html: Added.
* web-platform-tests/entries-api/idlharness.window.js: Added.
* web-platform-tests/entries-api/support.js: Added.
(entry_test):
(getEntriesAsPromise):
* web-platform-tests/entries-api/support/a/b/c/3.txt: Added.
* web-platform-tests/entries-api/support/a/b/c/d/1.txt: Added.
* web-platform-tests/entries-api/support/a/b/c/d/2.txt: Added.
* web-platform-tests/entries-api/support/a/b/c/d/w3c-import.log: Added.
* web-platform-tests/entries-api/support/a/b/c/w3c-import.log: Added.
* web-platform-tests/entries-api/support/upload.txt: Added.
* web-platform-tests/entries-api/support/upload/file.txt: Added.
* web-platform-tests/entries-api/support/upload/subdir/1.txt: Added.
* web-platform-tests/entries-api/support/upload/subdir/2.txt: Added.
* web-platform-tests/entries-api/support/upload/subdir/3.txt: Added.
* web-platform-tests/entries-api/support/upload/subdir/w3c-import.log: Added.
* web-platform-tests/entries-api/support/upload/w3c-import.log: Added.
* web-platform-tests/entries-api/support/w3c-import.log: Added.
* web-platform-tests/entries-api/w3c-import.log: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsimportedw3cresourcesimportexpectationsjson">trunk/LayoutTests/imported/w3c/resources/import-expectations.json</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapiMETAyml">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/META.yml</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapiREADMEmd">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/README.md</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapiidlharnesswindowexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapiidlharnesswindowhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapiidlharnesswindowjs">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window.js</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/</li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/</li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/</li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportabc3txt">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/3.txt</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/d/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportabcd1txt">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/d/1.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportabcd2txt">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/d/2.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportabcdw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/d/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportabcw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/w3c-import.log</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadfiletxt">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/file.txt</a></li>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadsubdir1txt">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/1.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadsubdir2txt">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/2.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadsubdir3txt">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/3.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadsubdirw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/w3c-import.log</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportjs">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsentriesapiw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/w3c-import.log</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (270007 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog 2020-11-19 03:16:53 UTC (rev 270007)
+++ trunk/LayoutTests/imported/w3c/ChangeLog    2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -1,5 +1,38 @@
</span><span class="cx"> 2020-11-18  Chris Dumez  <cdumez@apple.com>
</span><span class="cx"> 
</span><ins>+        Import web-platform-tests/entries-api tests from usptream
+        https://bugs.webkit.org/show_bug.cgi?id=219127
+
+        Reviewed by Sam Weinig.
+
+        Import web-platform-tests/entries-api tests from usptream dd35c2b21b76772123f76a1.
+
+        * resources/import-expectations.json:
+        * web-platform-tests/entries-api/META.yml: Added.
+        * web-platform-tests/entries-api/README.md: Added.
+        * web-platform-tests/entries-api/idlharness.window-expected.txt: Added.
+        * web-platform-tests/entries-api/idlharness.window.html: Added.
+        * web-platform-tests/entries-api/idlharness.window.js: Added.
+        * web-platform-tests/entries-api/support.js: Added.
+        (entry_test):
+        (getEntriesAsPromise):
+        * web-platform-tests/entries-api/support/a/b/c/3.txt: Added.
+        * web-platform-tests/entries-api/support/a/b/c/d/1.txt: Added.
+        * web-platform-tests/entries-api/support/a/b/c/d/2.txt: Added.
+        * web-platform-tests/entries-api/support/a/b/c/d/w3c-import.log: Added.
+        * web-platform-tests/entries-api/support/a/b/c/w3c-import.log: Added.
+        * web-platform-tests/entries-api/support/upload.txt: Added.
+        * web-platform-tests/entries-api/support/upload/file.txt: Added.
+        * web-platform-tests/entries-api/support/upload/subdir/1.txt: Added.
+        * web-platform-tests/entries-api/support/upload/subdir/2.txt: Added.
+        * web-platform-tests/entries-api/support/upload/subdir/3.txt: Added.
+        * web-platform-tests/entries-api/support/upload/subdir/w3c-import.log: Added.
+        * web-platform-tests/entries-api/support/upload/w3c-import.log: Added.
+        * web-platform-tests/entries-api/support/w3c-import.log: Added.
+        * web-platform-tests/entries-api/w3c-import.log: Added.
+
+2020-11-18  Chris Dumez  <cdumez@apple.com>
+
</ins><span class="cx">         Resync web-platform-tests/WebIDL tests from upstream
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=219120
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cresourcesimportexpectationsjson"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/resources/import-expectations.json (270007 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/resources/import-expectations.json        2020-11-19 03:16:53 UTC (rev 270007)
+++ trunk/LayoutTests/imported/w3c/resources/import-expectations.json   2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -193,7 +193,7 @@
</span><span class="cx">     "web-platform-tests/encoding": "import", 
</span><span class="cx">     "web-platform-tests/encrypted-media": "import", 
</span><span class="cx">     "web-platform-tests/encrypted-media/Google": "skip", 
</span><del>-    "web-platform-tests/entries-api": "skip", 
</del><ins>+    "web-platform-tests/entries-api": "import", 
</ins><span class="cx">     "web-platform-tests/eventsource": "import", 
</span><span class="cx">     "web-platform-tests/ext-xhtml-pubid": "skip", 
</span><span class="cx">     "web-platform-tests/feature-policy": "skip", 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapiMETAyml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/META.yml (0 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/META.yml                           (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/META.yml      2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+spec: https://wicg.github.io/entries-api/
+suggested_reviewers:
+  - aliams
+  - inexorabletash
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapiREADMEmd"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/README.md (0 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/README.md                          (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/README.md     2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+Tests for the [Files and Directory Entries API](https://github.com/wicg/entries-api)
+
+* [Explainer](https://github.com/WICG/entries-api/blob/gh-pages/EXPLAINER.md)
+* [Draft Specification](https://wicg.github.io/entries-api/)
+
+Unfortunately, most of the tests are **manual** and require drag-and-drop of test
+data files, which can be found in the `entries-api/support` directory. The tests
+can be run via [w3c-test.org](http://w3c-test.org/entries-api/), but a local clone
+of the repo is required for access to the test data files.
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapiidlharnesswindowexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window-expected.txt (0 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window-expected.txt                             (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window-expected.txt        2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -0,0 +1,69 @@
</span><ins>+
+PASS idl_test setup
+PASS idl_test validation
+PASS Partial interface File: original interface defined
+PASS Partial interface File: member names are unique
+PASS Partial interface HTMLInputElement: original interface defined
+PASS Partial interface HTMLInputElement: member names are unique
+PASS Partial interface DataTransferItem: original interface defined
+PASS Partial interface DataTransferItem: member names are unique
+PASS Partial interface HTMLInputElement[2]: member names are unique
+PASS HTMLElement includes GlobalEventHandlers: member names are unique
+PASS HTMLElement includes DocumentAndElementEventHandlers: member names are unique
+PASS HTMLElement includes ElementContentEditable: member names are unique
+PASS HTMLElement includes HTMLOrSVGElement: member names are unique
+PASS Element includes ParentNode: member names are unique
+PASS Element includes NonDocumentTypeChildNode: member names are unique
+PASS Element includes ChildNode: member names are unique
+PASS Element includes Slottable: member names are unique
+PASS FileSystemEntry interface: existence and properties of interface object
+PASS FileSystemEntry interface object length
+PASS FileSystemEntry interface object name
+PASS FileSystemEntry interface: existence and properties of interface prototype object
+PASS FileSystemEntry interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemEntry interface: existence and properties of interface prototype object's @@unscopables property
+PASS FileSystemEntry interface: attribute isFile
+PASS FileSystemEntry interface: attribute isDirectory
+PASS FileSystemEntry interface: attribute name
+PASS FileSystemEntry interface: attribute fullPath
+PASS FileSystemEntry interface: attribute filesystem
+PASS FileSystemEntry interface: operation getParent(optional FileSystemEntryCallback, optional ErrorCallback)
+PASS FileSystemDirectoryEntry interface: existence and properties of interface object
+PASS FileSystemDirectoryEntry interface object length
+PASS FileSystemDirectoryEntry interface object name
+PASS FileSystemDirectoryEntry interface: existence and properties of interface prototype object
+PASS FileSystemDirectoryEntry interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemDirectoryEntry interface: existence and properties of interface prototype object's @@unscopables property
+PASS FileSystemDirectoryEntry interface: operation createReader()
+PASS FileSystemDirectoryEntry interface: operation getFile(optional USVString?, optional FileSystemFlags, optional FileSystemEntryCallback, optional ErrorCallback)
+PASS FileSystemDirectoryEntry interface: operation getDirectory(optional USVString?, optional FileSystemFlags, optional FileSystemEntryCallback, optional ErrorCallback)
+PASS FileSystemDirectoryReader interface: existence and properties of interface object
+PASS FileSystemDirectoryReader interface object length
+PASS FileSystemDirectoryReader interface object name
+PASS FileSystemDirectoryReader interface: existence and properties of interface prototype object
+PASS FileSystemDirectoryReader interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemDirectoryReader interface: existence and properties of interface prototype object's @@unscopables property
+PASS FileSystemDirectoryReader interface: operation readEntries(FileSystemEntriesCallback, optional ErrorCallback)
+PASS FileSystemFileEntry interface: existence and properties of interface object
+PASS FileSystemFileEntry interface object length
+PASS FileSystemFileEntry interface object name
+PASS FileSystemFileEntry interface: existence and properties of interface prototype object
+PASS FileSystemFileEntry interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemFileEntry interface: existence and properties of interface prototype object's @@unscopables property
+PASS FileSystemFileEntry interface: operation file(FileCallback, optional ErrorCallback)
+PASS FileSystem interface: existence and properties of interface object
+PASS FileSystem interface object length
+PASS FileSystem interface object name
+PASS FileSystem interface: existence and properties of interface prototype object
+PASS FileSystem interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystem interface: existence and properties of interface prototype object's @@unscopables property
+PASS FileSystem interface: attribute name
+PASS FileSystem interface: attribute root
+PASS File interface: attribute webkitRelativePath
+PASS File interface: new File([], "example.txt") must inherit property "webkitRelativePath" with the proper type
+PASS HTMLInputElement interface: attribute webkitdirectory
+PASS HTMLInputElement interface: attribute webkitEntries
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "webkitdirectory" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "webkitEntries" with the proper type
+PASS DataTransferItem interface: operation webkitGetAsEntry()
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapiidlharnesswindowhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window.html (0 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window.html                             (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window.html        2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+<!-- This file is required for WebKit test infrastructure to run the templated test -->
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapiidlharnesswindowjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window.js (0 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window.js                               (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window.js  2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+'use strict';
+
+idl_test(
+  ['entries-api'],
+  ['FileAPI', 'html', 'dom'],
+  idl_array => {
+    idl_array.add_objects({
+      File: ['new File([], "example.txt")'],
+      HTMLInputElement: ['document.createElement("input")'],
+    });
+  }
+);
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportabc3txt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/3.txt ( => )</h4>
<pre class="diff"><span>
<span class="info">Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/d/1.txt
===================================================================
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportabcd2txt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/d/2.txt ( => )</h4>
<pre class="diff"><span>
<span class="info">Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/d/w3c-import.log
===================================================================
</span><del>--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/d/w3c-import.log                                (rev 0)
</del><ins>+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/d/w3c-import.log 2020-11-19 03:17:53 UTC (rev 270008)
</ins><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/d/1.txt
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/d/2.txt
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportabcw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/w3c-import.log (0 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/w3c-import.log                               (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/w3c-import.log  2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/a/b/c/3.txt
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadfiletxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/file.txt ( => )</h4>
<pre class="diff"><span>
<span class="info">Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/1.txt
===================================================================
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadsubdir2txt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/2.txt ( => )</h4>
<pre class="diff"><span>
<span class="info">Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/3.txt
===================================================================
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadsubdirw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/w3c-import.log (0 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/w3c-import.log                               (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/w3c-import.log  2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/1.txt
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/2.txt
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/subdir/3.txt
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/w3c-import.log (0 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/w3c-import.log                              (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/w3c-import.log 2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload/file.txt
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportuploadtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload.txt ( => )</h4>
<pre class="diff"><span>
<span class="info">Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/w3c-import.log
===================================================================
</span><del>--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/w3c-import.log                                (rev 0)
</del><ins>+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/w3c-import.log 2020-11-19 03:17:53 UTC (rev 270008)
</ins><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/support/upload.txt
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapisupportjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support.js (0 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support.js                         (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/support.js    2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -0,0 +1,131 @@
</span><ins>+// ----------------------------------------
+// Test Utilities
+// ----------------------------------------
+
+setup({explicit_timeout: true});
+
+const tests = [];
+window.addEventListener('DOMContentLoaded', e => {
+  const header = document.createElement('h1');
+  header.innerText = document.title;
+  document.body.appendChild(header);
+  const elem = document.createElement('div');
+  elem.style.cssText = 'height: 50px; border: 1px dotted red;';
+  elem.innerHTML = 'Drop the <b>support/upload</b> directory here.</div>';
+  document.body.appendChild(elem);
+  elem.addEventListener('dragover', e => {
+    e.preventDefault();
+  });
+  elem.addEventListener('drop', e => {
+    e.preventDefault();
+    for (let i = 0; i < e.dataTransfer.items.length; ++i) {
+      const item = e.dataTransfer.items[i];
+      if (item.kind !== 'file')
+        continue;
+      const entry = item.webkitGetAsEntry();
+      elem.parentElement.removeChild(elem);
+      tests.forEach(f => f(entry, item));
+      break;
+    }
+  });
+});
+
+
+// Registers a test to be run when an entry is dropped. Calls |func|
+// with (test, entry, item); |func| must call `test.done()` when complete.
+function entry_test(func, description) {
+  const test = async_test(description);
+  tests.push(test.step_func((entry, item) => func(test, entry, item)));
+}
+
+// Registers a test to be run when an entry is dropped. Digs the named
+// |file| out of the dropped entry and calls |func| with
+// (test, file_entry); |func| must call `test.done()` when complete.
+function file_entry_test(name, func, description) {
+  return entry_test((t, entry, item) => {
+    getChildEntry(entry, name,
+                  t.step_func((entry) => func(t, entry)),
+                  t.unreached_func('Did not find expected file: ' + name));
+  }, description);
+}
+
+
+// ----------------------------------------
+// Paths
+// ----------------------------------------
+
+const INVALID_PATHS = [
+  '\x00', 'a-\x00-b',
+  '\\', 'a-\\-b'
+];
+const EMPTY_PATHS = ['', null, undefined];
+const NOT_FOUND_PATHS = [
+  'nope',
+  '/upload/nope',
+  './nope',
+  'subdir/../nope',
+  '\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f',
+  '\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f',
+];
+
+const DIR_PATHS = [
+  'subdir',
+  '/upload/subdir',
+  './subdir',
+  'subdir/.',
+  'subdir/../subdir',
+  'subdir/./../subdir',
+  'subdir/../subdir/.',
+  '//upload/subdir',
+  '/upload//subdir',
+  './/subdir',
+  'subdir//.',
+];
+const FILE_PATHS = [
+  'file.txt',
+  '/upload/file.txt',
+  'subdir/../file.txt',
+  '//upload/file.txt',
+  '/upload//file.txt',
+  'subdir/./../file.txt',
+];
+
+// ----------------------------------------
+// Helpers
+// ----------------------------------------
+
+// Wrapper for FileSystemDirectoryReader that yields all entries via a
+// Promise.
+
+function getEntriesAsPromise(dirEntry) {
+  return new Promise((resolve, reject) => {
+    const result = [];
+    const reader = dirEntry.createReader();
+    const doBatch = () => {
+      reader.readEntries(entries => {
+        if (entries.length > 0) {
+          entries.forEach(e => result.push(e));
+          doBatch();
+        } else {
+          resolve(result);
+        }
+      }, reject);
+    };
+    doBatch();
+  });
+}
+
+
+// Wrapper for FileSystemDirectoryReader that yields a single entry by
+// name via a callback. Can be used instead of getFile() or
+// getDirectory() since not all implementations support those.
+
+function getChildEntry(dirEntry, name, callback, errback) {
+  getEntriesAsPromise(dirEntry)
+    .then(entries => {
+      const entry = entries.filter(entry => entry.name === name)[0];
+      if (!entry)
+        throw new Error('No such file: ' + name);
+      return entry;
+    }).then(callback, errback);
+}
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsentriesapiw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/w3c-import.log (0 => 270008)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/w3c-import.log                             (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/entries-api/w3c-import.log        2020-11-19 03:17:53 UTC (rev 270008)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/META.yml
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/README.md
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness-manual.window.js
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/idlharness.window.js
+/LayoutTests/imported/w3c/web-platform-tests/entries-api/support.js
</ins></span></pre>
</div>
</div>

</body>
</html>