Commit Graph

12989 Commits

Author SHA1 Message Date
TÖRÖK Attila 056501ee75 avm1: Add a way to specify numeric tolerance `@epsilon` when comparing in `test_method!` 2024-08-11 02:15:36 +02:00
Moulins 47030b4f5b core: remove UpdateContext's unused lifetime and reborrow method 2024-08-10 22:53:27 +02:00
Moulins 13cffa4c94 core: appease clippy 2024-08-10 22:53:27 +02:00
Moulins d07437e30e core: store 'gc borrows in UpdateContext, and `&mut UC` in Activation
This leaves the second UpdateContext lifetime unused and the `reborrow`
method useless, but they're kept to avoid an unnecessarily huge diff.
2024-08-10 22:53:27 +02:00
Moulins d116ef82e9 core: rework the way the garbage-collected arena is entered in `Player`
Add `Player::enter_arena(_mut)` methods, giving more ergonomic access to
the GC'd arena by:
- handling the RefCell borrows for you;
- passing an extra `&(mut) Player` parameter into the closure;
- giving all borrows the same `'gc` lifetime (thanks to strategic `unsafe`).
2024-08-10 22:53:27 +02:00
Moulins 0b3395d21f core: simplify callstack handling in Player
Grab the AVM2 callstack handle before constructing the GC root,
so that we can set it directly instead of modify the GC root once
constructed. This means we can remove an extra GcCell.

