diff --git a/Cargo.lock b/Cargo.lock index 0dec63c8b..20dd123fe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4359,7 +4359,6 @@ dependencies = [ "ruffle_render", "ruffle_render_wgpu", "ruffle_video_software", - "slotmap", "sys-locale", "tokio", "toml_edit 0.22.9", @@ -4381,7 +4380,9 @@ dependencies = [ name = "ruffle_frontend_utils" version = "0.1.0" dependencies = [ + "async-channel 2.2.0", "ruffle_core", + "slotmap", "tempfile", "thiserror", "toml_edit 0.22.9", diff --git a/desktop/Cargo.toml b/desktop/Cargo.toml index bdfe9e481..8631b998b 100644 --- a/desktop/Cargo.toml +++ b/desktop/Cargo.toml @@ -27,7 +27,6 @@ ruffle_frontend_utils = { path = "../frontend-utils" } tracing = { workspace = true } tracing-subscriber = { workspace = true } tracing-appender = "0.2.3" -slotmap = { workspace = true } winit = "0.29.15" webbrowser = "0.8.14" url = { workspace = true } diff --git a/desktop/src/backends/navigator.rs b/desktop/src/backends/navigator.rs index c05d8036e..88fede948 100644 --- a/desktop/src/backends/navigator.rs +++ b/desktop/src/backends/navigator.rs @@ -1,6 +1,5 @@ //! Navigator backend for web -use crate::executor::FutureSpawner; use crate::player::PlayingContent; use async_channel::{Receiver, Sender, TryRecvError}; use async_io::Timer; @@ -21,6 +20,7 @@ use ruffle_core::backend::navigator::{ use ruffle_core::indexmap::IndexMap; use ruffle_core::loader::Error; use ruffle_core::socket::{ConnectionState, SocketAction, SocketHandle}; +use ruffle_frontend_utils::backends::executor::FutureSpawner; use std::collections::HashSet; use std::io; use std::io::ErrorKind; diff --git a/desktop/src/main.rs b/desktop/src/main.rs index c16ae0b72..01a82791b 100644 --- a/desktop/src/main.rs +++ b/desktop/src/main.rs @@ -10,12 +10,10 @@ mod app; mod backends; mod cli; mod custom_event; -mod executor; mod gui; mod log; mod player; mod preferences; -mod task; mod time_demo; mod util; diff --git a/desktop/src/player.rs b/desktop/src/player.rs index ded2271f6..1da237102 100644 --- a/desktop/src/player.rs +++ b/desktop/src/player.rs @@ -3,7 +3,6 @@ use crate::backends::{ ExternalNavigatorBackend, }; use crate::custom_event::RuffleEvent; -use crate::executor::{PollRequester, WinitAsyncExecutor}; use crate::gui::MovieView; use crate::preferences::GlobalPreferences; use crate::{CALLSTACK, RENDER_INFO, SWF_INFO}; @@ -16,6 +15,7 @@ use ruffle_core::{ DefaultFont, LoadBehavior, Player, PlayerBuilder, PlayerEvent, PlayerRuntime, StageAlign, StageScaleMode, }; +use ruffle_frontend_utils::backends::executor::{PollRequester, WinitAsyncExecutor}; use ruffle_frontend_utils::bundle::source::BundleSourceError; use ruffle_frontend_utils::bundle::{Bundle, BundleError}; use ruffle_render::backend::RenderBackend; diff --git a/frontend-utils/Cargo.toml b/frontend-utils/Cargo.toml index 4941547ff..bfa2da0bc 100644 --- a/frontend-utils/Cargo.toml +++ b/frontend-utils/Cargo.toml @@ -18,6 +18,8 @@ thiserror = { workspace = true } zip = "0.6.6" urlencoding = "2.1.3" ruffle_core = { path = "../core", default-features = false } +async-channel = { workspace = true } +slotmap = { workspace = true } [dev-dependencies] tempfile = "3" diff --git a/frontend-utils/src/backends.rs b/frontend-utils/src/backends.rs index 30f61eb69..f3c21109f 100644 --- a/frontend-utils/src/backends.rs +++ b/frontend-utils/src/backends.rs @@ -1 +1,2 @@ +pub mod executor; pub mod storage; diff --git a/desktop/src/executor.rs b/frontend-utils/src/backends/executor.rs similarity index 99% rename from desktop/src/executor.rs rename to frontend-utils/src/backends/executor.rs index 19e06343d..e1ee6471a 100644 --- a/desktop/src/executor.rs +++ b/frontend-utils/src/backends/executor.rs @@ -1,6 +1,6 @@ -//! Async executor +mod task; -use crate::task::Task; +pub use crate::backends::executor::task::Task; use async_channel::{unbounded, Receiver, Sender}; use ruffle_core::backend::navigator::OwnedFuture; use ruffle_core::loader::Error; diff --git a/desktop/src/task.rs b/frontend-utils/src/backends/executor/task.rs similarity index 100% rename from desktop/src/task.rs rename to frontend-utils/src/backends/executor/task.rs