relrelb
9b9301fbaf
chore: Appease clippy
2022-07-02 09:22:18 -07:00
relrelb
87ce0f56b7
core: Remove `NavigatorBackend::resolve_relative_url`
...
The resolved URL only used by `NavigatorBackend::fetch`. So simply
inline `NavigatorBackend::resolve_relative_url` into `NavigatorBackend::fetch`,
per implementation.
2022-05-07 09:06:53 -07:00
relrelb
ea665d91f2
core: Introduce and use `Response::url`
2022-05-07 09:06:53 -07:00
relrelb
2517d8de4b
core: Introduce struct `Response`
...
Currently it's a trivial wrapper around `Vec<u8>`, but more fields
will be added in the future (e.g. response URL, HTTP status code).
2022-05-07 09:06:53 -07:00
relrelb
f6153ff7c1
chore: Appease clippy
2022-05-06 10:36:38 -07:00
Mike Welsh
1eb06908c8
core: Make PlayerBuilder::build infallible
2022-04-29 09:14:32 -07:00
Mike Welsh
f48182ef3d
core: Add various settings to PlayerBuilder
2022-04-29 09:14:32 -07:00
Mike Welsh
e1e2b1008a
core: Add PlayerBuilder
2022-04-29 09:14:32 -07:00
Mike Welsh
3305ac69c4
web: Support wmode parameter
2022-04-17 08:33:51 -07:00
Mike Welsh
8131a4f3cc
web: Allow transparent stage
2022-04-17 08:33:51 -07:00
Mike Welsh
78e8578414
chore: Avoid error when using wgpu feature on web
...
Avoid compilation error when running clippy on the web package
without a `wasm32` arch.
2022-04-11 20:15:13 -07:00
relrelb
7497fb7008
core: Change `Player::set_root_movie` to accept a `SwfMovie`
...
Move the `Arc::new` to within the function.
2022-04-08 15:16:25 -07:00
relrelb
6d7edd1854
web: Use `Uint8Array::to_vec()` over `Uint8Array::copy_to()`
...
It's shorter and should be more efficient (allocates an uninitialized
buffer instead of a zeroed one).
2022-04-09 00:27:16 +03:00
Mike Welsh
755676c64e
chore: Remove doc comments from extern blocks
...
Doc comments are ignored here and can generate warnings, so change
to regular comments.
2022-03-27 18:56:13 -07:00
relrelb
ad944800be
core: Perfer `Loader`'s `FetchError`
...
`NetworkError` and `NetworkUnavailable` were rarely used, and they
were very similar to `FetchError`.
2022-03-17 20:31:59 -07:00
relrelb
8a17d88c77
core: Remove `NavigatorBackend::time_since_launch`
...
`core` already depends on the `instant` crate which abstracts
`std::instant::Instant` and polyfills it on Web. Use it to replace
`NavigatorBackend::time_since_launch` in order to make `NavigatorBackend`
a little smaller and more simple.
2022-03-17 00:08:44 +02:00
relrelb
031126a1b8
core: Remove `LocaleBackend`
...
Previously there were 3 implementations of `LocaleBackend`:
`DesktopLocaleBackend`, `WebLocaleBackend` and `NullLocaleBackend`.
While `DesktopLocaleBackend`, `WebLocaleBackend` were identical,
`NullLocaleBackend` always returned a fixed date/time for tests
determinism.
Unify them in a single file, and use `cfg!(test)` and a new dedicated
`deterministic` feature to decide whether to mock date/time or not.
This should not cause any behavioral changes.
2022-03-16 19:57:53 +02:00
Mike Welsh
55da3cd7d0
chore: Add .cargo/config.toml for workspace-level lint config
...
Currently it is not directly possible to configure lints for the
entire workspace via TOML, which forced us to repeat `#![allow]`
blocks in each crate.
embark pointed out this workaround to configure lints at the
workspace level via RUSTFLAGS:
https://github.com/EmbarkStudios/rust-ecosystem/issues/22#issuecomment-947011395
Remove the common `#![allow]` blocks and switch to this method for
global lint config.
Temporarily allow `needless_borrow` lint, buggy pending this fix:
https://github.com/rust-lang/rust-clippy/pull/8355
2022-01-29 14:22:44 -08:00
TÖRÖK Attila
db6731be2c
web: Detect and log whether WebAssembly extensions are actually used
2022-01-12 11:29:16 -08:00
relrelb
82b4c6ef27
core: Support mouse buttons in `KeyCode`
...
Add `MouseLeft`, `MouseRight` and `MouseMiddle` to `KeyCode` for
AVM1's `Key.isDown()` function.
2022-01-10 01:18:49 -08:00
Mike Welsh
bb3ef68499
web: Handle gaps in MP3 SoundStreamBlock tags
2022-01-07 13:23:53 -08:00
relrelb
07c5330456
core: Introduce `InputManager`
...
`InputManager` encapsulates the common logic that previously the
`UiBackend`s used to implement.
2021-12-15 14:20:30 -08:00
relrelb
a4b2e38f4d
web: Track `keys_down` by `KeyCode`
...
This makes `WebUiBackend::is_key_down` a simple one-line check.
2021-11-25 07:35:33 +02:00
Tal Hayon
7ed38850fd
core: implement displayState for Stage in avm1/2
2021-11-11 16:20:05 -07:00
Mike Welsh
4141909bcb
web: Support wgpu on web
...
Add wgpu feature to web build (disabled by default currently).
2021-10-24 17:20:19 -07:00
Mike Welsh
04d84a3386
web: Implement WebAudioBackend::get_sound_position
2021-10-16 22:53:25 -07:00
Mike Welsh
bca31b2c51
audio: Grab Sound.position from audio backend
...
* Change `AudioBackend::get_sound_position` to return `f64` to
match `AudioBackend::get_sound_duration`.
* Wire up `AudioBackend::get_sound_position` to `Sound.position`.
* Remove unimplmeneted warning from `Sound.position`.
2021-10-16 22:53:25 -07:00
Chris Midgley
c5ad8e76ee
audio: Fail to create invalid ADPCM decoder
2021-10-13 23:12:32 -07:00
Tal Hayon
72a811ae2c
web: support no trailing slash in base parameter
2021-09-12 16:02:29 -07:00
Chris Midgley
2abea5aeba
web: don't panic if failing to create an audio buffer
2021-09-11 15:48:30 -07:00
Daniel Jacobs
5ac9796ffd
web: Support salign, quality, & scale embed/object attributes (part of #4258 )
2021-09-08 16:25:47 -07:00
Tal Hayon
e7bff63149
web: check array_buffer promise for failure
2021-09-07 16:59:01 -07:00
Tal Hayon
4625ca0e0b
web: fix base param
2021-09-07 16:45:35 -07:00
David Wendt
116fb1f323
avm2: Impl `Sound.play`
...
This does not (yet) implement the third `SoundTransform` parameter on `play`.
2021-09-03 16:47:02 -06:00
David Wendt
3b6eea2a1d
core: Report sound duration as `f64` and round down in AS1
2021-09-03 16:47:02 -06:00
David Wendt
89b411593f
avm2: Impl `Sound.bytesTotal`
2021-09-03 16:47:02 -06:00
Daniel Jacobs
3982f3af98
web: Support menu embed/object attribute (part of #4258 )
2021-08-28 14:56:35 +02:00
Tal Hayon
8cb5cf0252
web: Adds support for base embed/object attribute (Part of #4258 )
2021-08-19 21:22:47 +02:00
relrelb
ac3c198bda
chore: Appease clippy
2021-08-18 08:01:57 +03:00
Adrian Wielgosik
b940e7f00f
Extension: Sidestep CORS issues by offering to load the SWF in a tab
2021-08-02 21:28:16 +02:00
relrelb
0fd1c05fd5
chore: Use into() in more places
2021-06-22 11:49:41 -07:00
relrelb
f82faf9603
chore: Appease clippy
2021-06-05 10:16:00 -07:00
Mike Welsh
2b98c878f0
swf: Use Fixed in more places
2021-05-30 21:24:03 -07:00
Mike Welsh
22948789b8
web: Add MovieData.isActionScript3 and backgroundColor
2021-05-23 23:02:38 -07:00
Mike Welsh
e1439f4105
swf: Add HeaderExt struct providing additional info
...
When reading an SWF, search for FileAttributes and
SetBackgroundColor and return this along with the header data
because it's useful (in particular, the AS3 flag).
2021-05-23 23:02:38 -07:00
Mike Welsh
61e20024e9
chore: Appease clippy
2021-05-22 20:28:31 -07:00
CUB3D
cd1cde1708
avm1: Implement de/serialization of shared objects into Flash Player Lso format
2021-05-09 23:20:32 -07:00
Mike Welsh
ba7fd1b2b9
chore: Appease clippy, bump url
...
Bump url and avoid `Url::into_string` deprecation warnings.
Fix `single_char_pattern` clippy lints.
2021-05-07 20:51:26 -07:00
Moulins
272841729e
core: Replace SwfMovie's PropertyMap by a list of key-value pairs
...
PropertyMap is an AVM1-only concept, and shouldn't be used on cross-VM
types.
2021-05-03 13:47:14 -07:00
Mike Welsh
dca97afdd7
chore: Remove puremp3 feature
...
Wasn't being used, remove the puremp3 dependency.
2021-05-02 19:31:01 -07:00