New issue
Advanced search Search tips

Issue 878539 link

Starred by 4 users

Issue metadata

Status: Started
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocked on:
issue 878566

Blocking:
issue 853326



Sign in to add a comment

Implement API to let user select one or more files

Project Member Reported by mek@chromium.org, Aug 28

Issue description

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.
 
Blockedon: 878566
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 29

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

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 6

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

Sign in to add a comment