[ 
https://issues.apache.org/jira/browse/CB-13044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16111683#comment-16111683
 ] 

Connor Pearson commented on CB-13044:
-------------------------------------

[~filmaj], thanks for the feedback. I think there's still a decent gap between 
the web specs and what's required to build mobile apps, but I can see why the 
cordova project wants to focus on spec plugins. I know the upkeep is a lot of 
work.

Regarding this issue, I just want to make sure we're aware of what's being lost 
because I didn't see any earlier discussions about it.


> 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: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to