ruffle/frontend-utils/src
Aaron Hill 6e93927f63 web: Check for locked 'Player' mutex and reschedule with setTimeout
We use 'wasm-bindgen-futures' as our futures executor on web, which
in turn uses 'queueMicroTask'. This can result in the browser executing
one of our futures while we're still inside our `requestAnimationFrame`
callback (in particular, while we still have the `Player` mutex locked).

We now detect this condition by attempting the lock the Player mutex
inside of our `spawn_local` future. If this fails, we `await`
a `setTimeout`-based promise, which ensures that our code runs in
a new top-level `setTimeout` javascript 'task' (outside of our
`requestAnimationFrame` callback).
2024-07-15 22:46:22 +02:00
..
backends web: Check for locked 'Player' mutex and reschedule with setTimeout 2024-07-15 22:46:22 +02:00
bookmarks frontend-utils: Initial recents reader/writer 2024-04-29 20:46:42 +02:00
bundle frontend-utils: Hook up player options to bundle parser 2024-05-16 01:14:42 +03:00
player_options frontend-utils: Implement player options deserializer 2024-05-16 01:14:42 +03:00
recents desktop/frontend-utils: Show filename or bundle name in recent list 2024-05-26 00:37:35 +03:00
backends.rs frontend-utils: Remove outdated comments 2024-04-11 23:14:44 +02:00
bookmarks.rs frontend-utils: Initial recents reader/writer 2024-04-29 20:46:42 +02:00
bundle.rs frontend-utils: Hook up player options to bundle parser 2024-05-16 01:14:42 +03:00
content.rs frontend-utils: Remove outdated comments 2024-04-11 23:14:44 +02:00
lib.rs frontend-utils: Move player_options up from bundle 2024-05-10 19:51:37 +02:00
parse.rs frontend-utils: Implement player options deserializer 2024-05-16 01:14:42 +03:00
player_options.rs desktop: Add HTTP Referer and Cookie (#16424) 2024-05-24 22:07:36 +00:00
recents.rs desktop/frontend-utils: Show filename or bundle name in recent list 2024-05-26 00:37:35 +03:00
write.rs frontend-utils: Move bookmark writer from desktop 2024-04-09 18:54:11 +02:00