0
Files
src/third_party/blink/renderer/modules/filesystem
Joel Hockey dab864e536 Use SafeBaseName for mojo DirectoryEntry name
Field `name` will use type SafeBaseName.

Field `display_name` will use type string. It cannot use SafeBaseName
since it is possible at least for android display-names to be any
value including '/etc/passwd' or '../..'.

Bug: 367394555
Change-Id: Ifa66a11a030c11074fef845ae51cfca8554fcd79
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5869614
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Sam McNally <sammc@chromium.org>
Reviewed-by: Nathan Memmott <memmott@chromium.org>
Reviewed-by: David Jacobo <djacobo@chromium.org>
Reviewed-by: Luciano Pacheco <lucmult@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Fabian Sommer <fabiansommer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1369074}
2024-10-15 22:46:12 +00:00
..

FileSystem API

This directory contains the renderer side implementation of various filesystem related APIs.

//storage/browser/file_system/ contains part of the browser side implementation, while //content/browser/file_system/ contains the rest of the browser side implementation and blink/public/mojom/filesystem contains the mojom interfaces for these APIs.

APIs In this directory

File and Directory Entries API

First of all this directory contains the implementation of the Entries API. This API consists of types to expose read-only access to file and directory entries to the web, primarily used by drag-and-drop and <input type=file>. Our implementation doesn't match the interface names of the spec, but otherwise should be pretty close to the spec.

TODO(mek): More details

File API: Directories and FileSystem

Secondly this directory contains the implementation of something similar to the deprecated w3c file-system-api. This API is very similar to the previous Entries API, but it also adds support for writing and modifying to files and directories, as well as a way to get access to a origin scoped sandboxed filesystem.

TODO(mek): More details