Commit Graph

2834 Commits

Author SHA1 Message Date
David Wendt 575a9b091a Use FnvHashMap for the translation unit pools. 2020-07-18 17:02:52 -04:00
David Wendt 262bb148f1 Rename `a2me` to `entry` (or `method` in one case where it lets me simplify a struct declaration) 2020-07-18 17:02:32 -04:00
David Wendt c415190376 Zero-index multinames should generate a validation error in `QName::from_abc_multiname`. 2020-07-18 16:48:10 -04:00
David Wendt dc962f2abd Add AVM2 equivalent of `PropertyMap` for further expansion. 2020-07-18 16:41:35 -04:00
dependabot-preview[bot] 24c9d99758 build(deps-dev): bump eslint from 7.4.0 to 7.5.0 in /web
Bumps [eslint](https://github.com/eslint/eslint) from 7.4.0 to 7.5.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.4.0...v7.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-18 13:34:07 -07:00
David Wendt 37b6b89d26 Add a stub AVM2 string representation to allow for both VMs' strings to diverge. 2020-07-18 16:20:58 -04:00
David Wendt ccacc540bf Remove dead code on all now-in-use structs and methods. 2020-07-18 16:12:24 -04:00
dependabot-preview[bot] 0bd7f07649 build(deps): bump png from 0.16.6 to 0.16.7
Bumps [png](https://github.com/image-rs/image-png) from 0.16.6 to 0.16.7.
- [Release notes](https://github.com/image-rs/image-png/releases)
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image-png/compare/v0.16.6...v0.16.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-18 12:36:46 -07:00
Mike Welsh ae7db80ea3 avm1: Move getURL to MovieClip.prototype (fix #804)
For example, _root.getURL should work.
2020-07-18 01:03:47 -07:00
dependabot-preview[bot] ee2222a425 build(deps): bump indexmap from 1.4.0 to 1.5.0
Bumps [indexmap](https://github.com/bluss/indexmap) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/bluss/indexmap/releases)
- [Commits](https://github.com/bluss/indexmap/compare/1.4.0...1.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 20:51:05 -07:00
dependabot-preview[bot] 62f751c6ee build(deps-dev): bump @wdio/local-runner from 6.3.0 to 6.3.3 in /web
Bumps [@wdio/local-runner](https://github.com/webdriverio/webdriverio) from 6.3.0 to 6.3.3.
- [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.3.0...v6.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 20:50:20 -07:00
dependabot-preview[bot] cbe3176d5e build(deps-dev): bump @wdio/cli from 6.3.0 to 6.3.3 in /web
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio) from 6.3.0 to 6.3.3.
- [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.3.0...v6.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 20:50:11 -07:00
dependabot-preview[bot] 76ef74809b build(deps-dev): bump @wdio/sync from 6.3.0 to 6.3.3 in /web
Bumps [@wdio/sync](https://github.com/webdriverio/webdriverio) from 6.3.0 to 6.3.3.
- [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.3.0...v6.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 20:49:47 -07:00
dependabot-preview[bot] c1a8d9c22c build(deps): bump wasm-bindgen-test from 0.3.14 to 0.3.15
Bumps [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen) from 0.3.14 to 0.3.15.
- [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-07-17 20:49:26 -07:00
Mike Welsh 8ecae5a87f avm1: duplicateMovieClip copies clip events
Clip events should be copied from the source clip to the newly
created clip. Fixes objects remaining onscreen in #815.
2020-07-17 20:49:05 -07:00
Mike Welsh 8c1ec01d75 tests: Test clip events copying in duplicateMovieClip
duplicateMovieClip should also copy any clip events on the source
clip to the newly created movie clip.
2020-07-17 20:49:05 -07:00
Mike Welsh 9d3bb5b10c docs: Add CONTRIBUTING blurb and code of conduct 2020-07-17 20:44:40 -07:00
Mike Welsh 356546397a docs: Update sponsors; move sponsor logos to ruffle.rs 2020-07-17 20:34:44 -07:00
dependabot-preview[bot] 294ea0fd52 build(deps-dev): bump @wdio/cli from 6.2.0 to 6.3.0 in /web
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio) from 6.2.0 to 6.3.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.2.0...v6.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 01:54:50 +00:00
dependabot-preview[bot] 8cbfe2062c build(deps-dev): bump @wdio/sync from 6.2.0 to 6.3.0 in /web
Bumps [@wdio/sync](https://github.com/webdriverio/webdriverio) from 6.2.0 to 6.3.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.2.0...v6.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 01:25:24 +00:00
dependabot-preview[bot] ff46d53043 build(deps-dev): bump @wdio/local-runner from 6.2.0 to 6.3.0 in /web
Bumps [@wdio/local-runner](https://github.com/webdriverio/webdriverio) from 6.2.0 to 6.3.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.2.0...v6.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 00:33:41 +00:00
dependabot-preview[bot] d2b723fcb3 build(deps-dev): bump @wdio/spec-reporter from 6.1.23 to 6.3.0 in /web
Bumps [@wdio/spec-reporter](https://github.com/webdriverio/webdriverio) from 6.1.23 to 6.3.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.1.23...v6.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 00:33:02 +00:00
dependabot-preview[bot] c1cf5a4251 build(deps-dev): bump @wdio/mocha-framework from 6.2.0 to 6.3.0 in /web
Bumps [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio) from 6.2.0 to 6.3.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.2.0...v6.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 00:32:51 +00:00
dependabot-preview[bot] f6ed3a2011 build(deps): [security] bump lodash from 4.17.15 to 4.17.19 in /web
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. **This update includes a security fix.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 16:42:20 -07:00
dependabot-preview[bot] 182c9ed869 build(deps): bump web-sys from 0.3.41 to 0.3.42
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.41 to 0.3.42.
- [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-07-16 16:40:47 -07:00
dependabot-preview[bot] 195a53c15e build(deps): bump wasm-bindgen-futures from 0.4.14 to 0.4.15
Bumps [wasm-bindgen-futures](https://github.com/rustwasm/wasm-bindgen) from 0.4.14 to 0.4.15.
- [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-07-16 16:40:36 -07:00
dependabot-preview[bot] 7dd26bf771 build(deps): bump js-sys from 0.3.41 to 0.3.42
Bumps [js-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.41 to 0.3.42.
- [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-07-15 11:52:53 -07:00
dependabot-preview[bot] b1f704b415 build(deps): bump wasm-bindgen from 0.2.64 to 0.2.65
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) from 0.2.64 to 0.2.65.
- [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/compare/0.2.64...0.2.65)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-15 11:51:09 -07:00
Mike Welsh 7c52a1bcc4 avm1: Accept path strings in ActionCall (fix #832) 2020-07-14 23:34:21 -07:00
Mike Welsh b43fdca4ad avm1: resolve_text_field_variable -> resolve_variable_path 2020-07-14 23:34:21 -07:00
Mike Welsh f9b1c586d1 tests: Add test for paths in ActionCall 2020-07-14 23:34:21 -07:00
David Wendt e354c53075 Remove any remaining uses of `abc_ref`.
Holding a `Ref` on a garbage-collected object inherently extends any borrow locks on that object. Since ABC files are references already, taking a `Ref` to them only helps to skip the refcount update. This is less useful than expected: in most situations, using `abc_ref` causes double-borrow panics. The few methods that can use it are going to be fragile in the face of future refactors, so I'm nipping the problem in the bud now.
2020-07-14 20:14:23 -04:00
David Wendt f4c5075086 Run all string constant retrieval through the `TranslationUnit`, preventing us from making multiple copies of the same string.
For good measure, most of the other methods in `value` for retrieving pool primitives now also use `TranslationUnit` instead of `AbcFile`. This is the result of a handful of cascading changes throughout the project, and itself caused a few more.
2020-07-14 20:05:25 -04:00
JustinCB 4f755eafff web: Add tests for new behaviour 2020-07-14 09:12:36 -07:00
JustinCB 8495e89a8b web: Match case-insensitively in embeds 2020-07-14 09:12:36 -07:00
JustinCB 64c7d6e393 web: Polyfill if data attribute or movie param is a swf filename 2020-07-14 09:12:36 -07:00
JustinCB ffba4c5a97 web: Match MIME type & clsid case-insensitively 2020-07-14 09:12:36 -07:00
David Wendt 70e9e7e9e9 Add support for cached/interned pool strings in the `TranslationUnit`. 2020-07-13 23:42:07 -04:00
David Wendt e1b9b823fc Remove `abc_string` and replace it with `abc_string_copy`. All code that pulls strings from the ABC file now uses `AvmString`s. 2020-07-13 23:41:46 -04:00
David Wendt 61a3ff8ae6 Replace `String` or `&str` references with `AvmString` everywhere in the AVM2 runtime. 2020-07-13 22:21:18 -04:00
David Wendt 2021cec9d3 Impl `Copy`, `Eq`, `PartialOrd`, `Ord`, and `Hash` for `AvmString`. 2020-07-13 22:09:34 -04:00
David Wendt 508fcd6e9e `pool_string` should return a `Ref<str>` just like `value::abc_string`. 2020-07-13 17:45:12 -04:00
David Wendt a406bdada2 Don't attempt to log debugging information if we're not in a debug build. 2020-07-13 17:45:12 -04:00
David Wendt ae26615bb4 `coerce_string` may return a static string, which we shouldn't clone. 2020-07-13 17:45:12 -04:00
David Wendt f0c633fe81 Allow borrowing string values from an ABC file instead of cloning everything. 2020-07-13 17:45:11 -04:00
David Wendt 64e5b46259 Add tests for `instanceof` and `is` operators. 2020-07-13 17:45:10 -04:00
David Wendt 39a4566f20 Instances should be listed as their prototypes (empty as they are) 2020-07-13 17:45:10 -04:00
David Wendt c917b3d411 Implement `istype`, `istypelate`, and `instanceof`. 2020-07-13 17:45:10 -04:00
David Wendt a0cb052795 Add `is_instance_of` trait method to `TObject` 2020-07-13 17:45:09 -04:00
David Wendt 3fae8b3832 Read the interface list when instantiating classes, resolve them, and stick them in the prototype for later use. 2020-07-13 17:45:09 -04:00