Commit Graph

2364 Commits

Author SHA1 Message Date
Aaron Hill ff1aff607a
avm1: Explicitly drop `obj` when it is no longer needed
Explicitly drop `obj` when it is no longer needed to avoid borrow errors, and add a test case similar to #3169.

Co-authored-by: Mike Welsh <mwelsh@gmail.com>
2021-02-19 03:30:21 -08:00
dependabot-preview[bot] 75fca8f6b6 build(deps): bump url from 2.2.0 to 2.2.1
Bumps [url](https://github.com/servo/rust-url) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/compare/v2.2.0...v2.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-18 14:22:06 -08:00
Aaron Hill 6050dd8204
Replace most manual `Collect` impls with `#[derive(Collect)]`
* Replace most unsafe impls with Collect.
 * Switch to local gc-arena fork.
2021-02-17 18:38:55 -08:00
desuwa 809d0a9245 avm1: Implement useHandCursor 2021-02-17 18:29:32 -08:00
Adrian Wielgosik 916bd8a9b8
core: Make EditText.border and EditText.background independent 2021-02-17 17:55:17 -08:00
Aaron Hill f745c39a42
chore: Remove `Collect` impls from `Activation` and `UpdateContext`
Neither of these impls are actually used.

As a result of this change, several fields in `avm2::Activation` became
unused. I assumed that these fields will become used as more of avm2 is
implemented, so I suppressed the warnings for now
2021-02-16 20:35:26 -08:00
CUB3D b93e556f89 avm2: Implement Op::Typeof and dummy XML/XMLList 2021-02-16 20:21:40 -08:00
David Wendt df5e97481c core: Adjust documentation 2021-02-16 19:03:48 -08:00
David Wendt 5e9d91710d core: Future-proof the non-keyframe seek for other stream types. 2021-02-16 19:03:48 -08:00
TÖRÖK Attila b3992dbc1a core/video: Loop to frame modulo num_frames. Fixes z0r.de/1843 2021-02-16 19:03:48 -08:00
TÖRÖK Attila 2e6d3eae18 core/video: Make seeking to non-keyframes possible. 2021-02-16 19:03:48 -08:00
David Wendt 8709bb2489 chore: Clippy wants this too 2021-02-16 19:03:48 -08:00
David Wendt 0bc101dbde chore: Spelling matters 2021-02-16 19:03:48 -08:00
David Wendt 5fcdb79528 core: Rename the video dependency enums to better describe their meaning. 2021-02-16 19:03:48 -08:00
David Wendt 4d0b73feeb core: Seeks before instantiation are valid and should be cached for later execution 2021-02-16 19:03:48 -08:00
David Wendt 4905e9a83d avm2: `Video` is a sealed class. 2021-02-16 19:03:48 -08:00
David Wendt d9541e1ea6 core: Fix various documentation errors in video 2021-02-16 19:03:48 -08:00
David Wendt c5fa9eb4a8 chore: Clippy compliance for stub video backend 2021-02-16 19:03:48 -08:00
David Wendt 964b1c4359 video: Frames with no data associated are treated as empty Pframes. 2021-02-16 19:03:48 -08:00
David Wendt 93ef62bac0 video: Snap seeks to nearest keyframe 2021-02-16 19:03:48 -08:00
David Wendt 02b94649c3 avm2: Stub the `Video` class. 2021-02-16 19:03:48 -08:00
David Wendt aa98fad126 avm1: Stub impl the `Video` class. 2021-02-16 19:03:48 -08:00
David Wendt 828ff39802 video: Warn if duplicate video frames are encountered 2021-02-16 19:03:48 -08:00
David Wendt 0e2b328073 video: Warn if we are missing a frame to render. 2021-02-16 19:03:48 -08:00
David Wendt c6a9e27916 video: Report what frame gave an error 2021-02-16 19:03:48 -08:00
David Wendt 5b546bf2d8 video: Always decode the first frame 2021-02-16 19:03:48 -08:00
David Wendt 368c1cf3c5 video: Implement a very basic video decoding loop 2021-02-16 19:03:48 -08:00
David Wendt 6dc96f5d58 core: Allow instantiation of videos 2021-02-16 19:03:48 -08:00
David Wendt 50d61b07f2 video: Stub seeking.
`PlaceObject`'s `ratio` field is treated as a seek parameter for video streams.
2021-02-16 19:03:48 -08:00
David Wendt b78baeb41d core: Add software video backend, separate from the null backend, to store software decoders. 2021-02-16 19:03:48 -08:00
David Wendt 57dab4327e core: Further adjustment to video backend type 2021-02-16 19:03:48 -08:00
David Wendt 1e3cc60f05 core: Also implement `VideoFrame` tag.
This is far more awkward and copy-heavy than it needs to be.
2021-02-16 19:03:48 -08:00
David Wendt 9b161889f8 core: Parse `DefineVideoStream` and use it to put videos into the character library. 2021-02-16 19:03:48 -08:00
David Wendt 34577057e4 core: Add video display object 2021-02-16 19:03:48 -08:00
David Wendt 80bceeacab core: Add `VideoBackend` to host video decoders 2021-02-16 19:03:48 -08:00
bunnyhero 6b58afa408
avm1: Make disabled MovieClips handle more events
Fixes #3250.
2021-02-15 09:48:18 -08:00
Mike Welsh ecd873eb39 tests: Add test for TextField.autoSize/background 2021-02-13 06:34:20 -08:00
Adrian Wielgosik df6aa85948 text: Implement TextField.background, disable it by default 2021-02-13 06:34:20 -08:00
Adrian Wielgosik 26ffbdfe23 text: Improve autoSize logic for non-wrapping text layout 2021-02-13 06:34:20 -08:00
Mads Marquart 8ba4fdbbbe core: Enable logging in tests, which makes it easier to spot mistakes 2021-02-13 03:49:12 -08:00
relrelb bb89391f3a chore: Avoid deprecated constants
The Rust documentation considers numeric constants prefixed with std::
as deprecated.
For example: https://doc.rust-lang.org/std/u16/constant.MAX.html.
2021-02-12 06:36:17 -08:00
Mike Welsh e5fb1f09e7 chore: Appease clippy
* #[derive(Collect)] should be before #[collect]
 * Replace redunant `&buf[..]` with `buf`
 * Changes most cases of UPPERCase to UpperCase
 * Allow upper_case_acronym on most SWF types, as they are from
   SWF spec/more annoying to change.
2021-02-12 06:32:42 -08:00
dependabot-preview[bot] 2fbbbe81b8 build(deps): bump quote from 1.0.8 to 1.0.9
Bumps [quote](https://github.com/dtolnay/quote) from 1.0.8 to 1.0.9.
- [Release notes](https://github.com/dtolnay/quote/releases)
- [Commits](https://github.com/dtolnay/quote/compare/1.0.8...1.0.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-12 02:32:42 -08:00
Adrian Wielgosik da86f7fc5a
avm1: Don't mutably borrow display_properties for reading
Fixes #3199.
2021-02-11 13:41:03 -08:00
Mike Welsh 16bd7fade6 web: Use case-insensitive check for detecting javascript scheme 2021-02-08 03:41:16 -08:00
paq 5cca3884d6 avm2: Implement `Array.length`'s setter 2021-02-07 23:49:52 -08:00
paq 8aaead90de avm2: Implement String.charCodeAt 2021-02-07 16:11:24 -08:00
paq c7c025277f avm2: Implement String.charAt 2021-02-07 16:11:24 -08:00
paq 2ec21bdd07 avm2: Implement String.length 2021-02-07 16:11:24 -08:00
paq 4a87d707f0 avm2: Implement String constructor 2021-02-07 16:11:24 -08:00