Title: [221209] trunk
Revision
221209
Author
[email protected]
Date
2017-08-25 15:41:04 -0700 (Fri, 25 Aug 2017)

Log Message

Land stubs for File and Directory Entries API interfaces
https://bugs.webkit.org/show_bug.cgi?id=175993
<rdar://problem/34087477>

Reviewed by Ryosuke Niwa.

Source/_javascript_Core:

Add CommonIdentifiers needed for [EnabledAtRuntime].

* runtime/CommonIdentifiers.h:

Source/WebCore:

Land stubs for File and Directory Entries API interfaces:
- https://wicg.github.io/entries-api/#idl-index

Those will be needed to support drag and drop.

Test: http/wpt/entries-api/interfaces.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* Modules/entriesapi/DOMFileSystem.cpp: Added.
(WebCore::DOMFileSystem::DOMFileSystem):
(WebCore::DOMFileSystem::~DOMFileSystem):
* Modules/entriesapi/DOMFileSystem.h: Added.
(WebCore::DOMFileSystem::create):
(WebCore::DOMFileSystem::name const):
(WebCore::DOMFileSystem::root const):
* Modules/entriesapi/DOMFileSystem.idl: Added.
* Modules/entriesapi/ErrorCallback.h: Added.
* Modules/entriesapi/ErrorCallback.idl: Added.
* Modules/entriesapi/FileCallback.h: Added.
* Modules/entriesapi/FileCallback.idl: Added.
* Modules/entriesapi/FileSystemDirectoryEntry.cpp: Added.
(WebCore::FileSystemDirectoryEntry::FileSystemDirectoryEntry):
(WebCore::FileSystemDirectoryEntry::getFile):
(WebCore::FileSystemDirectoryEntry::getDirectory):
* Modules/entriesapi/FileSystemDirectoryEntry.h: Added.
* Modules/entriesapi/FileSystemDirectoryEntry.idl: Added.
* Modules/entriesapi/FileSystemEntry.cpp: Added.
(WebCore::FileSystemEntry::FileSystemEntry):
* Modules/entriesapi/FileSystemEntry.h: Added.
(WebCore::FileSystemEntry::~FileSystemEntry):
(WebCore::FileSystemEntry::isFile const):
(WebCore::FileSystemEntry::isDirectory const):
(WebCore::FileSystemEntry::name const):
(WebCore::FileSystemEntry::fullPath const):
(WebCore::FileSystemEntry::filesystem const):
* Modules/entriesapi/FileSystemEntry.idl: Added.
* Modules/entriesapi/FileSystemEntryCallback.h: Added.
* Modules/entriesapi/FileSystemEntryCallback.idl: Added.
* Modules/entriesapi/FileSystemFileEntry.cpp: Added.
(WebCore::FileSystemFileEntry::FileSystemFileEntry):
(WebCore::FileSystemFileEntry::file):
* Modules/entriesapi/FileSystemFileEntry.h: Added.
* Modules/entriesapi/FileSystemFileEntry.idl: Added.
* WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Add layout test coverage.

* http/wpt/entries-api/interfaces-expected.txt: Added.
* http/wpt/entries-api/interfaces.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (221208 => 221209)


--- trunk/LayoutTests/ChangeLog	2017-08-25 22:09:22 UTC (rev 221208)
+++ trunk/LayoutTests/ChangeLog	2017-08-25 22:41:04 UTC (rev 221209)
@@ -1,3 +1,16 @@
+2017-08-25  Chris Dumez  <[email protected]>
+
+        Land stubs for File and Directory Entries API interfaces
+        https://bugs.webkit.org/show_bug.cgi?id=175993
+        <rdar://problem/34087477>
+
+        Reviewed by Ryosuke Niwa.
+
+        Add layout test coverage.
+
+        * http/wpt/entries-api/interfaces-expected.txt: Added.
+        * http/wpt/entries-api/interfaces.html: Added.
+
 2017-08-25  Youenn Fablet  <[email protected]>
 
         Add support for ReadableStream storage in FetchBody

Added: trunk/LayoutTests/http/wpt/entries-api/interfaces-expected.txt (0 => 221209)


--- trunk/LayoutTests/http/wpt/entries-api/interfaces-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/http/wpt/entries-api/interfaces-expected.txt	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,69 @@
+Entries API IDL tests
+
+
+PASS ErrorCallback interface: existence and properties of interface object 
+PASS ErrorCallback interface: existence and properties of interface prototype object 
+PASS ErrorCallback interface: existence and properties of interface prototype object's "constructor" property 
+PASS ErrorCallback interface: operation handleEvent(DOMException) 
+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: attribute isFile 
+PASS FileSystemEntry interface: attribute isDirectory 
+PASS FileSystemEntry interface: attribute name 
+PASS FileSystemEntry interface: attribute fullPath 
+PASS FileSystemEntry interface: attribute filesystem 
+FAIL FileSystemEntry interface: operation getParent(FileSystemEntryCallback,ErrorCallback) assert_own_property: interface prototype object missing non-static operation expected property "getParent" missing
+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 
+FAIL FileSystemDirectoryEntry interface: operation createReader() assert_own_property: interface prototype object missing non-static operation expected property "createReader" missing
+PASS FileSystemDirectoryEntry interface: operation getFile(USVString,FileSystemFlags,FileSystemEntryCallback,ErrorCallback) 
+PASS FileSystemDirectoryEntry interface: operation getDirectory(USVString,FileSystemFlags,FileSystemEntryCallback,ErrorCallback) 
+PASS FileSystemEntryCallback interface: existence and properties of interface object 
+PASS FileSystemEntryCallback interface: existence and properties of interface prototype object 
+PASS FileSystemEntryCallback interface: existence and properties of interface prototype object's "constructor" property 
+PASS FileSystemEntryCallback interface: operation handleEvent(FileSystemEntry) 
+FAIL FileSystemDirectoryReader interface: existence and properties of interface object assert_own_property: self does not have own property "FileSystemDirectoryReader" expected property "FileSystemDirectoryReader" missing
+FAIL FileSystemDirectoryReader interface object length assert_own_property: self does not have own property "FileSystemDirectoryReader" expected property "FileSystemDirectoryReader" missing
+FAIL FileSystemDirectoryReader interface object name assert_own_property: self does not have own property "FileSystemDirectoryReader" expected property "FileSystemDirectoryReader" missing
+FAIL FileSystemDirectoryReader interface: existence and properties of interface prototype object assert_own_property: self does not have own property "FileSystemDirectoryReader" expected property "FileSystemDirectoryReader" missing
+FAIL FileSystemDirectoryReader interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "FileSystemDirectoryReader" expected property "FileSystemDirectoryReader" missing
+FAIL FileSystemDirectoryReader interface: operation readEntries(FileSystemEntriesCallback,ErrorCallback) assert_own_property: self does not have own property "FileSystemDirectoryReader" expected property "FileSystemDirectoryReader" missing
+PASS FileSystemEntriesCallback interface: existence and properties of interface object 
+PASS FileSystemEntriesCallback interface: existence and properties of interface prototype object 
+PASS FileSystemEntriesCallback interface: existence and properties of interface prototype object's "constructor" property 
+PASS FileSystemEntriesCallback interface: operation handleEvent([object Object]) 
+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: operation file(FileCallback,ErrorCallback) 
+PASS FileCallback interface: existence and properties of interface object 
+PASS FileCallback interface: existence and properties of interface prototype object 
+PASS FileCallback interface: existence and properties of interface prototype object's "constructor" property 
+PASS FileCallback interface: operation handleEvent(File) 
+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: attribute name 
+PASS FileSystem interface: attribute root 
+PASS File interface: attribute webkitRelativePath 
+PASS File must be primary interface of new File(["myFileBits"], "myFileName") 
+PASS Stringification of new File(["myFileBits"], "myFileName") 
+PASS File interface: new File(["myFileBits"], "myFileName") must inherit property "webkitRelativePath" with the proper type (0) 
+PASS HTMLInputElement interface: attribute webkitdirectory 
+FAIL HTMLInputElement interface: attribute webkitEntries assert_true: The prototype object must have a property "webkitEntries" expected true got false
+PASS HTMLInputElement must be primary interface of file_input 
+PASS Stringification of file_input 
+PASS HTMLInputElement interface: file_input must inherit property "webkitdirectory" with the proper type (0) 
+FAIL HTMLInputElement interface: file_input must inherit property "webkitEntries" with the proper type (1) assert_inherits: property "webkitEntries" not found in prototype chain
+FAIL DataTransferItem interface: operation webkitGetAsEntry() assert_own_property: interface prototype object missing non-static operation expected property "webkitGetAsEntry" missing
+

