Commit Graph

10657 Commits

Author SHA1 Message Date
Nathan Adams d5fa0f56ea web: Make loadedConfig private again, add reload() method instead 2023-08-20 19:51:14 +02:00
Daniel Jacobs e7df6d890e extension: Make the player page a local Ruffle demo 2023-08-20 19:51:14 +02:00
TÖRÖK Attila a11725c27c tests: Exclude WARP from running the acid_gradient_2 visual test (ported from Shumway)
This was the culprit for most of our recent Windows CI failures.
2023-08-20 12:49:37 +02:00
TÖRÖK Attila 891e369f48 renovate: Migrate config from "matchLanguages" -> "matchCategories" 2023-08-19 22:16:55 +02:00
TÖRÖK Attila c527eb5a13 renovate: Un-ignore "tests" - we have utilities in there 2023-08-19 22:16:55 +02:00
TÖRÖK Attila a19de45ab5 renovate: Follow "config:base" -> "config:recommended" rename 2023-08-19 22:16:55 +02:00
Kornelius Rohrschneider a50f5cd072 avm1: Remove delay to enter the unloaded state for non-root MovieClips
avm1_unload_movie has been adapted to only enter the unloaded state with
one frame delay if the MovieClip is a root MovieClip. The unloaded state
is now immediately entered for non-root MovieClips.
This fixes the regressions #12254 and #12265 which got introduced
because of this delay.

However, in Flash Player, even non-root MovieClips enter the unloaded
state one frame after the unloadMovie command has been read. Ruffle is
probably replacing a MovieClip differently to Flash, therefore
introducing these regressions when trying to emulate that delay.
Documentation explaining this all has been added to avm1_unload_movie.

Therefore, the test movieclip_library_state_values has been added. It
tests the default state and the unloaded state of a (non-root) child
MovieClip that's loaded from the library. It is marked as known_failure
because Ruffle currently doesn't implement the delay before entering the
unloaded state for non-root MovieClips.
2023-08-19 17:29:00 +02:00
Kornelius Rohrschneider f582ea572c core: Add is_root parameter to MovieClip::replace_with_movie
The method MovieClip::replace_with_movie accepts an
Option<Arc<SwfMovie>>. If no movie is given, an empty stub movie is
generated and used.
Previously, the IS_ROOT flag has been set for the new replaced SwfMovie,
depending on whether a movie was given to the method or not.
However, there are cases where an explicitely given movie should not be
set as a root movie (e.g. if a specific empty stub movie is given to the
method). Conversely, there are also cases where no movie is given, but
the stub movie should still be set as a root movie (e.g. in specific
MovieClip states).
Therefore, an is_root parameter has been added to the method. This
explicit parameter is now used to set the flag for the new replaced
SwfMovie.

All calls of replace_with_movie have been adapted to use the new
parameter correctly.
2023-08-19 17:29:00 +02:00
Kornelius Rohrschneider 0abe0b9386 avm1: Remove completed MovieUnloaders
Previously, a MovieUnloader has been kept in the LoadManager, even after
the movie has been unloaded.
This has been fixed. A remove_loader method has been added to the
LoadManager. It is now called in the avm1_unload_movie method; every
MovieUnloader will be removed after the unloaded state has been entered.

