Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix non-standard File System related API #15815

Merged
merged 21 commits into from
May 10, 2022

Conversation

teoli2003
Copy link
Contributor

@teoli2003 teoli2003 commented May 9, 2022

Last Q3, in #8379, @sideshowbarker cleaned a lot of existing standard file-related APIs. This was a huge improvement on what we had until then.

We still have a problem with non-standard entries that are intertwined with them, as well as with a sidebar that describes the non-standard version but is also, sometimes, used for the modern APIs.

This PR aims to fix this (there will be still work to bring the actual content of the modern APIs to completion, but this is a huge improvement already, so it is worth limiting us to this.

This is what has been done here:

  • Removed FileExceptionthat was Chrome-only, behind a prefix, and deleted in Chrome 29. It is now redirected to the File_and_Directory Entries API overview page.
  • Removed LocalFileSystem.* and LocalFileSystemSync.*. I didn't find any mention of it, no bcd. They are now redirected to the File_and_Directory Entries API overview page.
  • Metadata is implemented in Chromium, but is no more part of the File and Directory Entries API. I'm using this sidebar now without adding Metadata to it. Metadata will be accessible (via the non-standard and documented FileSystemEntry.getMetadata() method), but not discoverable (as no more on the standard track and not interoperable, this is good). I also cleaned the spec text and the intro note.
  • Firefox had three API, FileRequest, LockedFile and FileHandle. They are no more on the standard track and have been renamed to IDBFileEvent, IDBFileHandle, and IDBMutableHandle. I moved the page and updated them (events for example). I added a clear note pointing to use File and Directory Entries API. Note that IDBFileRequest is the last interface implementing DOMRequest that we deleted from MDN long ago. I have not resurrected it, but have explained the then() method in IDBFileRequest.
  • The non-standard IDBMutableFile.getFile() has been removed in Firefox 74. I deleted the page and its mention. It is now a Redirect.
  • I removed all mentions about File System API that was mixing both old and new versions of the API.
  • I made sure that all relevant pages are using the File and Directory Entries API sidebar.
  • I deleted the File System API entry from GroupData.json as it is no more used.
  • I deleted the File Handle API overview page as this API is gone (It is a redirect to the modern _File and Directory Entries API` overview page now.
  • Cleaned a lot of things...

There are a lot of improvements to do in the different APIs, but I think we have a good structure now and fewer skeletons in the closet (this is also removing about 100 flaws...)

@github-actions github-actions bot added Content:Other Any docs not covered by another "Content:" label Content:WebAPI Web API docs labels May 9, 2022
@github-actions
Copy link
Contributor

github-actions bot commented May 9, 2022

Preview URLs

Flaws

Note! 33 documents with no flaws that don't need to be listed. 🎉

URL: /en-US/docs/Mozilla/Firefox/Releases/33
Title: Firefox 33 for developers
on GitHub
Flaw count: 7

  • macros:
    • /en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toInteger does not exist
  • broken_links:
    • Can't resolve /en-US/docs/Mozilla/Add-ons/Code_snippets/JavaScript_Debugger_Service
    • Can't resolve /en-US/docs/Mozilla/Add-ons/SDK/High-Level_APIs/panel#panel(options)
    • Can't resolve /en-US/docs/Mozilla/Add-ons/SDK/High-Level_APIs/tabs#readystate
    • Can't resolve /en-US/docs/Mozilla/Add-ons/SDK/High-Level_APIs/windows#browserwindow
    • Can't resolve /en-US/docs/Mozilla/Add-ons/SDK/Low-Level_APIs/ui_sidebar#show(window)
    • and 1 more flaws omitted

URL: /en-US/docs/Web/API/IDBMutableFile
Title: IDBMutableFile
on GitHub
Flaw count: 2

  • macros:
    • /en-US/docs/Web/API/IDBDatabase/createMutableFile does not exist
  • bad_bcd_queries:
    • No BCD data for query: api.IDBMutableFile

URL: /en-US/docs/Web/API/IDBMutableFile/abort_event
Title: IDBMutableFile: abort event
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBMutableFile.abort_event

URL: /en-US/docs/Web/API/IDBMutableFile/type
Title: IDBMutableFile.type
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBMutableFile.type

URL: /en-US/docs/Web/API/IDBMutableFile/name
Title: IDBMutableFile.name
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBMutableFile.name

URL: /en-US/docs/Web/API/IDBMutableFile/open
Title: IDBMutableFile.open()
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBMutableFile.open

URL: /en-US/docs/Web/API/IDBMutableFile/error_event
Title: IDBMutableFile: error event
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBMutableFile.error_event

URL: /en-US/docs/Web/API/FileSystemEntry/moveTo
Title: FileSystemEntry.moveTo()
on GitHub
Flaw count: 1

  • macros:
    • /en-US/docs/Web/API/FileError does not exist

URL: /en-US/docs/Web/API/FileSystemEntry/getMetadata
Title: FileSystemEntry.getMetadata()
on GitHub
Flaw count: 1

  • macros:
    • /en-US/docs/Web/API/FileError does not exist

URL: /en-US/docs/Web/API/FileSystemEntry/copyTo
Title: FileSystemEntry.copyTo()
on GitHub
Flaw count: 1

  • macros:
    • /en-US/docs/Web/API/FileError does not exist

URL: /en-US/docs/Web/API/FileSystemFileEntry/createWriter
Title: FileSystemFileEntry.createWriter()
on GitHub
Flaw count: 5

  • macros:
    • /en-US/docs/Web/API/FileWriter does not exist
    • /en-US/docs/Web/API/FileWriter does not exist
    • /en-US/docs/Web/API/FileWriter does not exist
    • /en-US/docs/Web/API/FileError does not exist
    • /en-US/docs/Web/API/FileWriter does not exist

URL: /en-US/docs/Web/API/FileSystemDirectoryEntry/removeRecursively
Title: FileSystemDirectoryEntry.removeRecursively()
on GitHub
Flaw count: 3

  • macros:
    • /en-US/docs/Web/API/FileError does not exist
    • /en-US/docs/Web/API/FileError does not exist
    • /en-US/docs/Web/API/FileError/code does not exist

URL: /en-US/docs/Web/API/IDBFileRequest
Title: IDBFileRequest
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileRequest

URL: /en-US/docs/Web/API/IDBFileRequest/lockedFile
Title: IDBFileRequest.lockedFile
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileRequest.lockedFile

URL: /en-US/docs/Web/API/IDBFileRequest/progress_event
Title: IDBFileRequest: progress event
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileRequest.progress_event

URL: /en-US/docs/Web/API/IDBFileHandle
Title: IDBFileHandle
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle

URL: /en-US/docs/Web/API/IDBFileHandle/abort
Title: IDBFileHandle.abort()
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.abort

URL: /en-US/docs/Web/API/IDBFileHandle/append
Title: IDBFileHandle.append()
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.append

URL: /en-US/docs/Web/API/IDBFileHandle/abort_event
Title: IDFileHandle: abort event
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.abort_event

URL: /en-US/docs/Web/API/IDBFileHandle/active
Title: IDBFileHandle.active
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.abort

URL: /en-US/docs/Web/API/IDBFileHandle/complete_event
Title: IDBFileEvent: complete event
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.complete_event

URL: /en-US/docs/Web/API/IDBFileHandle/write
Title: IDBFileHandle.write()
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.write

URL: /en-US/docs/Web/API/IDBFileHandle/flush
Title: IDBFileHandle.flush()
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.flush

URL: /en-US/docs/Web/API/IDBFileHandle/location
Title: IDBFileHandle.location
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.location

URL: /en-US/docs/Web/API/IDBFileHandle/getMetaData
Title: IDBFileHandle.getMetadata()
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.getMetadata

URL: /en-US/docs/Web/API/IDBFileHandle/fileHandle
Title: IDBFileHandle.fileHandle
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.fileHandle

URL: /en-US/docs/Web/API/IDBFileHandle/truncate
Title: IDBFileHandle.truncate()
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.truncate

URL: /en-US/docs/Web/API/IDBFileHandle/readAsArrayBuffer
Title: IDBFileHandle.readAsArrayBuffer()
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.readAsArrayBuffer

URL: /en-US/docs/Web/API/IDBFileHandle/mode
Title: IDBFileHandle.mode
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.mode

URL: /en-US/docs/Web/API/IDBFileHandle/error_event
Title: IDBFileHandle: error_event
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.error_event

URL: /en-US/docs/Web/API/IDBFileHandle/readAsText
Title: IDBFileHandle.readAsText()
on GitHub
Flaw count: 1

  • bad_bcd_queries:
    • No BCD data for query: api.IDBFileHandle.readAsText

External URLs

URL: /en-US/docs/Mozilla/Firefox/Releases/33
Title: Firefox 33 for developers
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBMutableFile
Title: IDBMutableFile
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBMutableFile/abort_event
Title: IDBMutableFile: abort event
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBMutableFile/type
Title: IDBMutableFile.type
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBMutableFile/name
Title: IDBMutableFile.name
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBMutableFile/open
Title: IDBMutableFile.open()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBMutableFile/error_event
Title: IDBMutableFile: error event
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criteria
Title: Browser storage limits and eviction criteria
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/File/webkitRelativePath
Title: File.webkitRelativePath
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry
Title: FileSystemEntry
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry/fullPath
Title: FileSystemEntry.fullPath
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry/moveTo
Title: FileSystemEntry.moveTo()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry/toURL
Title: FileSystemEntry.toURL()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry/isFile
Title: FileSystemEntry.isFile
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry/remove
Title: FileSystemEntry.remove()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry/isDirectory
Title: FileSystemEntry.isDirectory
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry/name
Title: FileSystemEntry.name
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry/getMetadata
Title: FileSystemEntry.getMetadata()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry/copyTo
Title: FileSystemEntry.copyTo()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry/filesystem
Title: FileSystemEntry.filesystem
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemEntry/getParent
Title: FileSystemEntry.getParent()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/HTMLInputElement/webkitEntries
Title: HTMLInputElement.webkitEntries
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/HTMLInputElement/webkitdirectory
Title: HTMLInputElement.webkitdirectory
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemFileEntry
Title: FileSystemFileEntry
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemFileEntry/createWriter
Title: FileSystemFileEntry.createWriter()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemFileEntry/file
Title: FileSystemFileEntry.file()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/DirectoryEntrySync
Title: DirectoryEntrySync
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemDirectoryReader
Title: FileSystemDirectoryReader
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemDirectoryReader/readEntries
Title: FileSystemDirectoryReader.readEntries()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemDirectoryEntry
Title: FileSystemDirectoryEntry
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemDirectoryEntry/getFile
Title: FileSystemDirectoryEntry.getFile()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemDirectoryEntry/removeRecursively
Title: FileSystemDirectoryEntry.removeRecursively()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemDirectoryEntry/getDirectory
Title: FileSystemDirectoryEntry.getDirectory()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemDirectoryEntry/createReader
Title: FileSystemDirectoryEntry.createReader()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/DataTransferItem/webkitGetAsEntry
Title: DataTransferItem.webkitGetAsEntry()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Metadata
Title: Metadata
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Metadata/modificationTime
Title: Metadata.modificationTime
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Metadata/size
Title: Metadata.size
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileEntrySync
Title: FileEntrySync
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileRequest
Title: IDBFileRequest
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileRequest/lockedFile
Title: IDBFileRequest.lockedFile
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileRequest/progress_event
Title: IDBFileRequest: progress event
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle
Title: IDBFileHandle
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/abort
Title: IDBFileHandle.abort()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/append
Title: IDBFileHandle.append()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/abort_event
Title: IDFileHandle: abort event
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/active
Title: IDBFileHandle.active
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/complete_event
Title: IDBFileEvent: complete event
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/write
Title: IDBFileHandle.write()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/flush
Title: IDBFileHandle.flush()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/location
Title: IDBFileHandle.location
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/getMetaData
Title: IDBFileHandle.getMetadata()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/fileHandle
Title: IDBFileHandle.fileHandle
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/truncate
Title: IDBFileHandle.truncate()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/readAsArrayBuffer
Title: IDBFileHandle.readAsArrayBuffer()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/mode
Title: IDBFileHandle.mode
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/error_event
Title: IDBFileHandle: error_event
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/IDBFileHandle/readAsText
Title: IDBFileHandle.readAsText()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystemSync
Title: FileSystemSync
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/Window/requestFileSystem
Title: Window.requestFileSystem()
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystem
Title: FileSystem
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystem/root
Title: FileSystem.root
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/FileSystem/name
Title: FileSystem.name
on GitHub

No new external URLs


URL: /en-US/docs/Web/API/DirectoryReaderSync
Title: DirectoryReaderSync
on GitHub

No new external URLs

(this comment was updated 2022-05-09 12:40:49.696371)

@teoli2003 teoli2003 requested a review from sideshowbarker May 9, 2022 12:34
@teoli2003 teoli2003 marked this pull request as ready for review May 9, 2022 12:35
@teoli2003 teoli2003 requested review from a team as code owners May 9, 2022 12:35
@teoli2003 teoli2003 requested review from a team and schalkneethling and removed request for a team May 9, 2022 12:35
@sideshowbarker sideshowbarker merged commit c14747d into mdn:main May 10, 2022
yin1999 added a commit to yin1999/translated-content that referenced this pull request Aug 1, 2022
yin1999 added a commit to mdn/translated-content that referenced this pull request Aug 2, 2022
* Drop Canvas hit regions content

follow mdn/content#8226

* remove non-standard File System related API

follow mdn/content#15815

* Demix cancel event from GlobalEventHandlers

follow mdn/content#18115

* Remove IDBEnvironment mixin page

follow mdn/content#8495

* Remove RenderingContext typedef

follow mdn/content#6592

* Remove Transferable from MDN

follow mdn/content#8880

* remove Window.isSecureContext

follow mdn/content#8351

* remove standard table
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Content:Other Any docs not covered by another "Content:" label Content:WebAPI Web API docs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants