diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 3062f57e8b5..8ef650ecee9 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -119,7 +119,7 @@ use task_source::file_reading::FileReadingTaskSource; use task_source::history_traversal::HistoryTraversalTaskSource; use task_source::networking::NetworkingTaskSource; use task_source::performance_timeline::PerformanceTimelineTaskSource; -use task_source::user_interaction::{UserInteractionTask, UserInteractionTaskSource}; +use task_source::user_interaction::UserInteractionTaskSource; use time::{get_time, precise_time_ns, Tm}; use url::Position; use webdriver_handlers; @@ -276,8 +276,6 @@ pub enum MainThreadScriptMsg { /// dispatched to ScriptThread). Allows for a replace bool to be passed. If true, /// the current entry will be replaced instead of a new entry being added. Navigate(PipelineId, LoadData, bool), - /// Tasks that originate from the user interaction task source - UserInteraction(UserInteractionTask), /// Notifies the script thread that a new worklet has been loaded, and thus the page should be /// reflowed. WorkletLoaded(PipelineId), @@ -1296,8 +1294,6 @@ impl ScriptThread { self.collect_reports(reports_chan), MainThreadScriptMsg::WorkletLoaded(pipeline_id) => self.handle_worklet_loaded(pipeline_id), - MainThreadScriptMsg::UserInteraction(task) => - task.handle_task(self), } } diff --git a/components/script/task_source/user_interaction.rs b/components/script/task_source/user_interaction.rs index 1969ee0a41a..753c090df9e 100644 --- a/components/script/task_source/user_interaction.rs +++ b/components/script/task_source/user_interaction.rs @@ -7,7 +7,8 @@ use dom::bindings::refcounted::Trusted; use dom::event::{EventBubbles, EventCancelable, EventRunnable}; use dom::eventtarget::EventTarget; use dom::window::Window; -use script_thread::{MainThreadScriptMsg, Runnable, RunnableWrapper, ScriptThread}; +use script_runtime::{CommonScriptMsg, ScriptThreadEventCategory}; +use script_thread::{MainThreadScriptMsg, Runnable, RunnableWrapper}; use servo_atoms::Atom; use std::fmt; use std::result::Result; @@ -29,8 +30,11 @@ impl TaskSource for UserInteractionTaskSource { wrapper: &RunnableWrapper) -> Result<(), ()> where T: Runnable + Send + 'static { - let msg = UserInteractionTask(wrapper.wrap_runnable(msg)); - self.0.send(MainThreadScriptMsg::UserInteraction(msg)).map_err(|_| ()) + let msg = MainThreadScriptMsg::Common(CommonScriptMsg::RunnableMsg( + ScriptThreadEventCategory::InputEvent, + wrapper.wrap_runnable(msg), + )); + self.0.send(msg).map_err(|_| ()) } } @@ -51,17 +55,3 @@ impl UserInteractionTaskSource { let _ = self.queue(runnable, window.upcast()); } } - -pub struct UserInteractionTask(pub Box); - -impl fmt::Debug for UserInteractionTask { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "UserInteractionTask(...)") - } -} - -impl UserInteractionTask { - pub fn handle_task(self, script_thread: &ScriptThread) { - self.0.main_thread_handler(script_thread); - } -}