As explained in https://github.com/WICG/writable-files/blob/master/EXPLAINER.md, implement some kind of choose API that lets a user pick one or more files to read from and/or write to.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/52a6313050e4a77dd702652cb9157029c37c445e commit 52a6313050e4a77dd702652cb9157029c37c445e Author: Marijn Kruisselbrink <mek@chromium.org> Date: Wed Aug 29 16:25:21 2018 [FileSystem] Initial implementation of a "chooseEntry" type API. This adds a very basic API that can be used to let the user select a file on disk, from which the website can then read or write. The browser process side of this is guarded behind a new blink::features::WritabeFiles feature. Still missing is any kind of options passed to this API, so for now the API always just prompts the user to select a single file. Bug: 878539 Change-Id: I647829f08e46f19e39c599e2bff54ce446d11f87 Reviewed-on: https://chromium-review.googlesource.com/1194792 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Victor Costan <pwnall@chromium.org> Commit-Queue: Marijn Kruisselbrink <mek@chromium.org> Cr-Commit-Position: refs/heads/master@{#587145} [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/content/browser/BUILD.gn [add] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/content/browser/fileapi/file_system_chooser.cc [add] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/content/browser/fileapi/file_system_chooser.h [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/content/browser/fileapi/file_system_manager_impl.cc [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/content/browser/fileapi/file_system_manager_impl.h [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/content/child/runtime_features.cc [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/content/renderer/fileapi/file_system_dispatcher.cc [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/content/renderer/fileapi/file_system_dispatcher.h [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/content/renderer/fileapi/webfilesystem_impl.cc [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/content/renderer/fileapi/webfilesystem_impl.h [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/third_party/blink/common/features.cc [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/third_party/blink/public/common/features.h [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/third_party/blink/public/mojom/filesystem/file_system.mojom [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/third_party/blink/public/platform/web_file_system.h [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/third_party/blink/renderer/modules/filesystem/dom_window_file_system.cc [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/third_party/blink/renderer/modules/filesystem/dom_window_file_system.h [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/third_party/blink/renderer/modules/filesystem/local_file_system.cc [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/third_party/blink/renderer/modules/filesystem/local_file_system.h [modify] https://crrev.com/52a6313050e4a77dd702652cb9157029c37c445e/third_party/blink/renderer/modules/filesystem/window_file_system.idl
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1be3dfc39a3151e0736559930a146face2b2b8e2 commit 1be3dfc39a3151e0736559930a146face2b2b8e2 Author: Marijn Kruisselbrink <mek@chromium.org> Date: Thu Sep 06 02:25:32 2018 IDL compiler: Really fix IDL compiler to install conditional methods on instance. The previous fix still passed nullptr as instance, so wasn't actually installing anything on the instance. This CL fixes that. Also adds SecureContext to the chooseFileSystemEntries method that wanted this to work. Bug: 878566 , 878539 Change-Id: I7d7e6a5f62561ca5696b3066b3b7807ed61ff41c Reviewed-on: https://chromium-review.googlesource.com/1208812 Reviewed-by: Hitoshi Yoshida <peria@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Marijn Kruisselbrink <mek@chromium.org> Cr-Commit-Position: refs/heads/master@{#589088} [modify] https://crrev.com/1be3dfc39a3151e0736559930a146face2b2b8e2/third_party/blink/renderer/bindings/templates/methods.cpp.tmpl [modify] https://crrev.com/1be3dfc39a3151e0736559930a146face2b2b8e2/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface.cc [modify] https://crrev.com/1be3dfc39a3151e0736559930a146face2b2b8e2/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_check_security.cc [modify] https://crrev.com/1be3dfc39a3151e0736559930a146face2b2b8e2/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_conditional_secure_context.cc [modify] https://crrev.com/1be3dfc39a3151e0736559930a146face2b2b8e2/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_secure_context.cc [modify] https://crrev.com/1be3dfc39a3151e0736559930a146face2b2b8e2/third_party/blink/renderer/bindings/tests/results/modules/v8_test_interface_5.cc [modify] https://crrev.com/1be3dfc39a3151e0736559930a146face2b2b8e2/third_party/blink/renderer/modules/filesystem/window_file_system.idl
Comment 1 by mek@chromium.org
, Aug 28