[
https://issues.apache.org/jira/browse/CB-13044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16111733#comment-16111733
]
Filip Maj commented on CB-13044:
--------------------------------
[~cjpearson] for sure. Perhaps Cordova can do a bit of additional work in this
plugin to split up the old File plugin into the spec-specific bits: FileSystem,
FileWriter, and File API, and go hands-off on FS and FW from that point on. It
might be a bit easier for the community to take over from that point on. Not
sure, just speculating.
> Update cordova-plugin-file to latest version of File API
> --------------------------------------------------------
>
> Key: CB-13044
> URL: https://issues.apache.org/jira/browse/CB-13044
> Project: Apache Cordova
> Issue Type: Task
> Components: cordova-plugin-file
> Reporter: Filip Maj
> Labels: plugins-next
>
> Part of the roadmap for the core plugins is to update them to make them
> spec-relevant once more. See CB-12715.
> After taking a look at the current version of [W3C File
> API|https://w3c.github.io/FileAPI/], here is one take on what specific API
> changes are needed to update the API to the current version:
> - *remove* a bunch of APIs, specifically:
> -- everything to do with the [old (now discontinued) File System
> API|https://www.w3.org/TR/file-system-api/]:
> --- {{window.requestFileSystem}} method
> --- {{LocalFileSystem}} object
> --- {{FileSystem}} object
> --- {{Flags}} object
> --- {{Metadata}} object
> --- {{Entry}}, {{DirectoryEntry}} and {{FileEntry}} objects
> --- {{DirectoryReader}} object
> -- everything to do with the [old, discontinued File Writer
> API|https://www.w3.org/TR/file-writer-api/]: {{FileWriter}} object
> -- {{FileUploadOptions}}, {{FileUploadResult}} objects (wtf are these? I
> think they are for supporting file transfer? why are they in plugin-file?
> lol?)
> -- the {{FileError}} object, as the [latest spec says to return
> {{DOMException}}|https://w3c.github.io/FileAPI/#failureReason]
> - update a bunch of APIs, specifically:
> -- update {{FileReader}} interface's {{readAs*}} methods so that they take a
> {{Blob}} object instead of a {{File}} object as parameter
> -- if the polyfill is still needed, might need to update the {{File}} object
> and remove a bunch of extra native-y cruft like "type" and stuff that was
> used when leveraging the bridge
> -- update any error handling to return {{DOMException}} instances instead of
> the now-removed {{FileError}}
> - possibly write up a polyfill for {{Blob}} ? Looks like it will be needed in
> Android 4.4 or lower.
> - possibly write up a polyfill for {{FileList}} (as per
> [spec|https://w3c.github.io/FileAPI/#dfn-filelist]) - might be needed on iOS
> 9.3 / Android 4.4. Worth noting that the first descriptive text in the spec
> mentions this interface being "at risk" as it's basically a glorified array.
> - review docs:
> -- are referencing local file system paths like {{<img
> src="cdvfile://filesystem/path">}} still relevant (related to open question
> #2 below)?
> -- review and update
> https://cordova.apache.org/docs/en/latest/cordova/storage/storage.html#indexeddb
> - it mentions some things like indexeddb has a 5MB storage, we should
> probably update it to mention it is supported in ios, and do some quick
> checking on max storage size.
> -- remove
> https://cordova.apache.org/docs/en/latest/cordova/storage/storage.html#filesystem-api
> -- how much of this documentation should reside in the File plugin docs vs.
> in the general "Storage" cordova docs, or perhaps even the platform docs?
> over half of the File plugin docs talk about filesystem formats and platform
> quirks therein.
> A few open questions:
> 1. One thing worth noting is that platform implementations for a lot of the
> above may not be needed on iOS 10+ and Android 5.0+. Would need to check
> windows / edge support. If support is splotchy, we need to keep in mind to
> write the plugin in such a way that we don't clobber over
> potentially-pre-existing spec-adhering objects of the File API.
> 2. Worth calling out that the [File API defines its own URL scheme to
> use|https://w3c.github.io/FileAPI/#url]. Does this then supercede the cordova
> custom ones like cdvfile:// and other protocols?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]