Implement user interaction task source

This commit is contained in:
Keith Yeung 2016-03-12 17:58:52 -05:00
parent 12a96f7194
commit cc049515dc
8 changed files with 71 additions and 59 deletions

View file

@ -100,7 +100,7 @@ use task_source::dom_manipulation::{DOMManipulationTaskSource, DOMManipulationTa
use task_source::file_reading::FileReadingTaskSource;
use task_source::history_traversal::HistoryTraversalTaskSource;
use task_source::networking::NetworkingTaskSource;
use task_source::user_interaction::UserInteractionTaskSource;
use task_source::user_interaction::{UserInteractionTaskSource, UserInteractionTask};
use time::Tm;
use url::{Url, Position};
use util::opts;
@ -222,6 +222,8 @@ pub enum MainThreadScriptMsg {
Navigate(PipelineId, LoadData),
/// Tasks that originate from the DOM manipulation task source
DOMManipulation(DOMManipulationTask),
/// Tasks that originate from the user interaction task source
UserInteraction(UserInteractionTask),
}
impl OpaqueSender<CommonScriptMsg> for Box<ScriptChan + Send> {
@ -934,6 +936,8 @@ impl ScriptThread {
self.collect_reports(reports_chan),
MainThreadScriptMsg::DOMManipulation(task) =>
task.handle_task(self),
MainThreadScriptMsg::UserInteraction(task) =>
task.handle_task(),
}
}