Added: trunk/LayoutTests/http/wpt/entries-api/interfaces.html (0 => 221209)


--- trunk/LayoutTests/http/wpt/entries-api/interfaces.html	                        (rev 0)
+++ trunk/LayoutTests/http/wpt/entries-api/interfaces.html	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,112 @@
+<!doctype html>
+<title>Entries API IDL tests</title>
+<script src=""
+<script src=""
+<script src=""
+<script src=""
+
+<h1>Entries API IDL tests</h1>
+<div id=log></div>
+
+<form>
+    <input type="file" id="fileChooser">
+</form>
+
+<script type=text/plain>
+partial interface File {
+    readonly attribute USVString webkitRelativePath;
+};
+
+partial interface HTMLInputElement {
+    attribute boolean webkitdirectory;
+    readonly attribute FrozenArray<FileSystemEntry> webkitEntries;
+};
+
+partial interface DataTransferItem {
+    FileSystemEntry? webkitGetAsEntry();
+};
+
+callback interface ErrorCallback {
+    void handleEvent(DOMException err);
+};
+
+interface FileSystemEntry {
+    readonly attribute boolean isFile;
+    readonly attribute boolean isDirectory;
+    readonly attribute USVString name;
+    readonly attribute USVString fullPath;
+    readonly attribute FileSystem filesystem;
+
+    void getParent(optional FileSystemEntryCallback successCallback,
+                   optional ErrorCallback errorCallback);
+};
+
+interface FileSystemDirectoryEntry : FileSystemEntry {
+    FileSystemDirectoryReader createReader();
+    void getFile(optional USVString? path,
+                 optional FileSystemFlags options,
+                 optional FileSystemEntryCallback successCallback,
+                 optional ErrorCallback errorCallback);
+    void getDirectory(optional USVString? path,
+                      optional FileSystemFlags options,
+                      optional FileSystemEntryCallback successCallback,
+                      optional ErrorCallback errorCallback);
+};
+
+dictionary FileSystemFlags {
+    boolean create = false;
+    boolean exclusive = false;
+};
+
+callback interface FileSystemEntryCallback {
+    void handleEvent(FileSystemEntry entry);
+};
+
+interface FileSystemDirectoryReader {
+    void readEntries(FileSystemEntriesCallback successCallback,
+                     optional ErrorCallback errorCallback);
+};
+callback interface FileSystemEntriesCallback {
+    void handleEvent(sequence<FileSystemEntry> entries);
+};
+
+interface FileSystemFileEntry : FileSystemEntry {
+    void file(FileCallback successCallback,
+              optional ErrorCallback errorCallback);
+};
+callback interface FileCallback {
+    void handleEvent(File file);
+};
+
+interface FileSystem {
+    readonly attribute USVString name;
+    readonly attribute FileSystemDirectoryEntry root;
+};
+</script>
+<script>
+"use strict";
+var idlArray;
+var file_input;
+setup(function() {
+  idlArray = new IdlArray();
+  [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) {
+    if (node.className == "untested") {
+      idlArray.add_untested_idls(node.textContent);
+    } else {
+      idlArray.add_idls(node.textContent);
+    }
+    idlArray.add_untested_idls("interface File {};");
+    idlArray.add_untested_idls("interface HTMLInputElement {};");
+    idlArray.add_untested_idls("interface DataTransferItem {};");
+    file_input = document.getElementById("fileChooser");
+    idlArray.add_objects({
+        File: ['new File(["myFileBits"], "myFileName")'],
+        HTMLInputElement: ['file_input'],
+    });
+  });
+}, {explicit_done:true});
+window._onload_ = function() {
+  idlArray.test();
+  done();
+};
+</script>

Modified: trunk/Source/_javascript_Core/ChangeLog (221208 => 221209)


--- trunk/Source/_javascript_Core/ChangeLog	2017-08-25 22:09:22 UTC (rev 221208)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-08-25 22:41:04 UTC (rev 221209)
@@ -1,3 +1,15 @@
+2017-08-25  Chris Dumez  <[email protected]>
+
+        Land stubs for File and Directory Entries API interfaces
+        https://bugs.webkit.org/show_bug.cgi?id=175993
+        <rdar://problem/34087477>
+
+        Reviewed by Ryosuke Niwa.
+
+        Add CommonIdentifiers needed for [EnabledAtRuntime].
+
+        * runtime/CommonIdentifiers.h:
+
 2017-08-25  Brian Burg  <[email protected]>
 
         Web Automation: add capabilities to control ICE candidate filtering and insecure media capture

Modified: trunk/Source/_javascript_Core/runtime/CommonIdentifiers.h (221208 => 221209)


--- trunk/Source/_javascript_Core/runtime/CommonIdentifiers.h	2017-08-25 22:09:22 UTC (rev 221208)
+++ trunk/Source/_javascript_Core/runtime/CommonIdentifiers.h	2017-08-25 22:41:04 UTC (rev 221209)
@@ -49,6 +49,10 @@
     macro(Error) \
     macro(EvalError) \
     macro(FederatedCredential) \
+    macro(FileSystem) \
+    macro(FileSystemDirectoryEntry) \
+    macro(FileSystemEntry) \
+    macro(FileSystemFileEntry) \
     macro(Function) \
     macro(Gamepad) \
     macro(GamepadButton) \

Modified: trunk/Source/WebCore/CMakeLists.txt (221208 => 221209)


--- trunk/Source/WebCore/CMakeLists.txt	2017-08-25 22:09:22 UTC (rev 221208)
+++ trunk/Source/WebCore/CMakeLists.txt	2017-08-25 22:41:04 UTC (rev 221209)
@@ -21,6 +21,7 @@
     "${WEBCORE_DIR}/Modules/credentials"
     "${WEBCORE_DIR}/Modules/encryptedmedia"
     "${WEBCORE_DIR}/Modules/encryptedmedia/legacy"
+    "${WEBCORE_DIR}/Modules/entriesapi"
     "${WEBCORE_DIR}/Modules/fetch"
     "${WEBCORE_DIR}/Modules/geolocation"
     "${WEBCORE_DIR}/Modules/indexeddb"
@@ -152,6 +153,7 @@
     Modules/cache
     Modules/credentials
     Modules/encryptedmedia/legacy
+    Modules/entriesapi
     Modules/fetch
     Modules/geolocation
     Modules/indexeddb
@@ -198,6 +200,14 @@
     Modules/credentials/PasswordCredential.idl
     Modules/credentials/PasswordCredentialData.idl
 
+    Modules/entriesapi/DOMFileSystem.idl
+    Modules/entriesapi/ErrorCallback.idl
+    Modules/entriesapi/FileCallback.idl
+    Modules/entriesapi/FileSystemDirectoryEntry.idl
+    Modules/entriesapi/FileSystemEntry.idl
+    Modules/entriesapi/FileSystemEntryCallback.idl
+    Modules/entriesapi/FileSystemFileEntry.idl
+
     Modules/fetch/DOMWindowFetch.idl
     Modules/fetch/FetchBody.idl
     Modules/fetch/FetchHeaders.idl
@@ -909,6 +919,11 @@
     Modules/credentials/NavigatorCredentials.cpp
     Modules/credentials/PasswordCredential.cpp
 
+    Modules/entriesapi/DOMFileSystem.cpp
+    Modules/entriesapi/FileSystemDirectoryEntry.cpp
+    Modules/entriesapi/FileSystemEntry.cpp
+    Modules/entriesapi/FileSystemFileEntry.cpp
+
     Modules/fetch/DOMWindowFetch.cpp
     Modules/fetch/FetchBody.cpp
     Modules/fetch/FetchBodyConsumer.cpp

