David Wendt
7aa1ab82e4
avm2: Avoid locking the array when running user code.
...
The array being iterated is explicitly handed to all callbacks, and it is legal for the callback to mutate the array. Hence, we can't actually hold a `Ref` to the array storage when we call user code. Instead, we implement a custom `Iterator` which iterates over the object like user code would.
This actually can't be an `Iterator` impl due to limitations of the underlying trait. Hence, we have to `while let` instead of `for`.
2020-09-15 02:20:11 -07:00
David Wendt
832bbdd711
avm2: Implement `forEach`, `map`, `filter`, `every`, and `some` on `Array`.
...
This also comes with some refactoring: building the resulting array object and resolving holes is now done in helper methods.
2020-09-15 02:20:11 -07:00
David Wendt
0eeee72be6
avm2: Implement `Array.join`, `Array.toString`, and `Array.valueOf` (w/tests)
2020-09-15 02:20:11 -07:00
David Wendt
79df789028
tests: Add test for `Array.concat`.
2020-09-15 02:20:11 -07:00
David Wendt
75e6018607
tests: Add test for `newarray`.
2020-09-15 02:20:11 -07:00
David Wendt
505018c3b8
avm2: Implement `newarray`.
2020-09-15 02:20:11 -07:00
David Wendt
27793092c2
tests: Add `array_holes` test.
2020-09-15 02:20:11 -07:00
David Wendt
3d37fda1ef
tests: Add tests for `deleteproperty` on arrays.
2020-09-15 02:20:11 -07:00
David Wendt
04828663e8
avm2: `deleteproperty` should only ever yield `false` when attempting to delete unknown properties on a sealed class object.
2020-09-15 02:20:11 -07:00
David Wendt
6d9b9c9218
avm2: Attempts to get unknown properties on dynamic objects should yield `undefined`.
2020-09-15 02:20:11 -07:00
David Wendt
966dfc3902
avm2: Add method to get at the `Class` of non-class objects with a prototype.
...
The only unclassed objects should be bare objects, which are hard to get at.
2020-09-15 02:20:11 -07:00
David Wendt
cac1717780
avm2: Add utility method `is_sealed` for `Class`.
2020-09-15 02:20:11 -07:00
David Wendt
1a8f041b77
tests: Add `array_storage` test.
2020-09-15 02:20:11 -07:00
David Wendt
34ba1643dd
tests: Add test for reading properties of an array
2020-09-15 02:20:11 -07:00
David Wendt
5a29b781ec
avm2: Ensure `ArrayObject` offers access to it's array properties for reading and writing.
2020-09-15 02:20:11 -07:00
David Wendt
e054456286
avm2: Add method to check if a particular namespace is the public namespace.
2020-09-15 02:20:11 -07:00
David Wendt
1d3f5d80be
tests: Add test for `new Array`'s arguments.
2020-09-15 02:20:11 -07:00
David Wendt
a09ba9d263
avm2: Implement `length`.
2020-09-15 02:20:11 -07:00
David Wendt
aaf586e3a7
avm2: `define_instance_trait` should actually define instance traits.
2020-09-15 02:20:11 -07:00
David Wendt
45c95cae02
avm2: Impl `Array.concat`
2020-09-15 02:20:11 -07:00
David Wendt
1092bf2bc5
avm2: Add the ability to wrap an already-constructed array in an object.
2020-09-15 02:20:11 -07:00
David Wendt
bd35ebb793
avm2: Impl `Array` constructor
2020-09-15 02:20:11 -07:00
David Wendt
bedd5fa007
avm2: Add a method for mutating the array storage of an object.
2020-09-15 02:20:11 -07:00
David Wendt
d92d3023e7
avm2: Restore `as_number`.
...
This is for the sake of methods that want to change behavior based on if they're working with a number or some other kind of value. It should not be used otherwise.
2020-09-15 02:20:11 -07:00
David Wendt
16e1a1bdf3
avm2: Add Array class.
...
This code also ensures that the prototypes of each system object are created in the appropriate `TObject` impl. This ensures that, for example, `new Array` hands you back an actual array.
2020-09-15 02:20:11 -07:00
David Wendt
88fc9b1538
avm2: Implement base types for array-shaped objects.
2020-09-15 02:20:11 -07:00
dependabot-preview[bot]
398fd68c80
build(deps-dev): bump @wdio/mocha-framework from 6.4.7 to 6.5.0 in /web
...
Bumps [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio ) from 6.4.7 to 6.5.0.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v6.4.7...v6.5.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 13:54:20 -07:00
dependabot-preview[bot]
295efd667b
build(deps-dev): bump @wdio/local-runner from 6.4.7 to 6.5.0 in /web
...
Bumps [@wdio/local-runner](https://github.com/webdriverio/webdriverio ) from 6.4.7 to 6.5.0.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v6.4.7...v6.5.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 13:54:09 -07:00
dependabot-preview[bot]
139c88266b
build(deps-dev): bump @wdio/sync from 6.4.7 to 6.5.0 in /web
...
Bumps [@wdio/sync](https://github.com/webdriverio/webdriverio ) from 6.4.7 to 6.5.0.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v6.4.7...v6.5.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 12:14:22 -07:00
dependabot-preview[bot]
39522ff87e
build(deps-dev): bump @wdio/cli from 6.4.7 to 6.5.0 in /web
...
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio ) from 6.4.7 to 6.5.0.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v6.4.7...v6.5.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 12:14:12 -07:00
dependabot-preview[bot]
f0976cffc7
build(deps): bump syn from 1.0.40 to 1.0.41
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.40 to 1.0.41.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.40...1.0.41 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 12:02:03 -07:00
dependabot-preview[bot]
6f3a39da7b
build(deps): bump wasm-bindgen-test from 0.3.17 to 0.3.18
...
Bumps [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen ) from 0.3.17 to 0.3.18.
- [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>
2020-09-14 12:01:45 -07:00
Nathan Adams
e114282a4e
web: Implement Show Error Details for panics
2020-09-13 15:20:44 -07:00
Nathan Adams
69d1e903fb
web: Destroy shouldn't be able to throw exceptions
2020-09-13 15:20:44 -07:00
Nathan Adams
58cd1abcf2
web: Store RuffleInstances as a RefCell, so we don't lock it out from readers unless we actually need to
2020-09-13 15:20:44 -07:00
Nathan Adams
1d48073a05
web: Don't mutably lock INSTANCES if we don't need to, to allow greater odds of a successful reentry
2020-09-13 15:20:44 -07:00
Nathan Adams
f05fba069d
web: Add basic panic screen
2020-09-13 15:20:44 -07:00
Nathan Adams
95275898c7
web: If ruffle panics, inform all instances (if possible) and poison future instances
2020-09-13 15:20:44 -07:00
Nathan Adams
3ff399ca6b
core: Trace only to the log backend, but have the default log backend trace to the log crate
2020-09-13 13:51:39 -07:00
Nathan Adams
085c61b94f
tests: In browser based tests, actually press play and check that the movie spits out some text
2020-09-13 13:51:39 -07:00
Nathan Adams
4c6c8ee1f2
web: Add trace_observer to web api, which lets you capture trace output from a specific movie
2020-09-13 13:51:39 -07:00
Nathan Adams
319efabb47
tests: Make tests capture trace output through new backend
2020-09-13 13:51:39 -07:00
Nathan Adams
e25e03a841
core: Log to new avm_trace method where we want things to show up
2020-09-13 13:51:39 -07:00
Nathan Adams
de009c7673
core: Add Log backend, for capturing trace output specific to a movie
2020-09-13 13:51:39 -07:00
dependabot-preview[bot]
091f04096d
build(deps-dev): bump eslint from 7.8.1 to 7.9.0 in /web
...
Bumps [eslint](https://github.com/eslint/eslint ) from 7.8.1 to 7.9.0.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md )
- [Commits](https://github.com/eslint/eslint/compare/v7.8.1...v7.9.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-13 13:39:29 -07:00
dependabot-preview[bot]
cff131a494
build(deps-dev): bump archiver from 5.0.0 to 5.0.2 in /web
...
Bumps [archiver](https://github.com/archiverjs/node-archiver ) from 5.0.0 to 5.0.2.
- [Release notes](https://github.com/archiverjs/node-archiver/releases )
- [Changelog](https://github.com/archiverjs/node-archiver/blob/master/CHANGELOG.md )
- [Commits](https://github.com/archiverjs/node-archiver/compare/5.0.0...5.0.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-11 21:26:57 -07:00
dependabot-preview[bot]
e4f22f3494
build(deps): bump serde from 1.0.115 to 1.0.116
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.115 to 1.0.116.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.115...v1.0.116 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-11 21:23:38 -07:00
dependabot-preview[bot]
491526cc93
build(deps): bump bitstream-io from 0.8.5 to 0.9.0
...
Bumps [bitstream-io](https://github.com/tuffy/bitstream-io ) from 0.8.5 to 0.9.0.
- [Release notes](https://github.com/tuffy/bitstream-io/releases )
- [Commits](https://github.com/tuffy/bitstream-io/compare/v0.8.5...v0.9.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-11 21:17:24 -07:00
dependabot-preview[bot]
32c4becb93
build(deps): [security] bump node-fetch from 2.6.0 to 2.6.1 in /web
...
Bumps [node-fetch](https://github.com/bitinn/node-fetch ) from 2.6.0 to 2.6.1. **This update includes a security fix.**
- [Release notes](https://github.com/bitinn/node-fetch/releases )
- [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md )
- [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-11 21:16:34 -07:00
dependabot-preview[bot]
eff5964acb
build(deps-dev): bump @wdio/cli from 6.4.6 to 6.4.7 in /web
...
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio ) from 6.4.6 to 6.4.7.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/master/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v6.4.6...v6.4.7 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-11 19:16:47 -07:00