The documentation about loaders has been improved and fixed in multiple
places, clarifying how loaders are removed.
2023-08-19 17:29:00 +02:00
nosamu 050da0740a avm1: Pass flashvars in loadMovie and MovieClipLoader
Fixes #11497
2023-08-19 16:45:01 +02:00
nosamu bd82563bb6 avm2: More lenient SWF version check for invalid frame label behavior
Fixes #11987
2023-08-19 16:10:40 +02:00
renovate[bot] 98eb789f21 chore(deps): update node.js dependencies 2023-08-19 14:37:36 +02:00
Nathan Adams cdaf06838c web: Add short_name for extension 2023-08-19 10:02:53 +02:00
Nathan Adams d21520a4c7 web: Rename extension to 'Ruffle - Flash Emulator', to increase visibility for everyone searching for 'Flash' 2023-08-19 01:11:25 +02:00
Lord-McSweeney 89b9bc3827 core/avm2: Support accessing applicationDomain on a LoaderInfo before load starts/finishes; also improve Loader.unload stub. 2023-08-19 00:24:03 +02:00
renovate[bot] 1f4bfcf10d fix(deps): update rust dependencies 2023-08-18 23:32:15 +02:00
TÖRÖK Attila 47f4a77e5d renovate: Separate wgpu-related Rust dependencies into their own group 2023-08-18 22:46:07 +02:00
Nathan Adams a6aa72351f avm2: Add a Function() call handler 2023-08-18 22:13:46 +02:00
Nathan Adams 7df861f212 avm2: Disallow 'new Function(args)' 2023-08-18 22:13:46 +02:00
Nathan Adams f2233855c7 avm2: Throw proper error on 'x is SomethingThatIsntAClass' 2023-08-18 22:13:46 +02:00
Nathan Adams 46381d181a avm2: Use correct error when trying to construct something invalid 2023-08-18 22:13:46 +02:00
Nathan Adams 8bbf8f4ea1 avm2: Use correct error in toString with invalid radix 2023-08-18 22:13:46 +02:00
Nathan Adams c9c2e213bb avm2: Use correct error in toPrecision 2023-08-18 22:13:46 +02:00
sleepycatcoding 2f98da44fb avm2: String.indexOf returns -1 when passed in undefined 2023-08-18 20:41:41 +02:00
sleepycatcoding cde49de1fb avm2: Remove undefined specific behavior in String.split 2023-08-18 20:41:41 +02:00
sleepycatcoding a44546ab1c avm2: Do not ignore nulls in String.fromCharCode 2023-08-18 20:41:41 +02:00
sleepycatcoding 7316f51cb1 avm2: String.toString defaults to "" 2023-08-18 20:41:41 +02:00
TÖRÖK Attila afac907f80 renovate: Merge patch and major-minor Rust update rules 2023-08-18 20:15:46 +02:00
TÖRÖK Attila de524ee1de renovate: Remove separate lockFileMaintenance schedule, set rangeStrategy to bump. 2023-08-18 18:34:26 +02:00
sleepycatcoding b835cc8091 avm2: Boolean.valueOf and Boolean.toString default to false
Makes tests `e15_6_3_1`, `e15_6_3_1_3`, `e15_6_4`, `e15_6_4__1` and `ecall_1` pass.
2023-08-18 16:07:15 +02:00
Crowdin Bot 96faa8c5ce chore: Update translations from Crowdin 2023-08-18 00:54:46 +02:00
nosamu f3feabb59a avm2: nextScene() and prevScene() should fall back to current scene
Fixes #12797
2023-08-18 00:33:32 +02:00
nosamu 5618ebe6eb tests: Add failing test for queued gotos in AVM2 framescripts
This minimally reproduces #12069 and #10113
2023-08-17 22:46:38 +02:00
Nathan Adams 9328caa713 web: Remove webRequest permission from chrome extension 2023-08-17 08:51:57 +02:00
Nathan Adams f00671e9cc core: Fix rendering masks + scrollRects when cacheAsBitmap 2023-08-16 16:34:24 +02:00
sleepycatcoding f4d42ac75a chore: fmt 2023-08-16 16:11:57 +02:00
sleepycatcoding 1eb3dc07ff ruffle_gc_arena: Remove MutationContext typedef 2023-08-16 16:11:57 +02:00
sleepycatcoding e1bc8ed269 core: Replace usages of MutationContext with Mutation 2023-08-16 16:11:57 +02:00
Aaron Hill b1981debc9 tests: Include test name in error context 2023-08-15 17:04:28 +02:00
Crowdin Bot cad8e10f30 chore: Update translations from Crowdin 2023-08-15 00:28:29 +02:00
renovate[bot] 93f08d7738 chore(deps): lock file maintenance rust dependencies 2023-08-14 23:58:45 +02:00
Nathan Adams ee8da51c6b web: Use 'chrome?.scripting' to test for direct vs indirect pluginPolyfill pmethod, as firefox pretends to be chrome here 2023-08-14 21:21:20 +02:00
Nathan Adams 49d0d417c2 web: Make firefox also use the hash for player.html swf url 2023-08-14 21:21:20 +02:00
Nathan Adams 2f9387f1ac web: Inject plugin polyfill immediately, on chrome/edge 2023-08-14 21:21:20 +02:00
Nathan Adams 7533923f9b web: Remove check for RufflePlayer in content.ts - it can't possibly ever be true 2023-08-14 21:21:20 +02:00
Nathan Adams 1ec12f0931 web: Inject polyfill via url instead of inline, on chrome/edge 2023-08-14 21:21:20 +02:00
Nathan Adams 71000dd19a web: When using manifest v3, do swf takeover using declarativeNetRequest 2023-08-14 21:21:20 +02:00
Nathan Adams 92ea9a535d web: Change manifest v3 background script to a service worker 2023-08-14 21:21:20 +02:00
Nathan Adams 5847772b58 web: Apply 'incognito' directly to the v3 manifest, instead of in a script 2023-08-14 21:21:20 +02:00
Nathan Adams c3b486f19b web: Apply 'wasm-unsafe-eval' directly to the v3 manifest, instead of in a script (and renamed from 'wasm-eval') 2023-08-14 21:21:20 +02:00