Modified: trunk/Source/WebCore/ChangeLog (221208 => 221209)


--- trunk/Source/WebCore/ChangeLog	2017-08-25 22:09:22 UTC (rev 221208)
+++ trunk/Source/WebCore/ChangeLog	2017-08-25 22:41:04 UTC (rev 221209)
@@ -1,3 +1,58 @@
+2017-08-25  Chris Dumez  <[email protected]>
+
+        Land stubs for File and Directory Entries API interfaces
+        https://bugs.webkit.org/show_bug.cgi?id=175993
+        <rdar://problem/34087477>
+
+        Reviewed by Ryosuke Niwa.
+
+        Land stubs for File and Directory Entries API interfaces:
+        - https://wicg.github.io/entries-api/#idl-index
+
+        Those will be needed to support drag and drop.
+
+        Test: http/wpt/entries-api/interfaces.html
+
+        * CMakeLists.txt:
+        * DerivedSources.cpp:
+        * DerivedSources.make:
+        * Modules/entriesapi/DOMFileSystem.cpp: Added.
+        (WebCore::DOMFileSystem::DOMFileSystem):
+        (WebCore::DOMFileSystem::~DOMFileSystem):
+        * Modules/entriesapi/DOMFileSystem.h: Added.
+        (WebCore::DOMFileSystem::create):
+        (WebCore::DOMFileSystem::name const):
+        (WebCore::DOMFileSystem::root const):
+        * Modules/entriesapi/DOMFileSystem.idl: Added.
+        * Modules/entriesapi/ErrorCallback.h: Added.
+        * Modules/entriesapi/ErrorCallback.idl: Added.
+        * Modules/entriesapi/FileCallback.h: Added.
+        * Modules/entriesapi/FileCallback.idl: Added.
+        * Modules/entriesapi/FileSystemDirectoryEntry.cpp: Added.
+        (WebCore::FileSystemDirectoryEntry::FileSystemDirectoryEntry):
+        (WebCore::FileSystemDirectoryEntry::getFile):
+        (WebCore::FileSystemDirectoryEntry::getDirectory):
+        * Modules/entriesapi/FileSystemDirectoryEntry.h: Added.
+        * Modules/entriesapi/FileSystemDirectoryEntry.idl: Added.
+        * Modules/entriesapi/FileSystemEntry.cpp: Added.
+        (WebCore::FileSystemEntry::FileSystemEntry):
+        * Modules/entriesapi/FileSystemEntry.h: Added.
+        (WebCore::FileSystemEntry::~FileSystemEntry):
+        (WebCore::FileSystemEntry::isFile const):
+        (WebCore::FileSystemEntry::isDirectory const):
+        (WebCore::FileSystemEntry::name const):
+        (WebCore::FileSystemEntry::fullPath const):
+        (WebCore::FileSystemEntry::filesystem const):
+        * Modules/entriesapi/FileSystemEntry.idl: Added.
+        * Modules/entriesapi/FileSystemEntryCallback.h: Added.
+        * Modules/entriesapi/FileSystemEntryCallback.idl: Added.
+        * Modules/entriesapi/FileSystemFileEntry.cpp: Added.
+        (WebCore::FileSystemFileEntry::FileSystemFileEntry):
+        (WebCore::FileSystemFileEntry::file):
+        * Modules/entriesapi/FileSystemFileEntry.h: Added.
+        * Modules/entriesapi/FileSystemFileEntry.idl: Added.
+        * WebCore.xcodeproj/project.pbxproj:
+
 2017-08-25  Brent Fulgham  <[email protected]>
 
         REGRESSION(r221017): Quip stuck in a perpetual loading loop

Modified: trunk/Source/WebCore/DerivedSources.cpp (221208 => 221209)


--- trunk/Source/WebCore/DerivedSources.cpp	2017-08-25 22:09:22 UTC (rev 221208)
+++ trunk/Source/WebCore/DerivedSources.cpp	2017-08-25 22:41:04 UTC (rev 221209)
@@ -155,6 +155,7 @@
 #include "JSDOMCSSNamespace.cpp"
 #include "JSDOMError.cpp"
 #include "JSDOMException.cpp"
+#include "JSDOMFileSystem.cpp"
 #include "JSDOMFormData.cpp"
 #include "JSDOMImplementation.cpp"
 #include "JSDOMMimeType.cpp"
@@ -176,6 +177,7 @@
 #include "JSDOMWindowSpeechSynthesis.cpp"
 #include "JSDOMWindowWebDatabase.cpp"
 #include "JSElement.cpp"
+#include "JSErrorCallback.cpp"
 #include "JSErrorEvent.cpp"
 #include "JSEvent.cpp"
 #include "JSEventInit.cpp"
@@ -187,10 +189,15 @@
 #include "JSFetchRequest.cpp"
 #include "JSFetchResponse.cpp"
 #include "JSFile.cpp"
+#include "JSFileCallback.cpp"
 #include "JSFileError.cpp"
 #include "JSFileList.cpp"
 #include "JSFileReader.cpp"
 #include "JSFileReaderSync.cpp"
+#include "JSFileSystemDirectoryEntry.cpp"
+#include "JSFileSystemEntry.cpp"
+#include "JSFileSystemEntryCallback.cpp"
+#include "JSFileSystemFileEntry.cpp"
 #include "JSFocusEvent.cpp"
 #include "JSFontFace.cpp"
 #include "JSFontFaceSet.cpp"

Modified: trunk/Source/WebCore/DerivedSources.make (221208 => 221209)


--- trunk/Source/WebCore/DerivedSources.make	2017-08-25 22:09:22 UTC (rev 221208)
+++ trunk/Source/WebCore/DerivedSources.make	2017-08-25 22:41:04 UTC (rev 221209)
@@ -35,6 +35,7 @@
     $(WebCore)/Modules/credentials \
     $(WebCore)/Modules/encryptedmedia \
     $(WebCore)/Modules/encryptedmedia/legacy \
+    $(WebCore)/Modules/entriesapi \
     $(WebCore)/Modules/fetch \
     $(WebCore)/Modules/gamepad \
     $(WebCore)/Modules/geolocation \
@@ -133,6 +134,13 @@
     $(WebCore)/Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.idl \
     $(WebCore)/Modules/encryptedmedia/legacy/WebKitMediaKeySession.idl \
     $(WebCore)/Modules/encryptedmedia/legacy/WebKitMediaKeys.idl \
+    $(WebCore)/Modules/entriesapi/DOMFileSystem.idl \
+    $(WebCore)/Modules/entriesapi/ErrorCallback.idl \
+    $(WebCore)/Modules/entriesapi/FileCallback.idl \
+    $(WebCore)/Modules/entriesapi/FileSystemDirectoryEntry.idl \
+    $(WebCore)/Modules/entriesapi/FileSystemEntry.idl \
+    $(WebCore)/Modules/entriesapi/FileSystemEntryCallback.idl \
+    $(WebCore)/Modules/entriesapi/FileSystemFileEntry.idl \
     $(WebCore)/Modules/fetch/DOMWindowFetch.idl \
     $(WebCore)/Modules/fetch/FetchBody.idl \
     $(WebCore)/Modules/fetch/FetchHeaders.idl \

Added: trunk/Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "DOMFileSystem.h"
+
+#include "FileSystemDirectoryEntry.h"
+
+namespace WebCore {
+
+DOMFileSystem::DOMFileSystem()
+    : m_root(FileSystemDirectoryEntry::create(*this))
+{
+}
+
+DOMFileSystem::~DOMFileSystem()
+{
+}
+
+} // namespace WebCore

Added: trunk/Source/WebCore/Modules/entriesapi/DOMFileSystem.h (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/DOMFileSystem.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/DOMFileSystem.h	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "ScriptWrappable.h"
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class FileSystemDirectoryEntry;
+
+class DOMFileSystem : public ScriptWrappable, public RefCounted<DOMFileSystem> {
+public:
+    static Ref<DOMFileSystem> create()
+    {
+        return adoptRef(*new DOMFileSystem);
+    }
+
+    ~DOMFileSystem();
+
+    const String& name() const { return m_name; }
+    FileSystemDirectoryEntry& root() const { return m_root; }
+
+private:
+    DOMFileSystem();
+
+    String m_name;
+    Ref<FileSystemDirectoryEntry> m_root;
+};
+
+} // namespace WebCore

