Commit Graph

2745 Commits

Author SHA1 Message Date
dependabot-preview[bot] f8aa185c3e build(deps): bump syn from 1.0.36 to 1.0.37
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.36 to 1.0.37.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.36...1.0.37)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-03 16:57:45 -07:00
dependabot-preview[bot] d05a8af32b build(deps): bump lyon from 0.15.9 to 0.16.0
Bumps [lyon](https://github.com/nical/lyon) from 0.15.9 to 0.16.0.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-03 11:32:00 -07:00
Mike Welsh 9dd809d881
avm: Refactor Activation and UpdateContext (merge #938) 2020-08-03 11:31:29 -07:00
Mike Welsh 42f138592b chore: Bump CircleCI to Rust 1.45.1 and clear cache 2020-08-01 23:44:31 -07:00
David Wendt 8cb6e4af39 Further adjustments that fell through before. 2020-08-01 16:11:11 -04:00
David Wendt 4dbd26807e Remove useless lifetime in `notify_system_listeners` 2020-08-01 15:49:29 -04:00
David Wendt 8ebf5405e2 Move AVM2 into the UpdateContext. 2020-08-01 15:49:29 -04:00
David Wendt bfa5f8ae35 Further compilation fixes necessary to get the refactor to compile again.
Notably, all of the `Avm1` "run stack frame" functions can no longer take a self parameter as the update context they will be getting also has that same parameter. Ergo, they're associated functions that get the moral equivalent of self from the update context.

This also introduces a new `Activation::from_stub` which creates a stub frame that runs everything on the main movie in layer 0. This significantly reduces boilerplate code elsewhere in the project.
2020-08-01 15:49:28 -04:00
David Wendt 9b089ae1d7 Convert `array.rs` to the new activation-only format.
This also removes the function parameter on `sort_compare_numeric`. As it was only being used for string comparisons, and it was causing unfixable lifetime issues, I have instead had it take the case-sensitivity flag and call the two functions it would have been passed anyway. This fixes the lifetime issue.
2020-08-01 15:49:26 -04:00
David Wendt a19595c8b4 Embed `UpdateContext` in `Activation` directly.
The process of constructing an `Activation` now involves calling `UpdateContext.reborrow`, which "sheds" a lifetime by copying all of the borrows into a new "owned" context with that lifetime.

Likewise, to call out to functions that don't need an `Activation`, just borrow the context out of the current activation. You can also construct child-frame activations by reborrowing the parent activation's context.
2020-08-01 15:49:19 -04:00
David Wendt 7c7b019087 Move AVM1 inside UpdateContext. 2020-08-01 13:44:04 -04:00
David Wendt 14bfbc358f wip: Move UpdateContext into Activation 2020-08-01 13:33:04 -04:00
David Wendt 9f76a7b964 Ensure that `Player` always has a movie in level zero, even if no movie has been queued up yet.
There is a race condition inadvertently caused by allowing movies to be fetched in slot 0: it is possible for the player to be caught mid-load without a root movie. A lot of code assumes level 0 always exists (e.g. `levels.get(0).unwrap()`), while our initialization methods assumed no Player methods would be called until the root movie is installed. This is an unreasonable assumption, as among other things users can trigger the race condition by just playing the movie too quickly.
2020-08-01 02:35:00 -07:00
Nathan Adams 26b14bd904 avm1: Undone some __constructor__ setting on objects that don't actually construct 2020-08-01 02:33:14 -07:00
Nathan Adams db4f5007f3 avm1: TObject::create_bare_object doesn't use or need args 2020-08-01 02:33:14 -07:00
Nathan Adams 79af3ffe44 avm1: Rename TObject::new to TObject::create_bare_object 2020-08-01 02:33:14 -07:00
Nathan Adams 2131f7860b avm1: Change Object::construct to create and return a new object, instead of requiring the caller to do that first 2020-08-01 02:33:14 -07:00
Nathan Adams e74d4f0abb avm1: Make FunctionObject::allocate_function require prototype, it's not optional 2020-08-01 02:33:14 -07:00
Nathan Adams fb7fb6f99a avm1: Make FunctionObject::functional require prototype, it's not optional 2020-08-01 02:33:14 -07:00
Nathan Adams 9123d92513 avm1: Make FunctionObject::constructor require prototype, it's not optional 2020-08-01 02:33:14 -07:00
Nathan Adams 691e3b6804 avm1: Make FunctionObject::function_and_constructor require prototype, it's not optional 2020-08-01 02:33:14 -07:00
Nathan Adams 88a31cc5a9 avm1: Ensure we call movie constructors through Function::construct, not manually, to set __constructor__ 2020-08-01 02:33:14 -07:00
Nathan Adams 69a4d10338 avm1: Replace manual constructor calling with Function::construct, to ensure we set __constructor__ 2020-08-01 02:33:14 -07:00
Nathan Adams 2faf35d43e avm1: Set __constructor__ in Function::construct 2020-08-01 02:33:14 -07:00
dependabot-preview[bot] d9c8c43cf3 build(deps-dev): bump eslint from 7.5.0 to 7.6.0 in /web
Bumps [eslint](https://github.com/eslint/eslint) from 7.5.0 to 7.6.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.5.0...v7.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-01 01:18:25 -07:00
dependabot-preview[bot] 5e804fe041 build(deps): bump wasm-bindgen-test from 0.3.15 to 0.3.17
Bumps [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen) from 0.3.15 to 0.3.17.
- [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-31 10:31:21 -07:00
dependabot-preview[bot] 13830cbdba build(deps-dev): bump mocha from 8.0.1 to 8.1.0 in /web
Bumps [mocha](https://github.com/mochajs/mocha) from 8.0.1 to 8.1.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.0.1...v8.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 15:28:36 -07:00
dependabot-preview[bot] 66501a0370 build(deps-dev): bump chromedriver from 83.0.1 to 84.0.1 in /web
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 83.0.1 to 84.0.1.
- [Release notes](https://github.com/giggio/node-chromedriver/releases)
- [Commits](https://github.com/giggio/node-chromedriver/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 11:56:50 -07:00
dependabot-preview[bot] 0ad730f034 build(deps-dev): bump webpack from 4.44.0 to 4.44.1 in /web
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.0 to 4.44.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.0...v4.44.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 02:09:54 -07:00
dependabot-preview[bot] 9a3b9c7117 build(deps): bump wasm-bindgen-futures from 0.4.15 to 0.4.17
Bumps [wasm-bindgen-futures](https://github.com/rustwasm/wasm-bindgen) from 0.4.15 to 0.4.17.
- [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-30 01:10:00 -07:00
dependabot-preview[bot] 7017584cf6 build(deps): bump web-sys from 0.3.42 to 0.3.44
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.42 to 0.3.44.
- [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-30 01:09:48 -07:00
Mike Welsh 0a4fd2f0da
extension: Initial extension settings page (merge #658) 2020-07-29 19:36:47 -07:00
Mike Welsh bc9dbbe4d9 chore: Update package-lock 2020-07-29 19:03:17 -07:00
JustinCB 15fcce4d06 extension: Centralize default settings
Use true/false for boolean settings and have get_sync_storage
return the default values if necessary.
2020-07-29 19:03:17 -07:00
JustinCB 07506891c4 extension: Remove debug spew 2020-07-29 19:03:13 -07:00
JustinCB b0a81ac39f extension: Move storage functions to util.js 2020-07-29 19:03:13 -07:00
JustinCB 4786de2aa5 Try to fix status flickering 2020-07-29 17:06:51 -07:00
JustinCB 012b36a623 Query tab more often to not incorrectly show reload button 2020-07-29 17:06:51 -07:00
JustinCB 9ea0b2a162 Disable reload button on Protected Pages 2020-07-29 17:06:51 -07:00
JustinCB 77331f4732 Make popup buttons taller(because some languages can have longer text) 2020-07-29 17:06:51 -07:00
JustinCB 88f95b0005 Fix spanish messages.json 2020-07-29 17:06:51 -07:00
JustinCB e14732be45 Fix settings popup style 2020-07-29 17:06:51 -07:00
JustinCB 2987071bef Complete internationalization 2020-07-29 17:06:51 -07:00
JustinCB b3905a6103 Move firefox-specific setting to build_firefox.js 2020-07-29 17:06:51 -07:00
JustinCB 15476618b1 Complete settings localization, localize extension description, & add spanish translation 2020-07-29 17:06:51 -07:00
JustinCB 4ceed0e2eb Removed spurious manifest.json in extension/build 2020-07-29 17:06:51 -07:00
JustinCB 07d46d1f87 Removed spurious logging functions 2020-07-29 17:06:51 -07:00
JustinCB f7a1f78fb1 Attempt to make cross-browser 2020-07-29 17:06:51 -07:00
JustinCB 64c96a3151 Make Prettier happy 2020-07-29 17:06:51 -07:00
JustinCB 27fcd8e6ea Allow opening settings page from settings popup 2020-07-29 17:06:51 -07:00