diff --git a/components/devtools/actors/framerate.rs b/components/devtools/actors/framerate.rs index 4713046b6c9..97a366c9fc5 100644 --- a/components/devtools/actors/framerate.rs +++ b/components/devtools/actors/framerate.rs @@ -6,7 +6,6 @@ use ipc_channel::ipc::IpcSender; use rustc_serialize::json; use std::mem; use std::net::TcpStream; -use std::sync::{Arc, Mutex}; use time::precise_time_ns; use msg::constellation_msg::PipelineId; @@ -20,7 +19,7 @@ pub struct FramerateActor { script_sender: IpcSender, start_time: Option, is_recording: bool, - ticks: Arc>>, + ticks: Vec, } impl Actor for FramerateActor { @@ -50,7 +49,7 @@ impl FramerateActor { script_sender: script_sender, start_time: None, is_recording: false, - ticks: Arc::new(Mutex::new(Vec::new())), + ticks: Vec::new(), }; actor.start_recording(); @@ -58,10 +57,8 @@ impl FramerateActor { actor_name } - pub fn add_tick(&self, tick: f64) { - let mut lock = self.ticks.lock(); - let mut ticks = lock.as_mut().unwrap(); - ticks.push(HighResolutionStamp::wrap(tick)); + pub fn add_tick(&mut self, tick: f64) { + self.ticks.push(HighResolutionStamp::wrap(tick)); if self.is_recording { let msg = DevtoolScriptControlMsg::RequestAnimationFrame(self.pipeline, @@ -70,10 +67,8 @@ impl FramerateActor { } } - pub fn take_pending_ticks(&self) -> Vec { - let mut lock = self.ticks.lock(); - let mut ticks = lock.as_mut().unwrap(); - mem::replace(ticks, Vec::new()) + pub fn take_pending_ticks(&mut self) -> Vec { + mem::replace(&mut self.ticks, Vec::new()) } fn start_recording(&mut self) { diff --git a/components/devtools/lib.rs b/components/devtools/lib.rs index b7dfedbac77..ff42550d826 100644 --- a/components/devtools/lib.rs +++ b/components/devtools/lib.rs @@ -185,8 +185,8 @@ fn run_server(sender: Sender, } fn handle_framerate_tick(actors: Arc>, actor_name: String, tick: f64) { - let actors = actors.lock().unwrap(); - let framerate_actor = actors.find::(&actor_name); + let mut actors = actors.lock().unwrap(); + let framerate_actor = actors.find_mut::(&actor_name); framerate_actor.add_tick(tick); }