Added: trunk/Source/WebCore/Modules/entriesapi/DOMFileSystem.idl (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/DOMFileSystem.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/DOMFileSystem.idl	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledAtRuntime=DirectoryUpload,
+    ImplementationLacksVTable,
+    InterfaceName=FileSystem,
+] interface DOMFileSystem {
+    readonly attribute USVString name;
+    readonly attribute FileSystemDirectoryEntry root;
+};

Added: trunk/Source/WebCore/Modules/entriesapi/ErrorCallback.h (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/ErrorCallback.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/ErrorCallback.h	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "ActiveDOMCallback.h"
+#include "CallbackResult.h"
+#include <wtf/Forward.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class DOMException;
+
+class ErrorCallback : public RefCounted<ErrorCallback>, public ActiveDOMCallback {
+public:
+    using ActiveDOMCallback::ActiveDOMCallback;
+
+    virtual CallbackResult<void> handleEvent(DOMException&) = 0;
+};
+
+} // namespace WebCore

Added: trunk/Source/WebCore/Modules/entriesapi/ErrorCallback.idl (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/ErrorCallback.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/ErrorCallback.idl	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+callback ErrorCallback = void (DOMException error);

Added: trunk/Source/WebCore/Modules/entriesapi/FileCallback.h (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileCallback.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileCallback.h	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "ActiveDOMCallback.h"
+#include "CallbackResult.h"
+#include <wtf/Forward.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class File;
+
+class FileCallback : public RefCounted<FileCallback>, public ActiveDOMCallback {
+public:
+    using ActiveDOMCallback::ActiveDOMCallback;
+
+    virtual CallbackResult<void> handleEvent(File&) = 0;
+};
+
+} // namespace WebCore

Added: trunk/Source/WebCore/Modules/entriesapi/FileCallback.idl (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileCallback.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileCallback.idl	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+callback FileCallback = void (File file);

Added: trunk/Source/WebCore/Modules/entriesapi/FileSystemDirectoryEntry.cpp (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileSystemDirectoryEntry.cpp	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileSystemDirectoryEntry.cpp	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "FileSystemDirectoryEntry.h"
+
+namespace WebCore {
+
+FileSystemDirectoryEntry::FileSystemDirectoryEntry(DOMFileSystem& filesystem)
+    : FileSystemEntry(filesystem)
+{
+}
+
+void FileSystemDirectoryEntry::getFile(const String&, const Flags&, RefPtr<FileSystemEntryCallback>&&, RefPtr<ErrorCallback>&&)
+{
+}
+
+void FileSystemDirectoryEntry::getDirectory(const String&, const Flags&, RefPtr<FileSystemEntryCallback>&&, RefPtr<ErrorCallback>&&)
+{
+
+}
+
+} // namespace WebCore

Added: trunk/Source/WebCore/Modules/entriesapi/FileSystemDirectoryEntry.h (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileSystemDirectoryEntry.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileSystemDirectoryEntry.h	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "FileSystemEntry.h"
+
+namespace WebCore {
+
+class ErrorCallback;
+class FileSystemEntryCallback;
+
+class FileSystemDirectoryEntry final : public FileSystemEntry {
+public:
+    static Ref<FileSystemDirectoryEntry> create(DOMFileSystem& filesystem)
+    {
+        return adoptRef(*new FileSystemDirectoryEntry(filesystem));
+    }
+
+    struct Flags {
+        bool create { false };
+        bool exclusive { false };
+    };
+
+    void getFile(const String& path, const Flags& options, RefPtr<FileSystemEntryCallback>&&, RefPtr<ErrorCallback>&&);
+    void getDirectory(const String& path, const Flags& options, RefPtr<FileSystemEntryCallback>&&, RefPtr<ErrorCallback>&&);
+
+private:
+    bool isDirectory() const final { return true; }
+
+    explicit FileSystemDirectoryEntry(DOMFileSystem&);
+};
+
+} // namespace WebCore

Added: trunk/Source/WebCore/Modules/entriesapi/FileSystemDirectoryEntry.idl (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileSystemDirectoryEntry.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileSystemDirectoryEntry.idl	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledAtRuntime=DirectoryUpload,
+] interface FileSystemDirectoryEntry : FileSystemEntry {
+    // FileSystemDirectoryReader createReader();
+
+    void getFile(optional USVString? path,
+        optional FileSystemFlags options,
+        optional FileSystemEntryCallback? successCallback,
+        optional ErrorCallback? errorCallback);
+
+    void getDirectory(optional USVString? path,
+        optional FileSystemFlags options,
+        optional FileSystemEntryCallback? successCallback,
+        optional ErrorCallback? errorCallback);
+};
+
+dictionary FileSystemFlags {
+    boolean create = false;
+    boolean exclusive = false;
+};

Added: trunk/Source/WebCore/Modules/entriesapi/FileSystemEntry.cpp (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileSystemEntry.cpp	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileSystemEntry.cpp	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "FileSystemEntry.h"
+
+namespace WebCore {
+
+FileSystemEntry::FileSystemEntry(DOMFileSystem& filesystem)
+    : m_filesystem(filesystem)
+{
+}
+
+} // namespace WebCore

Added: trunk/Source/WebCore/Modules/entriesapi/FileSystemEntry.h (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileSystemEntry.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileSystemEntry.h	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "ScriptWrappable.h"
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class DOMFileSystem;
+
+class FileSystemEntry : public ScriptWrappable, public RefCounted<FileSystemEntry> {
+public:
+    virtual ~FileSystemEntry() { }
+
+    virtual bool isFile() const { return false; }
+    virtual bool isDirectory() const { return false; }
+
+    const String& name() const { return m_name; }
+    const String& fullPath() const { return m_fullPath; }
+    DOMFileSystem& filesystem() const { return m_filesystem; }
+
+protected:
+    explicit FileSystemEntry(DOMFileSystem&);
+
+private:
+    String m_name;
+    String m_fullPath;
+    DOMFileSystem& m_filesystem;
+};
+
+} // namespace WebCore

Added: trunk/Source/WebCore/Modules/entriesapi/FileSystemEntry.idl (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileSystemEntry.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileSystemEntry.idl	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledAtRuntime=DirectoryUpload,
+] interface FileSystemEntry {
+    readonly attribute boolean isFile;
+    readonly attribute boolean isDirectory;
+    readonly attribute USVString name;
+    readonly attribute USVString fullPath;
+    readonly attribute DOMFileSystem filesystem;
+
+    // void getParent(optional FileSystemEntryCallback successCallback, optional ErrorCallback errorCallback);
+};

Added: trunk/Source/WebCore/Modules/entriesapi/FileSystemEntryCallback.h (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileSystemEntryCallback.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileSystemEntryCallback.h	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "ActiveDOMCallback.h"
+#include "CallbackResult.h"
+#include <wtf/Forward.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class FileSystemEntry;
+
+class FileSystemEntryCallback : public RefCounted<FileSystemEntryCallback>, public ActiveDOMCallback {
+public:
+    using ActiveDOMCallback::ActiveDOMCallback;
+
+    virtual CallbackResult<void> handleEvent(FileSystemEntry&) = 0;
+};
+
+} // namespace WebCore

Added: trunk/Source/WebCore/Modules/entriesapi/FileSystemEntryCallback.idl (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileSystemEntryCallback.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileSystemEntryCallback.idl	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+callback FileSystemEntryCallback = void (FileSystemEntry entry);

Added: trunk/Source/WebCore/Modules/entriesapi/FileSystemFileEntry.cpp (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileSystemFileEntry.cpp	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileSystemFileEntry.cpp	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "FileSystemFileEntry.h"
+
+namespace WebCore {
+
+FileSystemFileEntry::FileSystemFileEntry(DOMFileSystem& filesystem)
+    : FileSystemEntry(filesystem)
+{
+}
+
+void FileSystemFileEntry::file(RefPtr<FileCallback>&&, RefPtr<ErrorCallback>&&)
+{
+}
+
+} // namespace WebCore

Added: trunk/Source/WebCore/Modules/entriesapi/FileSystemFileEntry.h (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileSystemFileEntry.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileSystemFileEntry.h	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "FileSystemEntry.h"
+
+namespace WebCore {
+
+class ErrorCallback;
+class FileCallback;
+
+class FileSystemFileEntry final : public FileSystemEntry {
+public:
+    static Ref<FileSystemFileEntry> create(DOMFileSystem& filesystem)
+    {
+        return adoptRef(*new FileSystemFileEntry(filesystem));
+    }
+
+    void file(RefPtr<FileCallback>&&, RefPtr<ErrorCallback>&& = nullptr);
+
+private:
+    bool isFile() const final { return true; }
+
+    explicit FileSystemFileEntry(DOMFileSystem&);
+};
+
+} // namespace WebCore

Added: trunk/Source/WebCore/Modules/entriesapi/FileSystemFileEntry.idl (0 => 221209)


--- trunk/Source/WebCore/Modules/entriesapi/FileSystemFileEntry.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/entriesapi/FileSystemFileEntry.idl	2017-08-25 22:41:04 UTC (rev 221209)
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledAtRuntime=DirectoryUpload,
+] interface FileSystemFileEntry : FileSystemEntry {
+    void file(FileCallback? successCallback, optional ErrorCallback? errorCallback);
+};

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (221208 => 221209)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2017-08-25 22:09:22 UTC (rev 221208)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2017-08-25 22:41:04 UTC (rev 221209)
@@ -3419,6 +3419,12 @@
 		8321507E1F27EA1B0095B136 /* NavigatorBeacon.h in Headers */ = {isa = PBXBuildFile; fileRef = 8321507B1F27EA150095B136 /* NavigatorBeacon.h */; };
 		832B843419D8E55100B26055 /* SVGAnimateElementBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 832B843319D8E55100B26055 /* SVGAnimateElementBase.h */; };
 		832B843619D8E57400B26055 /* SVGAnimateElementBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 832B843519D8E57400B26055 /* SVGAnimateElementBase.cpp */; };
+		833B9E311F508D8500E0E428 /* JSFileSystemDirectoryEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 833B9E2B1F508D8000E0E428 /* JSFileSystemDirectoryEntry.cpp */; };
+		833B9E321F508D8500E0E428 /* JSFileSystemDirectoryEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 833B9E2F1F508D8000E0E428 /* JSFileSystemDirectoryEntry.h */; };
+		833B9E331F508D8500E0E428 /* JSFileSystemEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 833B9E2E1F508D8000E0E428 /* JSFileSystemEntry.cpp */; };
+		833B9E341F508D8500E0E428 /* JSFileSystemEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 833B9E2A1F508D8000E0E428 /* JSFileSystemEntry.h */; };
+		833B9E351F508D8500E0E428 /* JSFileSystemFileEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 833B9E2D1F508D8000E0E428 /* JSFileSystemFileEntry.cpp */; };
+		833B9E361F508D8500E0E428 /* JSFileSystemFileEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 833B9E2C1F508D8000E0E428 /* JSFileSystemFileEntry.h */; };
 		83407FC11E8D9C1700E048D3 /* VisibilityChangeClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 83407FC01E8D9C1200E048D3 /* VisibilityChangeClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		834476EE1DA5BC57002B6ED2 /* JSScrollToOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83E9B3001DA5A51E00FFE8F6 /* JSScrollToOptions.cpp */; };
 		834476EF1DA5BC5E002B6ED2 /* JSScrollToOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E9B3011DA5A51E00FFE8F6 /* JSScrollToOptions.h */; };
