google / google/closure-compiler

Split nonstandard File Writer/File System API parts out of externs/browser/fileapi.js

Open
#1,855 3 comments 0 reactions 0 assignees View on GitHub
internal-issue-created triage-done
Dominant language
JavaScript
Stars
7.7k
Forks
1.2k
Avg merge
2d 12h
Merged PRs (30d)
6

Description

fileapi.js contains externs for:
- [File API](https://github.com/w3c/FileAPI) - actively maintained specification, implemented in all browsers
- [File API: Writer](https://www.w3.org/TR/file-writer-api/) - working group note, only implemented in Chrome
- [File API: Directories and System](https://www.w3.org/TR/file-system-api/) - working group note, only implemented in Chrome
- [Quota Management API](https://www.w3.org/TR/quota-api/) - working group note, only implemented in Chrome

Definitions from the latter three should be split out as browser-specific. (Although portions may end up being de-facto standards, see http://wicg.github.io/entries-api/)

In addition:
- The [File API](https://github.com/w3c/FileAPI) externs reference the type `FileError` which is not in the specification and not implemented in browsers other than Chrome.
- The externs include types that have been removed by browsers, such as `BlobBuilder`

Looking at the top level function definitions, the split up should probably be:
- File API:
- Blob
- File
- FileReader
- createObjectURL
- revokeObjectURL
- Chrome-specific externs:
- DirectoryEntry
- DirectoryReader
- Entry
- FileEntry
- FileSystem
- FileWriter
- Metadata
- webkitRequestFileSystem
- StorageInfo
- StorageQuota
- Remove:
- BlobBuilder
- WebKitBlobBuilder
- FileError
- FileSaver
- LocalFileSystem
- requestFileSystem
- resolveLocalFileSystemURI
- webkitResolveLocalFileSystemURI
- webkitURL

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.