paq
ae2de6315d
tests: AVM2 RegExp constructor and flags
2021-03-03 03:37:34 -08:00
paq
d866f73c5e
avm2: Implement RegExp
2021-03-03 03:37:34 -08:00
paq
b8c1f1627a
chore: Add `regress` crate for implementing RegExp class.
2021-03-03 03:37:34 -08:00
David Wendt
999100a332
avm2: Only track broadcast lists for events that are actually broadcasts.
2021-03-03 03:08:01 -08:00
David Wendt
540a68fb68
avm2: Grant each event it's own, separate broadcast list.
2021-03-03 03:08:01 -08:00
David Wendt
8e8de09f63
core: Ensure absolutely nothing runs in frame scripts unless the object is AVM2.
2021-03-03 03:08:01 -08:00
David Wendt
d90ad1ab08
core: Account for the fact that AVM2 constructs objects far earlier than the frame number advances.
...
This is most certainly *not* the correct behavior; though it does work. If I track the frame number in event handlers we can see it change before `enterFrame` is broadcast. However, when I tried to do that, all hell broke loose and every AVM1 and AVM2 test failed (gating the behavior to AVM2 did *not* help).
2021-03-03 03:08:01 -08:00
David Wendt
a5b4e168d3
avm2: Stub `flash.display.Shape`.
2021-03-03 03:08:01 -08:00
David Wendt
d157a9995b
core: When a programmatic goto happens, *all* frame scripts run immediately.
2021-03-03 03:08:01 -08:00
David Wendt
452d878cd9
core: When triggered by ActionScript, clip gotos should trigger AS3 frame lifecycle events.
...
For some reason, only *some* of the events actually trigger; notably programmatic gotos do not trigger `enterFrame`.
Implicit gotos (like looping around to frame 1) also do not trigger frame scripts; they instead run at the usual time.
2021-03-03 03:08:01 -08:00
David Wendt
c9b68f600c
core: Avoid skipping queued script frames in the case where a frame script queues up additional frame scripts via gotos
2021-03-03 03:08:01 -08:00
David Wendt
f3a8eb821f
core: Gotos still trigger new frame scripts
2021-03-03 03:08:01 -08:00
David Wendt
e9f8636fe5
core: Frame scripts should run immediately and not queue
2021-03-03 03:08:01 -08:00
David Wendt
dc499a13a2
core: Gotos do not issue frame progression events on their own.
2021-03-03 03:08:01 -08:00
David Wendt
69e8a33a8e
Debug event dispatches.
2021-03-03 03:08:01 -08:00
David Wendt
a2d56016cb
avm2: Don't except when dispatching events on unconstructed objects.
2021-03-03 03:08:01 -08:00
David Wendt
50546512fe
core: Add a separate construct step before running display objects.
...
This appears to only be in use for AVM2. Objects placed on a given frame are constructed before anything else happens with it's parent - even it's constructor being called. This involves splitting AVM2 up into a bunch of steps that really don't make sense for AVM1 content. Hence, `construct_frame` is a no-op for AVM1 and pre-running the first frame when instantiated is AVM1 exclusive now.
2021-03-03 03:08:01 -08:00
David Wendt
a91273530f
tests: Display events tests should log construction events
2021-03-03 03:08:01 -08:00
David Wendt
a308b9d4f9
Re-dispatch the added event after post-instantiating an object since the automatic dispatch happens too early
2021-03-03 03:08:01 -08:00
David Wendt
ac6a206257
Fire `exitFrame`, `enterFrame`, and `frameConstructed` events as broadcasts.
2021-03-03 03:08:01 -08:00
David Wendt
d1ffa3254b
Store a list of every constructed event dispatcher so we can broadcast events on them.
2021-03-03 03:08:01 -08:00
David Wendt
731c18ad80
avm2: Issue (or attempt to issue) events for entering, exiting, and constructing, a frame.
2021-03-03 03:08:01 -08:00
David Wendt
2e38caafff
tests: Add further tests for various timeline interaction scenarios and events
2021-03-03 03:08:01 -08:00
David Wendt
3df97d8da2
avm2: Stub `System.gc`.
...
Our current garbage collector design precludes the ability to actually collect garbage during player updates, so this is a no-op.
2021-03-03 03:08:01 -08:00
David Wendt
464f388324
avm2: Unstaged display objects are treated as unrooted.
2021-03-03 03:08:01 -08:00
David Wendt
279f2d0652
core: Re-allow reinsertions into the same parent (but still gate off the extra events it would otherwise use)
2021-03-03 03:08:01 -08:00
David Wendt
cea65f95db
avm2: Dispatch `addedToStage` and `removedFromStage` events
2021-03-03 03:08:01 -08:00
David Wendt
7f78bfa51d
core: Add a utility method to check if a display object is rooted to the current stage
2021-03-03 03:08:01 -08:00
David Wendt
5acaf0bd01
core: `iter_render_list` returns a non-locking iterator and should be documented as such.
2021-03-03 03:08:01 -08:00
David Wendt
094563e28f
tests: Add a (currently failing) test for the execution order of various events in the presence of programmed display tree manipulations.
2021-03-03 03:08:01 -08:00
David Wendt
df5520f3e0
avm2: Dispatch `added` and `removed` events
2021-03-03 03:08:01 -08:00
David Wendt
76ef0d4740
avm2: Event phase should be counted from 1 in `valueOf`.
2021-03-03 03:08:01 -08:00
David Wendt
c4a5c6f4d3
avm2: Constructed events start in phase 2, not 3
2021-03-03 03:08:01 -08:00
David Wendt
4521c2b599
avm2: Manually-constructed movie clips (and their subclasses) should be accessible from the display object tree.
2021-03-03 03:08:01 -08:00
David Wendt
63af38be9a
avm2: Add convenience method for natively-dispatched events.
2021-03-03 03:08:01 -08:00
dependabot-preview[bot]
98abaf4ca2
build(deps): bump image from 0.23.13 to 0.23.14
...
Bumps [image](https://github.com/image-rs/image ) from 0.23.13 to 0.23.14.
- [Release notes](https://github.com/image-rs/image/releases )
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md )
- [Commits](https://github.com/image-rs/image/compare/v0.23.13...v0.23.14 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-02 16:22:31 -08:00
dependabot-preview[bot]
48baf6f76b
build(deps-dev): bump @wdio/cli from 7.0.7 to 7.0.9 in /web
...
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio ) from 7.0.7 to 7.0.9.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v7.0.7...v7.0.9 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 18:48:20 -08:00
dependabot-preview[bot]
f16244759f
build(deps-dev): bump @wdio/sync from 7.0.7 to 7.0.9 in /web
...
Bumps [@wdio/sync](https://github.com/webdriverio/webdriverio ) from 7.0.7 to 7.0.9.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v7.0.7...v7.0.9 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 17:39:53 -08:00
dependabot-preview[bot]
697ab27414
build(deps-dev): bump eslint from 7.20.0 to 7.21.0 in /web
...
Bumps [eslint](https://github.com/eslint/eslint ) from 7.20.0 to 7.21.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.20.0...v7.21.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 15:35:58 -08:00
dependabot-preview[bot]
21e4221971
build(deps-dev): bump typescript from 4.1.5 to 4.2.2 in /web
...
Bumps [typescript](https://github.com/Microsoft/TypeScript ) from 4.1.5 to 4.2.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases )
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.1.5...v4.2.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 15:34:48 -08:00
dependabot-preview[bot]
e2ba148431
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.14.2 to 4.15.2.
- [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.15.2/packages/parser )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 15:34:31 -08:00
Adrian Wielgosik
14e0980226
avm1: Implement getInstanceAtDepth
2021-03-01 15:31:30 -08:00
dependabot-preview[bot]
9daa6468ee
build(deps-dev): bump @wdio/local-runner from 7.0.7 to 7.0.8 in /web
...
Bumps [@wdio/local-runner](https://github.com/webdriverio/webdriverio ) from 7.0.7 to 7.0.8.
- [Release notes](https://github.com/webdriverio/webdriverio/releases )
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md )
- [Commits](https://github.com/webdriverio/webdriverio/compare/v7.0.7...v7.0.8 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 15:31:07 -08:00
dependabot-preview[bot]
9ff12a084f
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.15.1 to 4.15.2.
- [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.15.2/packages/eslint-plugin )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 15:30:54 -08:00
dependabot-preview[bot]
cfd1be291b
build(deps-dev): bump mocha from 8.2.1 to 8.3.0 in /web
...
Bumps [mocha](https://github.com/mochajs/mocha ) from 8.2.1 to 8.3.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.2.1...v8.3.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 15:15:52 -08:00
Mike Welsh
e7d7e19c24
chore: Bump to wgpu 0.70
2021-02-27 17:52:05 -08:00
Mads Marquart
121ae43d25
swf: Remove unused encoding from avm1::read::Reader
2021-02-27 17:04:42 -08:00
Mads Marquart
66f5c856d7
swf: Make a few functions const
2021-02-27 17:04:42 -08:00
Mads Marquart
1455671cd7
swf: Change read_tag_with_code to take an already parsed tag
2021-02-27 17:04:42 -08:00
Mads Marquart
9243010cc0
swf: Clean up a few imports
2021-02-27 17:04:42 -08:00