David Wendt
2a3d324a33
Implement the "reschedule same continuation" behavior in AVM
2019-11-20 14:30:31 -05:00
David Wendt
40dbc535fc
Remove force_get now that everything can read virtual properties correctly.
2019-11-20 14:30:30 -05:00
David Wendt
e36a0d8350
Allow native functions to resolve on the AVM stack for whatever reason.
2019-11-20 14:30:30 -05:00
David Wendt
4dffe448e4
Get rid of the automatic `this` on stack continuations
2019-11-20 14:30:30 -05:00
David Wendt
9d422dc269
Allow getters to resolve on the AVM1 stack.
...
This involved yet another macro, `and_then!`, to avoid a ridiculous amount of duplicate code. It calls a continuation whenever it's value is ready, even if the value resolved on the Rust stack.
`locals_into_form_values` does not currently support this. It skips any property that does not resolve on the Rust stack. Future work is required to resolve this.
2019-11-20 14:30:30 -05:00
David Wendt
a59fffbc4e
Ensure that the value of the newly constructed `this` is returned in all cases.
...
This involves the use of a "stack continuation" system. Due to previous lifetime issues with using closures directly (see `8ea6c6234dba925ec5fbc61502627fb62b05916c`), we instead use a macro that constructs a `Collect`able type holding the things the continuation needs to continue working with. The syntax is largely similar to Rust closures but with the addition of an explicit list of bound variables, all of which must be `Collect`.
2019-11-20 14:30:29 -05:00
David Wendt
a95861d596
Stack continuations can now directly manipulate the return value of an ActionScript function.
2019-11-20 14:30:29 -05:00
David Wendt
8485e919db
Add a notion of "and_then" to activation objects.
...
This effectively constitutes the ability to assign arbitrary native contiuations to the AVM stack.
2019-11-20 14:30:29 -05:00
dependabot-preview[bot]
24009d4f4a
build(deps): bump structopt from 0.2.18 to 0.3.4
...
Bumps [structopt](https://github.com/TeXitoi/structopt ) from 0.2.18 to 0.3.4.
- [Release notes](https://github.com/TeXitoi/structopt/releases )
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.2.18...v0.3.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 19:01:18 +00:00
dependabot-preview[bot]
0e8d86a419
build(deps): bump env_logger from 0.6.2 to 0.7.1
...
Bumps [env_logger](https://github.com/sebasmagri/env_logger ) from 0.6.2 to 0.7.1.
- [Release notes](https://github.com/sebasmagri/env_logger/releases )
- [Changelog](https://github.com/sebasmagri/env_logger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/sebasmagri/env_logger/compare/v0.6.2...v0.7.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 18:49:16 +00:00
dependabot-preview[bot]
9d93669e9e
build(deps): bump svg from 0.5.12 to 0.6.0
...
Bumps [svg](https://github.com/bodoni/svg ) from 0.5.12 to 0.6.0.
- [Release notes](https://github.com/bodoni/svg/releases )
- [Commits](https://github.com/bodoni/svg/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 18:38:58 +00:00
dependabot-preview[bot]
387feaf76c
build(deps): bump rand from 0.6.5 to 0.7.2 ( #124 )
2019-11-20 18:30:54 +00:00
Mike Welsh
28518f5e54
web: Use new polyfill API in demo
2019-11-19 14:57:32 -08:00
dependabot-preview[bot]
fbf58f2fda
build(deps): bump wasm-bindgen-test from 0.2.50 to 0.3.5
...
Bumps [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen ) from 0.2.50 to 0.3.5.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-19 19:53:11 +00:00
dependabot-preview[bot]
356ede4003
build(deps): bump web-sys from 0.3.31 to 0.3.32
...
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen ) from 0.3.31 to 0.3.32.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-19 19:39:00 +00:00
dependabot-preview[bot]
f834826fa2
build(deps): bump base64 from 0.10.1 to 0.11.0
...
Bumps [base64](https://github.com/marshallpierce/rust-base64 ) from 0.10.1 to 0.11.0.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases )
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md )
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.10.1...v0.11.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-19 19:07:57 +00:00
dependabot-preview[bot]
6d124a6ac2
build(deps): bump smallvec from 0.6.13 to 1.0.0
...
Bumps [smallvec](https://github.com/servo/rust-smallvec ) from 0.6.13 to 1.0.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases )
- [Commits](https://github.com/servo/rust-smallvec/compare/v0.6.13...v1.0.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-19 18:51:19 +00:00
Mike Welsh
95812cab22
ci: Fix incorrect job name
2019-11-19 10:33:18 -08:00
Mike Welsh
1d185bd173
ci: Build self-hosted web package on CI
2019-11-19 10:25:12 -08:00
Mike Welsh
a205586332
chore: Bump lyon to 0.14.2, fix #77
2019-11-18 15:49:28 -08:00
Mike Welsh
07cc28dc9d
desktop: Resize window to match movie dimensions
2019-11-18 18:33:54 -05:00
Mike Welsh
70a3096dbb
desktop: Use ControlFlow::WaitUntil in winit 0.20
...
Fix frame timing with to prevent busy-waiting with the new control
flow behavior in winit 0.20.
2019-11-18 18:33:54 -05:00
Mike Welsh
6178dd9ef1
desktop: Fix Windows audio initialization due to winit changes
...
The Windows build was erroring immediately when trying to
initialize cpal because of changes in winit 0.20:
https://github.com/RustAudio/cpal/pull/348
Moved the cpal initialization to a separate thread to work around
this issue.
2019-11-18 18:33:54 -05:00
Mike Welsh
bd0fa5ee56
web: Merge #101 , self-hosted web support
2019-11-18 12:48:39 -05:00
Mike Welsh
9f85686666
web: Add missing return to VersionRange.from_requirement_string
2019-11-17 17:43:19 -05:00
Mike Welsh
f41708a584
web: Add missing return to Ruffle.newest()
2019-11-17 17:43:19 -05:00
David Wendt
5d8d02a5a2
Add `local` and `local_compatible` methods to the Public API.
2019-11-17 17:43:19 -05:00
David Wendt
ab9af6958e
Enforce the opt-out entirely within trusted extension space, so that we don't load any untrusted world code at all in that case.
2019-11-17 17:43:19 -05:00
David Wendt
5aab97053b
Don't depend on the legacy elements polyfill anymore, as that no longer exists, and we define all elements on demand.
2019-11-17 17:43:19 -05:00
David Wendt
d964afe72e
Expose the `RufflePlayer` element directly.
2019-11-17 17:43:19 -05:00
David Wendt
75e00aff7b
Allow looking up sources directly by version.
2019-11-17 17:43:19 -05:00
David Wendt
99714d445c
Expand version handling to support ranges and requirements.
2019-11-17 17:43:19 -05:00
David Wendt
3b1ab0e987
Fix the fallback object detection.
2019-11-17 17:43:19 -05:00
David Wendt
5b5aaecb83
Interdictions are now called polyfills
2019-11-17 17:43:19 -05:00
David Wendt
2fa42e3b31
Allow fault tolerance for naming conflicts with Ruffle elements
2019-11-17 17:43:19 -05:00
David Wendt
d53f9c8f47
Allow configuring the Webpack path
2019-11-17 17:43:19 -05:00
David Wendt
fbca5a0a6f
Fix broken interdictions
2019-11-17 17:43:19 -05:00
David Wendt
ccd763b696
Tolerate Ruffle loading after the page loads
2019-11-17 17:43:19 -05:00
David Wendt
6d34997975
Fix some bugs in the Public API
2019-11-17 17:43:19 -05:00
David Wendt
4163ea7975
Add the ability to upgrade the Public API itself.
...
This isn't intended to be used right away.
2019-11-17 17:43:19 -05:00
David Wendt
6b0881e3f2
Add proper version negotiation
2019-11-17 17:43:19 -05:00
David Wendt
db01ee8984
Add class to parse version strings
2019-11-17 17:43:19 -05:00
David Wendt
bb184469d8
Actually install new sources
2019-11-17 17:43:19 -05:00
David Wendt
f957ec4744
Create a standard list of interdictions rather than checking for specific strings.
2019-11-17 17:43:19 -05:00
David Wendt
d1aa71e488
Add explicit classes for the Ruffle Public API.
2019-11-17 17:43:19 -05:00
David Wendt
5dcbe43fe1
Consolidate public API into a shared module
2019-11-17 17:43:19 -05:00
David Wendt
8d29af6d49
Configure selfhosted Ruffle to also create a RufflePlayer API.
2019-11-17 17:43:19 -05:00
David Wendt
4742baf40d
Make interdictions configured via a window object call
2019-11-17 17:43:18 -05:00
David Wendt
8d9f1ec237
Opt the demo page out of Ruffle
2019-11-17 17:43:18 -05:00
David Wendt
48fd6cc7a7
Fix declarative configuration reader
2019-11-17 17:43:18 -05:00