@@ -3453,6 +3459,11 @@
 		836DAA061CEAB80D00A2B707 /* RenderDescendantIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = 836DAA051CEAB7CD00A2B707 /* RenderDescendantIterator.h */; };
 		836FBCEA178C113200B21A15 /* SVGAnimatedTypeAnimator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 836FBCE9178C113200B21A15 /* SVGAnimatedTypeAnimator.cpp */; };
 		836FBCEC178C117F00B21A15 /* SVGAnimatedProperty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 836FBCEB178C117F00B21A15 /* SVGAnimatedProperty.cpp */; };
+		8370568D1F50915500D93425 /* JSFileCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 837056881F50915000D93425 /* JSFileCallback.cpp */; };
+		8370568E1F50915700D93425 /* JSFileCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 8370568B1F50915000D93425 /* JSFileCallback.h */; };
+		8370568F1F50915900D93425 /* JSFileSystemEntryCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8370568A1F50915000D93425 /* JSFileSystemEntryCallback.cpp */; };
+		837056901F50915C00D93425 /* JSFileSystemEntryCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 837056891F50915000D93425 /* JSFileSystemEntryCallback.h */; };
+		8371AC3B1F509BE400FBF284 /* ErrorCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 8371AC391F509BDD00FBF284 /* ErrorCallback.h */; };
 		8372DB311A6780A800C697C5 /* DiagnosticLoggingResultType.h in Headers */ = {isa = PBXBuildFile; fileRef = 8372DB301A6780A800C697C5 /* DiagnosticLoggingResultType.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		83765F951DAC522F00C06537 /* MouseEventInit.h in Headers */ = {isa = PBXBuildFile; fileRef = 83765F941DAC521800C06537 /* MouseEventInit.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		837A80131E1E127300026B9F /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 837A80111E1E127300026B9F /* Localizable.stringsdict */; };
@@ -3464,6 +3475,12 @@
 		838EF5381DC149E2008F0C39 /* IDBTransactionMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 838EF5361DC149DA008F0C39 /* IDBTransactionMode.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		838EF53B1DC14A7C008F0C39 /* JSIDBTransactionMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 838EF5391DC14A75008F0C39 /* JSIDBTransactionMode.cpp */; };
 		838EF53C1DC14A7C008F0C39 /* JSIDBTransactionMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 838EF53A1DC14A75008F0C39 /* JSIDBTransactionMode.h */; };
+		838F86DA1F509E7400E8CFC5 /* FileCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 838F86D81F509E6C00E8CFC5 /* FileCallback.h */; };
+		838F86DB1F509E7B00E8CFC5 /* FileSystemEntryCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 838F86D71F509E6C00E8CFC5 /* FileSystemEntryCallback.h */; };
+		8399470B1F50B63E00E9D86B /* DOMFileSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 839947091F50B63800E9D86B /* DOMFileSystem.cpp */; };
+		8399470C1F50B63E00E9D86B /* DOMFileSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 839947071F50B63800E9D86B /* DOMFileSystem.h */; };
+		8399470F1F50B6FA00E9D86B /* JSDOMFileSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8399470D1F50B6F300E9D86B /* JSDOMFileSystem.cpp */; };
+		839947101F50B6FA00E9D86B /* JSDOMFileSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 8399470E1F50B6F300E9D86B /* JSDOMFileSystem.h */; };
 		839A2F2D1E204A710039057E /* WebGLStateTracker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 839A2F2B1E204A6D0039057E /* WebGLStateTracker.cpp */; };
 		839A2F2E1E204A710039057E /* WebGLStateTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 839A2F2C1E204A6D0039057E /* WebGLStateTracker.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		839AAFEC1A0C0C8D00605F99 /* HTMLWBRElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 839AAFEA1A0C0C8D00605F99 /* HTMLWBRElement.cpp */; };
@@ -3504,6 +3521,14 @@
 		83D35AF21C718D9000F70D5A /* JSXMLHttpRequestEventTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D35AF01C718D8400F70D5A /* JSXMLHttpRequestEventTarget.h */; };
 		83E359A21BB1031D002CEB98 /* JSHTMLTimeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E359A01BB1031D002CEB98 /* JSHTMLTimeElement.h */; };
 		83E359A31BB1031D002CEB98 /* JSHTMLTimeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83E359A11BB1031D002CEB98 /* JSHTMLTimeElement.cpp */; };
