Bug 231706

Summary: Implement File System standard
Product: WebKit Reporter: Sihui Liu <sihui_liu>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: REOPENED ---    
Severity: Normal CC: 03_placid_daft, adam.zielinski, annevk, asully, mrskman, nimajneb0905, philn, tomac, webkit-bug-importer, woodlxf00
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 254726, 229593, 230101, 230484, 230805, 230861, 230965, 230989, 231142, 231185, 231250, 231466, 231676, 231677, 232067, 232127, 232146, 232363, 247071, 250194    
Bug Blocks:    

Description Sihui Liu 2021-10-13 16:29:03 PDT
...
Comment 1 Radar WebKit Bug Importer 2021-10-20 16:30:17 PDT
<rdar://problem/84484202>
Comment 2 Jen Simmons 2022-02-15 14:09:42 PST
*** Bug 213775 has been marked as a duplicate of this bug. ***
Comment 3 Thomas Steiner 2022-06-22 23:53:41 PDT
Now that we have the Origin Private File System, any word about the picker methods?
showOpenFilePicker()
showSaveFilePicker()
showDirectoryPicker()
Comment 4 Anne van Kesteren 2023-06-09 05:08:40 PDT
I think this can be considered done. This work essentially morphed into supporting the File System standard. As per https://github.com/WebKit/standards-positions/issues/28 we don't think the methods mentioned in comment 3 are a good idea.
Comment 5 Sihui Liu 2023-06-09 09:19:37 PDT
Current spec link: https://fs.spec.whatwg.org/
Comment 6 Sihui Liu 2023-06-09 09:22:23 PDT Comment hidden (obsolete)
Comment 7 Sihui Liu 2023-06-09 09:23:29 PDT
Reopened as we have one interface `FileSystemWritableFileStream` unimplemented as in current spec:
https://fs.spec.whatwg.org/#api-filesystemwritablefilestream
Comment 8 Adam Zielinski 2023-06-26 03:23:01 PDT
I'm a WordPress core committer working at Automattic and WordPress could really use this feature in the WordPress Playground [1] project which runs an entire WordPress in the browser via WebAssembly.

The in-browser storage [2] already works great in Safari, but loading and saving changes to the local directory only works in Google Chrome [3]. Implementing it in WebKit would unlock using Safari as a WordPress development environment or even as a runtime for the Blocknotes app [4] where all notes are stored on the disk and synchronized across all the devices through iCloud. Ditto for other WordPress-based portable WASM apps.

[1] https://developer.wordpress.org/playground
[2] https://github.com/WordPress/wordpress-playground/pull/548
[3] https://github.com/WordPress/wordpress-playground/pull/547
[4] https://wptavern.com/blocknotes-app-runs-wordpress-natively-on-ios-now-in-public-beta
Comment 9 Alex Titarenko 2023-07-23 16:54:44 PDT
FileSystemWritableFileStream will be helpful for my note-taking app as well. It's working in Chrome but not Safari, and currently only working solution with using Web Worker is not very practical for me, so I need this to be implemented in Safari.