-
-
Notifications
You must be signed in to change notification settings - Fork 759
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
avm2: Implement AIR flash.filesystem.File [desktop-only] #14178
base: master
Are you sure you want to change the base?
Conversation
74c2f18
to
831235b
Compare
I know this is just a draft for now, but we need to avoid using std::fs and std::path in core. This all needs to be a backend, or it won't be portable or testable. |
Personally I already implemented it on a fork, it's not perfect nor clean. And the branch not up to date with upstream for now but you can find it here if you want: https://github.com/Mesteery/ruffle/tree/partial-air/core/src/avm2/globals/flash/filesystem |
Oh that is very cool. I am probably going to work on finishing FileReference first and work on this only afterwards. If you are interested I think you could probably rebase it on top of #14157. Your backend abstraction is good to have. |
831235b
to
2a24cf9
Compare
@Mesteery would you be interested in making a pull request for your work? We now have FileReference and some foundational AIR support already. The missing |
Why not. I'll look into making a PR. There are still some problems with paths, I should rewrite this part. |
Nice. I look forward to your PR. It might make sense to make the actual path completely opaque and only have some kind of file handle in the avm2 code, then all methods like "resolve path", "get storage path" etc. would just forward that to the backend. |
Any update on this? |
Preview. This only works on Desktop, because it uses the native Path APIs. Needs code for version gating and stubs for wasm.