+		83EE598E1F50958E003E8B30 /* JSErrorCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83EE598C1F50958B003E8B30 /* JSErrorCallback.cpp */; };
+		83EE598F1F50958E003E8B30 /* JSErrorCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 83EE598B1F50958B003E8B30 /* JSErrorCallback.h */; };
+		83FB33701F508A5400986E54 /* FileSystemDirectoryEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83FB336B1F508A4E00986E54 /* FileSystemDirectoryEntry.cpp */; };
+		83FB33711F508A5400986E54 /* FileSystemDirectoryEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 83FB336D1F508A4E00986E54 /* FileSystemDirectoryEntry.h */; };
+		83FB33721F508A5800986E54 /* FileSystemEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83FB336E1F508A4E00986E54 /* FileSystemEntry.cpp */; };
+		83FB33731F508A5800986E54 /* FileSystemEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 83FB336F1F508A4E00986E54 /* FileSystemEntry.h */; };
+		83FB33741F508A5B00986E54 /* FileSystemFileEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83FB33691F508A4E00986E54 /* FileSystemFileEntry.cpp */; };
+		83FB33751F508A5B00986E54 /* FileSystemFileEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = 83FB336C1F508A4E00986E54 /* FileSystemFileEntry.h */; };
 		83FE7CA71DA9F1A70037237C /* UIEventInit.h in Headers */ = {isa = PBXBuildFile; fileRef = 83FE7CA41DA9F1660037237C /* UIEventInit.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		83FE7CA81DA9F1B60037237C /* EventModifierInit.h in Headers */ = {isa = PBXBuildFile; fileRef = 83FE7CA31DA9F1650037237C /* EventModifierInit.h */; settings = {ATTRIBUTES = (Private, ); }; };
 		83FE90271E307C30003E9199 /* PerformanceMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 83FE90261E307C1C003E9199 /* PerformanceMonitor.h */; };
@@ -11547,6 +11572,12 @@
 		8329DCC21C7A6AE300730B33 /* HTMLHyperlinkElementUtils.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = HTMLHyperlinkElementUtils.idl; sourceTree = "<group>"; };
 		832B843319D8E55100B26055 /* SVGAnimateElementBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimateElementBase.h; sourceTree = "<group>"; };
 		832B843519D8E57400B26055 /* SVGAnimateElementBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimateElementBase.cpp; sourceTree = "<group>"; };
+		833B9E2A1F508D8000E0E428 /* JSFileSystemEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFileSystemEntry.h; sourceTree = "<group>"; };
+		833B9E2B1F508D8000E0E428 /* JSFileSystemDirectoryEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFileSystemDirectoryEntry.cpp; sourceTree = "<group>"; };
+		833B9E2C1F508D8000E0E428 /* JSFileSystemFileEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFileSystemFileEntry.h; sourceTree = "<group>"; };
+		833B9E2D1F508D8000E0E428 /* JSFileSystemFileEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFileSystemFileEntry.cpp; sourceTree = "<group>"; };
+		833B9E2E1F508D8000E0E428 /* JSFileSystemEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFileSystemEntry.cpp; sourceTree = "<group>"; };
+		833B9E2F1F508D8000E0E428 /* JSFileSystemDirectoryEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFileSystemDirectoryEntry.h; sourceTree = "<group>"; };
 		83407FC01E8D9C1200E048D3 /* VisibilityChangeClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisibilityChangeClient.h; sourceTree = "<group>"; };
 		8348BFA91B85729500912F36 /* ClassCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClassCollection.cpp; sourceTree = "<group>"; };
 		8348BFAA1B85729500912F36 /* ClassCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClassCollection.h; sourceTree = "<group>"; };
@@ -11588,6 +11619,14 @@
 		836DAA051CEAB7CD00A2B707 /* RenderDescendantIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderDescendantIterator.h; sourceTree = "<group>"; };
 		836FBCE9178C113200B21A15 /* SVGAnimatedTypeAnimator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimatedTypeAnimator.cpp; sourceTree = "<group>"; };
 		836FBCEB178C117F00B21A15 /* SVGAnimatedProperty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimatedProperty.cpp; sourceTree = "<group>"; };
+		837056881F50915000D93425 /* JSFileCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFileCallback.cpp; sourceTree = "<group>"; };
+		837056891F50915000D93425 /* JSFileSystemEntryCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFileSystemEntryCallback.h; sourceTree = "<group>"; };
+		8370568A1F50915000D93425 /* JSFileSystemEntryCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFileSystemEntryCallback.cpp; sourceTree = "<group>"; };
+		8370568B1F50915000D93425 /* JSFileCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFileCallback.h; sourceTree = "<group>"; };
+		8371AC361F509BDD00FBF284 /* FileSystemEntryCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = FileSystemEntryCallback.idl; sourceTree = "<group>"; };
+		8371AC371F509BDD00FBF284 /* ErrorCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ErrorCallback.idl; sourceTree = "<group>"; };
+		8371AC381F509BDD00FBF284 /* FileCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = FileCallback.idl; sourceTree = "<group>"; };
+		8371AC391F509BDD00FBF284 /* ErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ErrorCallback.h; sourceTree = "<group>"; };
 		8372DB301A6780A800C697C5 /* DiagnosticLoggingResultType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiagnosticLoggingResultType.h; sourceTree = "<group>"; };
 		83765F931DAC521800C06537 /* MouseEventInit.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MouseEventInit.idl; sourceTree = "<group>"; };
 		83765F941DAC521800C06537 /* MouseEventInit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MouseEventInit.h; sourceTree = "<group>"; };
@@ -11602,6 +11641,13 @@
 		838EF5371DC149DA008F0C39 /* IDBTransactionMode.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBTransactionMode.idl; sourceTree = "<group>"; };
 		838EF5391DC14A75008F0C39 /* JSIDBTransactionMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBTransactionMode.cpp; sourceTree = "<group>"; };
 		838EF53A1DC14A75008F0C39 /* JSIDBTransactionMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBTransactionMode.h; sourceTree = "<group>"; };
+		838F86D71F509E6C00E8CFC5 /* FileSystemEntryCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileSystemEntryCallback.h; sourceTree = "<group>"; };
+		838F86D81F509E6C00E8CFC5 /* FileCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileCallback.h; sourceTree = "<group>"; };
+		839947071F50B63800E9D86B /* DOMFileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMFileSystem.h; sourceTree = "<group>"; };
+		839947081F50B63800E9D86B /* DOMFileSystem.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMFileSystem.idl; sourceTree = "<group>"; };
+		839947091F50B63800E9D86B /* DOMFileSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMFileSystem.cpp; sourceTree = "<group>"; };
+		8399470D1F50B6F300E9D86B /* JSDOMFileSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMFileSystem.cpp; sourceTree = "<group>"; };
+		8399470E1F50B6F300E9D86B /* JSDOMFileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDOMFileSystem.h; sourceTree = "<group>"; };
 		839A2F2B1E204A6D0039057E /* WebGLStateTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGLStateTracker.cpp; sourceTree = "<group>"; };
 		839A2F2C1E204A6D0039057E /* WebGLStateTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGLStateTracker.h; sourceTree = "<group>"; };
 		839AAFEA1A0C0C8D00605F99 /* HTMLWBRElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLWBRElement.cpp; sourceTree = "<group>"; };
@@ -11650,8 +11696,19 @@
 		83E959E11B8BC22B004D9385 /* NativeNodeFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NativeNodeFilter.h; sourceTree = "<group>"; };
 		83E9B3001DA5A51E00FFE8F6 /* JSScrollToOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollToOptions.cpp; sourceTree = "<group>"; };
 		83E9B3011DA5A51E00FFE8F6 /* JSScrollToOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollToOptions.h; sourceTree = "<group>"; };
+		83EE598B1F50958B003E8B30 /* JSErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSErrorCallback.h; sourceTree = "<group>"; };
+		83EE598C1F50958B003E8B30 /* JSErrorCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSErrorCallback.cpp; sourceTree = "<group>"; };
 		83F570AD1C53268E007FD6CB /* JSXMLDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSXMLDocument.h; sourceTree = "<group>"; };
 		83F570AE1C53268E007FD6CB /* JSXMLDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSXMLDocument.cpp; sourceTree = "<group>"; };
+		83FB33671F508A4E00986E54 /* FileSystemFileEntry.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = FileSystemFileEntry.idl; sourceTree = "<group>"; };
+		83FB33681F508A4E00986E54 /* FileSystemEntry.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = FileSystemEntry.idl; sourceTree = "<group>"; };
+		83FB33691F508A4E00986E54 /* FileSystemFileEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FileSystemFileEntry.cpp; sourceTree = "<group>"; };
+		83FB336A1F508A4E00986E54 /* FileSystemDirectoryEntry.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = FileSystemDirectoryEntry.idl; sourceTree = "<group>"; };
+		83FB336B1F508A4E00986E54 /* FileSystemDirectoryEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FileSystemDirectoryEntry.cpp; sourceTree = "<group>"; };
+		83FB336C1F508A4E00986E54 /* FileSystemFileEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileSystemFileEntry.h; sourceTree = "<group>"; };
+		83FB336D1F508A4E00986E54 /* FileSystemDirectoryEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileSystemDirectoryEntry.h; sourceTree = "<group>"; };
+		83FB336E1F508A4E00986E54 /* FileSystemEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FileSystemEntry.cpp; sourceTree = "<group>"; };
+		83FB336F1F508A4E00986E54 /* FileSystemEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileSystemEntry.h; sourceTree = "<group>"; };
 		83FE7CA31DA9F1650037237C /* EventModifierInit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventModifierInit.h; sourceTree = "<group>"; };
 		83FE7CA41DA9F1660037237C /* UIEventInit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIEventInit.h; sourceTree = "<group>"; };
 		83FE7CA51DA9F1660037237C /* UIEventInit.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = UIEventInit.idl; sourceTree = "<group>"; };
@@ -16816,6 +16873,7 @@
 				A83B790E0CCAFF97000B0825 /* CSS */,
 				5CE5D9A61DB899A800CE7A8D /* Encoding */,
 				CDA98DCD1601515C00FEA3B1 /* EncryptedMedia */,