Also switch the callstack object from GcCell to GcRefLock.
2024-08-10 22:53:27 +02:00
Adrian Wielgosik 0097aea381 avm2: Make primitive coercions way cheaper 2024-08-10 17:24:31 +02:00
Tom Schuster f202088bd8 avm2: Box E4XNamespace in E4XNodeData 2024-08-10 15:28:28 +02:00
Kamil Jarosz 0cbfa89b27 chore: Add Flathub badge to README 2024-08-10 13:54:09 +02:00
Crowdin Bot a475845022 chore: Update translations from Crowdin 2024-08-10 02:08:16 +02:00
Nathan Adams 637b1ccf4e avm2: Save an alloc when calling Regexp effective_replacement with no replacement patterns 2024-08-10 01:53:01 +02:00
Nathan Adams 0023062c82 avm2: Short circuit the regexp replacement logic if it's a simple (no pattern) string 2024-08-10 01:53:01 +02:00
Nathan Adams ef42bba20c avm2: Don't realloc the same string in Regexp.replace_with_fn, if no match was found 2024-08-10 01:53:01 +02:00
Daniel Jacobs 688c25e85f extension: Don't put responseHeadersUnsupported in config 2024-08-09 16:36:05 -04:00
Daniel Jacobs 52ef345dae extension: Stop "Reset Settings" removing responseHeadersUnsupported 2024-08-09 16:36:05 -04:00
Nathan Adams 23d4a61fbd video: Fix race condition if multiple video backends are downloading OpenH264 at the same time
Co-authored-by: TÖRÖK Attila <torokati44@gmail.com>
2024-08-09 18:39:47 +02:00
Nathan Adams 9b5e33ab7d video: Log the hash mismatch when openh264 is wrong
Co-authored-by: TÖRÖK Attila <torokati44@gmail.com>
2024-08-09 18:39:47 +02:00
Crowdin Bot b9054c4f45 chore: Update translations from Crowdin 2024-08-09 00:01:46 +02:00
Daniel Jacobs 8481d9925f extension: Reword SWF takeover option 2024-08-07 19:47:09 -04:00
Daniel Jacobs d723988237 extension: Don't explicitly check swfTakeover option initially 2024-08-07 19:47:09 -04:00
Daniel Jacobs 6096ac2a5f extension: Don't enable SWF takeover if Ruffle is disabled when toggled 2024-08-07 19:47:09 -04:00
Daniel Jacobs aa647317e7 extension: Hide toggle for SWF redirect on browsers without support 2024-08-07 19:47:09 -04:00
Daniel Jacobs 125d0a84e4 extension: Mention switching to the browser namespace as a TODO 2024-08-07 19:47:09 -04:00
Daniel Jacobs b4eb73ba6c extension: Use more accurate regex for SWF/SPL URLs 2024-08-07 19:47:09 -04:00
Daniel Jacobs eb22fe2151 extension: Allow manually enabling or disabling SWF takeover 2024-08-07 19:47:09 -04:00
Daniel Jacobs 38965e65e4 extension: Don't add dynamic rules where responseHeaders rules ignored 2024-08-07 19:47:09 -04:00
Daniel Jacobs 3a47f8a20f extension: Allow this to work on Firefox when its eventually supported 2024-08-07 19:47:09 -04:00
Daniel Jacobs 10edaf2c48 extension: Add ability to download SWF to local player page 2024-08-07 19:47:09 -04:00
Daniel Jacobs 724442997b extension: Re-enable SWF takeover using declarativeNetRequest 2024-08-07 19:47:09 -04:00
Nathan Adams 1fc367079e ci: Fix desktop path for wix installer 2024-08-08 01:02:20 +02:00
Lord-McSweeney 863e621bbb avm2: Make ScriptObjectData.vtable non-Optional 2024-08-07 14:57:17 -07:00
Lord-McSweeney fa4df53831 avm2: Change the alignment assertion to use `ScriptObjectData` instead of `RefLock<ScriptObjectData>` 2024-08-07 11:58:05 -07:00
Lord-McSweeney 732775d08a avm2: Use interior mutability in `ScriptObjectData` 2024-08-07 11:58:05 -07:00
Tom Schuster c94004271b desktop: Enable LZMA feature by default 2024-08-07 20:08:42 +02:00
Lord-McSweeney 117df6e3c2 avm2: Resolve review notes in `enum_trait_object` macro 2024-08-06 19:25:03 -07:00
Lord-McSweeney 53347ed088 core: Remove unnecessary defined `#[no_dynamic]` `proc_macro_attribute` 2024-08-06 19:25:03 -07:00
Lord-McSweeney c98c173c6b chore: Run `cargo fix` 2024-08-06 19:25:03 -07:00
Lord-McSweeney 806da319c0 avm2: Ensure alignment between *ObjectData and ScriptObjectData is the same 2024-08-06 19:25:03 -07:00
Lord-McSweeney 9c399da94a avm2: Add a `#[no_dynamic]` attribute to specify functions in `enum_trait_object` that don't need dynamic dispatch 2024-08-06 19:25:03 -07:00
Lord-McSweeney e58a82289a avm2: Remove some dynamic-dispatch TObject logic (both on Object variants and defined on TObject)
This results in better codegen for `Object::get_slot` and `set_slot`
2024-08-06 19:25:03 -07:00
Nathan Adams 3357904d1e desktop: Change mime type of bundle + change text of ruffle feature description 2024-08-06 22:46:23 +02:00
Nathan Adams 579afd728e desktop: Make desktop shortcut optional 2024-08-06 22:46:23 +02:00
Nathan Adams 5df2636dee desktop: Add wix config and build msi as part of release 2024-08-06 22:46:23 +02:00
Nathan Adams dc3a3a9228 desktop: Fix version info embedding inside exe 2024-08-06 22:46:23 +02:00
Nathan Adams 32c7c22b50 desktop: Use a better ico that has an actual 256x256 icon, rather than a badly upscaled 64x64 one 2024-08-06 22:46:23 +02:00
michiel2005 6350f5cb87 avm1: made the context menu work for all avm1 objects 2024-08-06 22:11:17 +02:00
TÖRÖK Attila feb9067b0b ci: Remove hacks and workarounds for Rust testing on Ubuntu 2024-08-06 21:40:15 +02:00
TÖRÖK Attila c5c7f45fff ci: Run Rust tests on Ubuntu 24.04 2024-08-06 21:40:15 +02:00
Nathan Adams ccbad52a1e web: Allow overriding of methods via ExternalInterface - fixes #13974 2024-08-06 16:29:10 +02:00
TÖRÖK Attila 2f9f275eff tests: Remove the `exclude_warp` machinery
The issue that necessitated it has been fixed in wgpu.
2024-08-06 15:00:38 +02:00