David Wendt
19219ad0c1
avm2: Implement `dispatchEvent`.
...
Event dispatch is a surprisingly complicated procedure, so this makes sure to test:
1. Event dispatch on bare dispatchers
2. Event dispatch on hierarchial dispatchers (movieclips)
3. Event cancellation (which is reported by `dispatchEvent`)
4. The implicit `this` on unbound event handlers. I'm not yet sure if this is a special property of event dispatch or if all unbound functions inherit their global scope as `this`.
5. The execution order of handlers on both bare and hierarchial dispatchers
6. Delegation to hierarchial dispatchers
7. Modification of the dispatch list during dispatch of an event. Surprisingly enough, you can add handlers to the event you're handling and expect them to execute, *if* you added them to a further object in the order *or* you added a bubble handler in the capture phase.
2020-12-21 21:47:29 -08:00
David Wendt
f33e5f893a
avm2: Allow builtins to get at the global scope.
2020-12-21 21:47:29 -08:00
David Wendt
8efaed40a0
avm2: `event.eventPhase` is enumerated from 1
2020-12-21 21:47:29 -08:00
David Wendt
87ff679898
avm2: Implement `EventDispatcher.willTrigger`
2020-12-21 21:47:29 -08:00
David Wendt
a071800117
avm2: `EventDispatcher` should supercall, too.
2020-12-21 21:47:29 -08:00
David Wendt
e8163e43ab
avm2: Builtin constructors should supercall.
2020-12-21 21:47:29 -08:00
David Wendt
be4e37a55c
avm2: Implement `addEventListener`, `removeEventListener`, and `hasEventListener`.
2020-12-21 21:47:29 -08:00
David Wendt
2faf5259ca
avm2: Add a representation for event dispatch lists.
...
For various reasons, we store the dispatch list for an object on a separate property of an `EventDispatcher` rather than dictating that all children of `EventDispatcher` use a specific object type. This is because `EventDispatcher` is a very general class with lots of object representations it needs to cover. So instead, we introduce a new object representation for a *property* and store it in a Ruffle private namespace that is as isolated from user code as alternate object representations are.
2020-12-21 21:47:29 -08:00
David Wendt
b02897637f
avm2: Add a new namespace type to store runtime-internal properties we don't want user code being able to access ever.
2020-12-21 21:47:29 -08:00
Mike Welsh
739af3f8d7
web: Flush shared objects on page unload
2020-12-21 21:46:45 -08:00
dependabot-preview[bot]
d2ed3dbc81
build(deps-dev): bump @typescript-eslint/eslint-plugin in /web
...
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ) from 4.10.0 to 4.11.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.11.0/packages/eslint-plugin )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-21 16:35:27 -08:00
dependabot-preview[bot]
f7797f85d6
build(deps-dev): bump @typescript-eslint/parser in /web
...
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser ) from 4.10.0 to 4.11.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.11.0/packages/parser )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-21 16:26:31 -08:00
Toad06
777734f6ba
web: Maintain compatibility with prototype.js
2020-12-21 16:26:14 -08:00
dependabot-preview[bot]
606fd28b3b
build(deps): bump quote from 1.0.7 to 1.0.8
...
Bumps [quote](https://github.com/dtolnay/quote ) from 1.0.7 to 1.0.8.
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.7...1.0.8 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-20 15:54:45 -08:00
Callum Thomson
69ab12fcc3
avm1: Add flash.filters.GlowFilter
2020-12-20 15:31:09 -08:00
Toad06
a6b7474a6b
web: Prevent crashes with external libraries
2020-12-20 15:28:52 -08:00
dependabot-preview[bot]
820572f204
build(deps): bump syn from 1.0.54 to 1.0.55
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.54 to 1.0.55.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.54...1.0.55 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-20 15:19:11 -08:00
Mike Welsh
8a0e55d74a
chore: Bump to rand 0.8
2020-12-19 14:33:12 -08:00
dependabot-preview[bot]
5503399545
build(deps-dev): bump @wdio/cli from 6.10.5 to 6.10.11 in /web
...
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio ) from 6.10.5 to 6.10.11.
- [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.10.5...v6.10.11 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-19 13:19:11 -08:00
dependabot-preview[bot]
66d6d0aa79
build(deps-dev): bump @wdio/local-runner from 6.10.11 to 6.10.13 in /web
...
Bumps [@wdio/local-runner](https://github.com/webdriverio/webdriverio ) from 6.10.11 to 6.10.13.
- [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.10.11...v6.10.13 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-19 12:49:59 -08:00
Mike Welsh
9d6e711006
tests: Add test for #2030
2020-12-19 02:14:27 -08:00
Mike Welsh
60d7c0a742
core: Fix incorrect bounds for Bitmap ( fix #2030 )
2020-12-19 02:14:27 -08:00
Mike Welsh
981a4de9c9
tests: Uncomment arguments.caller avm1 test
2020-12-19 01:46:20 -08:00
Mike Welsh
0dd8b24fec
avm1: Implement arguments.caller
2020-12-19 01:46:20 -08:00
Mike Welsh
a3f18b80b6
tests: Add test for TextField.replaceSel
2020-12-19 00:35:26 -08:00
Mike Welsh
62a3729b55
avm1: Implement TextField.replaceSel
2020-12-19 00:35:26 -08:00
dependabot-preview[bot]
69e7c9500d
build(deps-dev): bump eslint-config-prettier from 7.0.0 to 7.1.0 in /web
...
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier ) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases )
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md )
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v7.0.0...v7.1.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-18 19:48:39 -08:00
dependabot-preview[bot]
861f86a28a
build(deps-dev): bump eslint from 7.15.0 to 7.16.0 in /web
...
Bumps [eslint](https://github.com/eslint/eslint ) from 7.15.0 to 7.16.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.15.0...v7.16.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-18 17:48:02 -08:00
Mike Welsh
042e9a444b
tests: Add parseFloat tests
2020-12-18 02:50:09 -08:00
Mike Welsh
80d5d9cd0a
avm1: Initial implementation of parseFloat
2020-12-18 02:50:09 -08:00
Mike Welsh
326a5b6212
core: Move device font to Library ( fix #1995 )
2020-12-17 23:20:22 -08:00
Mike Welsh
a58073cabd
core: Fix Collect impl for BitmapData ( fix #2009 )
2020-12-17 19:35:26 -08:00
Mike Welsh
72a24b9800
tests: Add tests for #1906
2020-12-17 18:07:01 -08:00
Mike Welsh
25cd4ee375
avm1: Color.setTransform/setRGB sets transformed-by-AS flag ( fix #1906 )
2020-12-17 18:07:01 -08:00
dependabot-preview[bot]
5cdd52a4db
build(deps-dev): bump @wdio/local-runner from 6.10.10 to 6.10.11 in /web
...
Bumps [@wdio/local-runner](https://github.com/webdriverio/webdriverio ) from 6.10.10 to 6.10.11.
- [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.10.10...v6.10.11 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-17 17:56:35 -08:00
Mike Welsh
7cf217a911
swf: Use lzma-rs for LZMA SWFs ( fix #405 )
...
Pure Rust decoder that functions on desktop and wasm.
Enable lzma feature by default.
TODO: Switch to lzma-rs streaming API when stable on crates.io.
Currently decodes entire stream at once.
2020-12-17 16:40:21 -08:00
jmckiern
beed570475
core: Add string_utils char boundary functions
2020-12-17 16:15:24 -08:00
jmckiern
b81cb1a3eb
core: Extend text input to deal with multibyte chars
2020-12-17 16:15:24 -08:00
dependabot-preview[bot]
35ee3affdd
build(deps-dev): bump @wdio/mocha-framework in /web
...
Bumps [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio ) from 6.10.10 to 6.10.11.
- [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.10.10...v6.10.11 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-17 14:06:10 -08:00
David Wendt
09f9e99fbb
avm2: Implement `rest` parameters in function calls.
2020-12-17 13:21:44 -08:00
David Wendt
453e013c2c
avm2: Implement `arguments`.
2020-12-17 13:21:44 -08:00
David Wendt
217890f4a6
avm2: Implement `Function.apply`
2020-12-17 13:21:44 -08:00
Toad06
25d5f48d18
web: Run eslint
2020-12-17 12:48:32 -08:00
Toad06
b9aed2c7bb
web: Rename from snake_case to camelCase
2020-12-17 12:48:32 -08:00
Toad06
d6a857803a
web: Fix extension and self-hosted builds conflicting with each other
2020-12-17 12:48:32 -08:00
Adrian Wielgosik
484bd2c11a
avm1: Revert #1470 to improve wasm performance
2020-12-17 12:47:22 -08:00
dependabot-preview[bot]
ef88307c10
build(deps-dev): bump @wdio/sync from 6.10.10 to 6.10.11 in /web
...
Bumps [@wdio/sync](https://github.com/webdriverio/webdriverio ) from 6.10.10 to 6.10.11.
- [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.10.10...v6.10.11 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-17 12:46:32 -08:00
dependabot-preview[bot]
b9cf5f2045
build(deps-dev): bump webpack from 5.10.3 to 5.11.0 in /web
...
Bumps [webpack](https://github.com/webpack/webpack ) from 5.10.3 to 5.11.0.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v5.10.3...v5.11.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-17 12:45:54 -08:00
dependabot-preview[bot]
310524920b
build(deps-dev): bump webpack from 5.10.2 to 5.10.3 in /web
...
Bumps [webpack](https://github.com/webpack/webpack ) from 5.10.2 to 5.10.3.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v5.10.2...v5.10.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-15 14:16:51 -08:00
dependabot-preview[bot]
5ff2942ce2
build(deps-dev): bump webpack from 5.10.1 to 5.10.2 in /web
...
Bumps [webpack](https://github.com/webpack/webpack ) from 5.10.1 to 5.10.2.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v5.10.1...v5.10.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-15 01:58:16 -08:00