+				83FB33771F508CB500986E54 /* EntriesAPI */,
 				A83B79120CCB003F000B0825 /* Events */,
 				42A023FA1A39F13A00F722CF /* FetchAPI */,
 				89878576122CA1DA003AABDA /* FileAPI */,
@@ -19993,6 +20051,52 @@
 			path = beacon;
 			sourceTree = "<group>";
 		};
+		83FB33651F508A1700986E54 /* entriesapi */ = {
+			isa = PBXGroup;
+			children = (
+				839947091F50B63800E9D86B /* DOMFileSystem.cpp */,
+				839947071F50B63800E9D86B /* DOMFileSystem.h */,
+				839947081F50B63800E9D86B /* DOMFileSystem.idl */,
+				8371AC391F509BDD00FBF284 /* ErrorCallback.h */,
+				8371AC371F509BDD00FBF284 /* ErrorCallback.idl */,
+				838F86D81F509E6C00E8CFC5 /* FileCallback.h */,
+				8371AC381F509BDD00FBF284 /* FileCallback.idl */,
+				83FB336B1F508A4E00986E54 /* FileSystemDirectoryEntry.cpp */,
+				83FB336D1F508A4E00986E54 /* FileSystemDirectoryEntry.h */,
+				83FB336A1F508A4E00986E54 /* FileSystemDirectoryEntry.idl */,
+				83FB336E1F508A4E00986E54 /* FileSystemEntry.cpp */,
+				83FB336F1F508A4E00986E54 /* FileSystemEntry.h */,
+				83FB33681F508A4E00986E54 /* FileSystemEntry.idl */,
+				838F86D71F509E6C00E8CFC5 /* FileSystemEntryCallback.h */,
+				8371AC361F509BDD00FBF284 /* FileSystemEntryCallback.idl */,
+				83FB33691F508A4E00986E54 /* FileSystemFileEntry.cpp */,
+				83FB336C1F508A4E00986E54 /* FileSystemFileEntry.h */,
+				83FB33671F508A4E00986E54 /* FileSystemFileEntry.idl */,
+			);
+			path = entriesapi;
+			sourceTree = "<group>";
+		};
+		83FB33771F508CB500986E54 /* EntriesAPI */ = {
+			isa = PBXGroup;
+			children = (
+				8399470D1F50B6F300E9D86B /* JSDOMFileSystem.cpp */,
+				8399470E1F50B6F300E9D86B /* JSDOMFileSystem.h */,
+				83EE598C1F50958B003E8B30 /* JSErrorCallback.cpp */,
+				83EE598B1F50958B003E8B30 /* JSErrorCallback.h */,
+				837056881F50915000D93425 /* JSFileCallback.cpp */,
+				8370568B1F50915000D93425 /* JSFileCallback.h */,
+				833B9E2B1F508D8000E0E428 /* JSFileSystemDirectoryEntry.cpp */,
+				833B9E2F1F508D8000E0E428 /* JSFileSystemDirectoryEntry.h */,
+				833B9E2E1F508D8000E0E428 /* JSFileSystemEntry.cpp */,
+				833B9E2A1F508D8000E0E428 /* JSFileSystemEntry.h */,
+				8370568A1F50915000D93425 /* JSFileSystemEntryCallback.cpp */,
+				837056891F50915000D93425 /* JSFileSystemEntryCallback.h */,
+				833B9E2D1F508D8000E0E428 /* JSFileSystemFileEntry.cpp */,
+				833B9E2C1F508D8000E0E428 /* JSFileSystemFileEntry.h */,
+			);
+			name = EntriesAPI;
+			sourceTree = "<group>";
+		};
 		89878576122CA1DA003AABDA /* FileAPI */ = {
 			isa = PBXGroup;
 			children = (
@@ -20759,6 +20863,7 @@
 				41380C1E1F34366000155FDA /* cache */,
 				57C7A6881E56946D00C67D71 /* credentials */,
 				CDA98DBD16014E0800FEA3B1 /* encryptedmedia */,
+				83FB33651F508A1700986E54 /* entriesapi */,
 				41F54F7C1C50C4F600338488 /* fetch */,
 				518F4FE9194CA4B60081BAAE /* gamepad */,
 				971145FF14EF007900674FD9 /* geolocation */,
@@ -27266,6 +27371,7 @@
 				7AABA25A14BC613300AA9A11 /* DOMEditor.h in Headers */,
 				BC1BDF25156C18C7001C1243 /* DOMError.h in Headers */,
 				BC60D6E90D28D83400B9918F /* DOMException.h in Headers */,
+				8399470C1F50B63E00E9D86B /* DOMFileSystem.h in Headers */,
 				2ED609BD1145B07100C8684E /* DOMFormData.h in Headers */,
 				A8185F3B09765766005826D9 /* DOMImplementation.h in Headers */,
 				E3C99A091DC3D41C00794AD3 /* DOMJITCheckDOM.h in Headers */,
@@ -27351,6 +27457,7 @@
 				B25599A50D00D8BA00BB825C /* EmptyClients.h in Headers */,
 				515BE1901D54F5FB00DD7C68 /* EmptyGamepadProvider.h in Headers */,
 				FD31609312B026F700C1A359 /* EqualPowerPanner.h in Headers */,
+				8371AC3B1F509BE400FBF284 /* ErrorCallback.h in Headers */,
 				2ECF7AE210162B5800427DE7 /* ErrorEvent.h in Headers */,
 				85031B420A44EFC700F992E0 /* Event.h in Headers */,
 				4138D3351244054800323D33 /* EventContext.h in Headers */,
@@ -27414,6 +27521,7 @@
 				FD31609512B026F700C1A359 /* FFTConvolver.h in Headers */,
 				FD31609712B026F700C1A359 /* FFTFrame.h in Headers */,
 				976D6C81122B8A3D001FD1F7 /* File.h in Headers */,
+				838F86DA1F509E7400E8CFC5 /* FileCallback.h in Headers */,
 				066C772B0AB603B700238CC4 /* FileChooser.h in Headers */,
 				976D6C83122B8A3D001FD1F7 /* FileError.h in Headers */,
 				5351D4B11DF916B4008010CD /* FileHandle.h in Headers */,
@@ -27430,6 +27538,10 @@
 				2EF1BFEB121C9F4200C27627 /* FileStream.h in Headers */,
 				2EF1BFF9121CB0CE00C27627 /* FileStreamClient.h in Headers */,
 				514B3F730C722047000530DF /* FileSystem.h in Headers */,
+				83FB33711F508A5400986E54 /* FileSystemDirectoryEntry.h in Headers */,
+				83FB33731F508A5800986E54 /* FileSystemEntry.h in Headers */,
+				838F86DB1F509E7B00E8CFC5 /* FileSystemEntryCallback.h in Headers */,
+				83FB33751F508A5B00986E54 /* FileSystemFileEntry.h in Headers */,
 				26C17A3E1491D2D400D12BA2 /* FileSystemIOS.h in Headers */,
 				BC5EB69F0E81DAEB00B25965 /* FillLayer.h in Headers */,
 				845E72F80FD261EE00A87D79 /* Filter.h in Headers */,
@@ -28036,6 +28148,7 @@
 				40ECAE7E16B8B67200C36103 /* JSDOMError.h in Headers */,
 				BC60D7C10D29A46300B9918F /* JSDOMException.h in Headers */,
 				7C45C9D61E3FCBF800AAB558 /* JSDOMExceptionHandling.h in Headers */,
+				839947101F50B6FA00E9D86B /* JSDOMFileSystem.h in Headers */,
 				2E0888D51148848A00AF4265 /* JSDOMFormData.h in Headers */,
 				E1C36C030EB076D6007410BC /* JSDOMGlobalObject.h in Headers */,
 				7C2BDD3E17C7F98C0038FF15 /* JSDOMGlobalObjectTask.h in Headers */,
@@ -28085,6 +28198,7 @@
 				5750A9821E6A150800705C4A /* JSEcKeyParams.h in Headers */,
 				65DF31FA09D1CC60000BE325 /* JSElement.h in Headers */,
 				ADEC78F818EE5308001315C2 /* JSElementCustom.h in Headers */,
+				83EE598F1F50958E003E8B30 /* JSErrorCallback.h in Headers */,
 				2ECF7ADD10162B3800427DE7 /* JSErrorEvent.h in Headers */,
 				F3D461491161D53200CA0D09 /* JSErrorHandler.h in Headers */,
 				14E8378E09F85D4F00B85AE4 /* JSEvent.h in Headers */,
@@ -28111,10 +28225,15 @@
 				7CE1917B1F2ABE7100272F78 /* JSFetchRequestRedirect.h in Headers */,
 				8E4C96DD1AD4483500365A50 /* JSFetchResponse.h in Headers */,
 				BC00F0150E0A189500FD04E3 /* JSFile.h in Headers */,
+				8370568E1F50915700D93425 /* JSFileCallback.h in Headers */,
 				2E3BC0CB117D3E0800B9409A /* JSFileError.h in Headers */,
 				BC00F0170E0A189500FD04E3 /* JSFileList.h in Headers */,
 				2E94F43C119207DA00B7F75D /* JSFileReader.h in Headers */,
 				898785F5122E1EAC003AABDA /* JSFileReaderSync.h in Headers */,
+				833B9E321F508D8500E0E428 /* JSFileSystemDirectoryEntry.h in Headers */,
+				833B9E341F508D8500E0E428 /* JSFileSystemEntry.h in Headers */,
+				837056901F50915C00D93425 /* JSFileSystemEntryCallback.h in Headers */,
+				833B9E361F508D8500E0E428 /* JSFileSystemFileEntry.h in Headers */,
 				B6D9D27B14EAC0860090D75E /* JSFocusEvent.h in Headers */,
 				C280833F1C6DC26F001451B6 /* JSFontFace.h in Headers */,
 				1C24EEA91C72A7B40080F8FC /* JSFontFaceSet.h in Headers */,
@@ -31300,6 +31419,7 @@
 				7AABA25914BC613300AA9A11 /* DOMEditor.cpp in Sources */,
 				BC1BDF24156C1883001C1243 /* DOMError.cpp in Sources */,
 				978D07BE145A0F6C0096908D /* DOMException.cpp in Sources */,
+				8399470B1F50B63E00E9D86B /* DOMFileSystem.cpp in Sources */,
 				2ED609BC1145B07100C8684E /* DOMFormData.cpp in Sources */,
 				A8185F3E09765766005826D9 /* DOMImplementation.cpp in Sources */,
 				E398FC241DC32A20003C4684 /* DOMJITHelpers.cpp in Sources */,
@@ -31430,6 +31550,9 @@
 				C57FEDE11212EE9C0097BE65 /* FileSystem.cpp in Sources */,
 				5160306C0CC4362300C8AC25 /* FileSystemCF.cpp in Sources */,
 				514B3F760C722055000530DF /* FileSystemCocoa.mm in Sources */,
+				83FB33701F508A5400986E54 /* FileSystemDirectoryEntry.cpp in Sources */,
+				83FB33721F508A5800986E54 /* FileSystemEntry.cpp in Sources */,
+				83FB33741F508A5B00986E54 /* FileSystemFileEntry.cpp in Sources */,
 				26C17A3F1491D2D400D12BA2 /* FileSystemIOS.mm in Sources */,
 				A1CC11641E493D0100EFA69C /* FileSystemMac.mm in Sources */,
 				5160300B0CC4251200C8AC25 /* FileSystemPOSIX.cpp in Sources */,
@@ -32016,6 +32139,7 @@
 				40ECAE8116B8B68A00C36103 /* JSDOMError.cpp in Sources */,
 				BC60D7C00D29A46300B9918F /* JSDOMException.cpp in Sources */,
 				7C45C9D21E3EFE0800AAB558 /* JSDOMExceptionHandling.cpp in Sources */,
+				8399470F1F50B6FA00E9D86B /* JSDOMFileSystem.cpp in Sources */,
 				2E0888D41148848A00AF4265 /* JSDOMFormData.cpp in Sources */,
 				E1C36CBD0EB08062007410BC /* JSDOMGlobalObject.cpp in Sources */,
 				7C2BDD3D17C7F98C0038FF15 /* JSDOMGlobalObjectTask.cpp in Sources */,
@@ -32064,6 +32188,7 @@
 				65DF31F909D1CC60000BE325 /* JSElement.cpp in Sources */,
 				BC2ED5550C6B9BD300920BFF /* JSElementCustom.cpp in Sources */,
 				E3975B7A1EC9AF3F00847717 /* JSElementDOMJIT.cpp in Sources */,
+				83EE598E1F50958E003E8B30 /* JSErrorCallback.cpp in Sources */,
 				2ECF7ADC10162B3800427DE7 /* JSErrorEvent.cpp in Sources */,
 				F3D461481161D53200CA0D09 /* JSErrorHandler.cpp in Sources */,
 				14E8378409F85D1C00B85AE4 /* JSEvent.cpp in Sources */,
@@ -32093,10 +32218,15 @@
 				7CE1917A1F2ABE7100272F78 /* JSFetchRequestRedirect.cpp in Sources */,
 				8E4C96DC1AD4483500365A50 /* JSFetchResponse.cpp in Sources */,
 				BC00F0140E0A189500FD04E3 /* JSFile.cpp in Sources */,
+				8370568D1F50915500D93425 /* JSFileCallback.cpp in Sources */,
 				2E3BC0CA117D3E0800B9409A /* JSFileError.cpp in Sources */,
 				BC00F0160E0A189500FD04E3 /* JSFileList.cpp in Sources */,
 				2E94F43B119207DA00B7F75D /* JSFileReader.cpp in Sources */,
 				898785F4122E1EAC003AABDA /* JSFileReaderSync.cpp in Sources */,
+				833B9E311F508D8500E0E428 /* JSFileSystemDirectoryEntry.cpp in Sources */,
+				833B9E331F508D8500E0E428 /* JSFileSystemEntry.cpp in Sources */,
+				8370568F1F50915900D93425 /* JSFileSystemEntryCallback.cpp in Sources */,
+				833B9E351F508D8500E0E428 /* JSFileSystemFileEntry.cpp in Sources */,
 				B6D9D27C14EAC0860090D75E /* JSFocusEvent.cpp in Sources */,
 				C28083401C6DC275001451B6 /* JSFontFace.cpp in Sources */,
 				1C24EEA81C72A7B40080F8FC /* JSFontFaceSet.cpp in Sources */,
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to