Aaron Hill
d483fc876c
extension: Register navigator polyfill script with allFrames: true
...
This causes the browser to inject our polyfill script into iframes
as well as the main document. This ensures that we can always inject
the fake 'Shockwave Flash' plugin before the page's javascript has
a change to check 'navigator.plugins'
This fixes an inconsistent 'Flash Player Missing' error on
7Road Wartune
2024-08-12 11:00:32 -04:00
dependabot[bot]
f51dcf8d55
build(deps): bump the cargo-minor group with 8 updates
...
Bumps the cargo-minor group with 8 updates:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.5.13` | `4.5.15` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.204` | `1.0.206` |
| [linkme](https://github.com/dtolnay/linkme ) | `0.3.27` | `0.3.28` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.122` | `1.0.124` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.72` | `2.0.74` |
| [fontdb](https://github.com/RazrFalcon/fontdb ) | `0.20.0` | `0.21.0` |
| [async-io](https://github.com/smol-rs/async-io ) | `2.3.3` | `2.3.4` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.11.0` | `3.12.0` |
Updates `clap` from 4.5.13 to 4.5.15
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.13...v4.5.15 )
Updates `serde` from 1.0.204 to 1.0.206
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.204...v1.0.206 )
Updates `linkme` from 0.3.27 to 0.3.28
- [Release notes](https://github.com/dtolnay/linkme/releases )
- [Commits](https://github.com/dtolnay/linkme/compare/0.3.27...0.3.28 )
Updates `serde_json` from 1.0.122 to 1.0.124
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.122...v1.0.124 )
Updates `syn` from 2.0.72 to 2.0.74
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.72...2.0.74 )
Updates `fontdb` from 0.20.0 to 0.21.0
- [Changelog](https://github.com/RazrFalcon/fontdb/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/fontdb/compare/v0.20.0...v0.21.0 )
Updates `async-io` from 2.3.3 to 2.3.4
- [Release notes](https://github.com/smol-rs/async-io/releases )
- [Changelog](https://github.com/smol-rs/async-io/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-io/compare/v2.3.3...v2.3.4 )
Updates `tempfile` from 3.11.0 to 3.12.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/commits )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: linkme
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: syn
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: fontdb
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
- dependency-name: async-io
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo-minor
- dependency-name: tempfile
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 16:45:39 +02:00
dependabot[bot]
7f9bf2488f
build(deps-dev): bump eslint-plugin-jsdoc from 48.11.0 to 50.0.1 in /web
...
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc ) from 48.11.0 to 50.0.1.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases )
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc )
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v48.11.0...v50.0.1 )
---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 16:27:24 +02:00
TÖRÖK Attila
f98999c2ac
ci: Run nextest with profile "ci", add a test-specific override to allow retries for `avm2/pixelbender_shaderdata`
2024-08-12 04:50:27 +02:00
Crowdin Bot
e8a4f2f21f
chore: Update translations from Crowdin
2024-08-12 04:03:33 +02:00
Aaron Hill
bf55f15913
avm2: Declare 'namespace AS3' and validate bytecode in playerglobals
...
In order for asc.jar to generate efficient bytecode
(a direct 'callproperty' instead of a dynamic namespace and method
lookup), we need to have 'namespace AS3' in each package where we
do a qualified 'obj.AS3::SomeMethod()' call.
I've adjusted `build_playerglobal` to scan all of our playerglobal
method bodies to ensure that we don't have the bad bytecode.
This uncovered several places where we were missing `namespace AS3'
Before this change, we were creating a new bound method within
all of our prototype methods in `XML/XMLList`, since they used
'self.AS3::SomeXmlMethod()' calls to delegate to the AS3 native
method.
This saves several hundred megabytes on
`https://s1106-r2game-sq.7road.net `, since we no longer create
bound `FunctionObject`s for all of the distinct XML/XMLList objects
that the swf creates.
2024-08-11 17:33:46 -04:00
Adrian Wielgosik
3b93ff941e
avm2: Intern XML node name
2024-08-11 09:56:02 +02:00
TÖRÖK Attila
c3529afe11
avm1: Math tests: Substitute some trivial expected values and add TODOs about @epsilon
2024-08-11 02:15:36 +02:00
TÖRÖK Attila
3573322c6d
avm1: Change expected values in `test_exp` math test to the exact ones returned by FP
...
And add some tolerance to make it pass with both current stable/beta and nightly rustc.
Thanks for figuring out the precise values, @kjarosh!
2024-08-11 02:15:36 +02:00
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