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

Ff111 More OPFS related updaes #19056

Merged
merged 7 commits into from
Mar 13, 2023
Merged

Conversation

hamishwillee
Copy link
Collaborator

@hamishwillee hamishwillee commented Mar 6, 2023

FF111 added support for OPFS in https://bugzilla.mozilla.org/show_bug.cgi?id=1811001. I added the main API in #18907 but it never occurred to me that the rest of the file system around this was not supported. So as per https://bugzilla.mozilla.org/show_bug.cgi?id=1811001#c11 this updates the interfaces in the File System Access API to indicate they are also supported.

  • FileSystemWritableFileStream
  • FileSystemDirectoryHandle
  • FileSystemFileHandle
  • FileSystemFileHandle
  • FileSystemSyncAccessHandle

Note, WritableStream is already marked as supported from FF100

@saschanaz Can you confirm this issue delivers full support for the API / that this is the right set of things to mark as supported in FF111?

@github-actions github-actions bot added the data:api 🐇 Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API label Mar 6, 2023
Copy link
Contributor

@saschanaz saschanaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When doing this kind of check, I highly recommend searching for the pref in searchfox inside dom/webidl: https://searchfox.org/mozilla-central/search?q=dom.fs.enabled&path=dom%2Fwebidl&case=true&regexp=false

Per the result DataTransferItem and Window members are not covered (as they are not part of https://fs.spec.whatwg.org/)

And it seems spec_urls are missing too, can you add them while you are at it?

api/FileSystemHandle.json Outdated Show resolved Hide resolved
api/DataTransferItem.json Outdated Show resolved Hide resolved
api/Window.json Outdated Show resolved Hide resolved
api/Window.json Outdated Show resolved Hide resolved
api/Window.json Outdated Show resolved Hide resolved
api/FileSystemHandle.json Outdated Show resolved Hide resolved
Copy link
Contributor

@saschanaz saschanaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Submitted a bit early.)

api/FileSystemHandle.json Outdated Show resolved Hide resolved
@hamishwillee
Copy link
Collaborator Author

hamishwillee commented Mar 7, 2023

Hi @saschanaz

Thanks so much - good tip on the searchfox.

  • I've dropped the commits for the DataTransferItem and Window changes.
  • Reverted FileSystemHandle.requestPermission and queryPermission (along with status)
  • FileSystemHandle.remove() reverted

The APIs now covered appear to have a spec-urls unless they are non-standard - such as FileSystemHandle.remove().
FileSystemSyncAccessHandle does omit spec urls for the sync-versions feature. Not sure where would be the right links for those.

I think we're good.

Copy link
Contributor

@saschanaz saschanaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! One comment:

api/FileSystemHandle.json Show resolved Hide resolved
Comment on lines +116 to +148
"move": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/API/FileSystemHandle/move",
"support": {
"chrome": {
"version_added": false
},
"chrome_android": "mirror",
"edge": "mirror",
"firefox": {
"version_added": "111"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": false
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror"
},
"status": {
"experimental": true,
"standard_track": false,
"deprecated": false
}
}
},
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@queengooborg FYI support for this was added in FF111 in https://bugzilla.mozilla.org/show_bug.cgi?id=1811001. However appears to be explicitly non-standard at this point as it is in a "PR" state - see the big banner when you access the URL https://whatpr.org/fs/10.html#api-filesystemhandle

Upshot, I've added it because that makes the compatibility story easier to track later, but there is no spec URL and it is marked as experimental and non-standard.

@saschanaz Added with above caveats ^^^. I don't plan to add documentation for this right now; any idea on when this PR is likely to go in?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no idea, maybe @janvarga knows?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@saschanaz - cool - not urgent - just useful so we get a ping when it becomes standard.

BTW, thanks for all your help and advice on this. I will do better next time.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No problem, you're welcome 👍

@hamishwillee
Copy link
Collaborator Author

@queengooborg I think this can merge now.

@queengooborg queengooborg merged commit 9482cd2 into mdn:main Mar 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data:api 🐇 Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants