diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2017-09-13 09:50:06 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2017-09-13 14:27:40 +0200 |
commit | fe29037e89afa72c06e116b33477db8787c7330e (patch) | |
tree | 503f500d032e650a90a7b69e7dbdb084cacc7786 /components | |
parent | 65dfd6bf639a919b3e5a2256d1cfc9ffabfdee40 (diff) | |
download | servo-fe29037e89afa72c06e116b33477db8787c7330e.tar.gz servo-fe29037e89afa72c06e116b33477db8787c7330e.zip |
Avoid a clone in ScriptThread::new
Diffstat (limited to 'components')
-rw-r--r-- | components/script/script_thread.rs | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 12afd67c7c5..a29896f70f5 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -843,7 +843,7 @@ impl ScriptThread { // Ask the router to proxy IPC messages from the control port to us. let control_port = ROUTER.route_ipc_receiver_to_new_mpsc_receiver(state.control_port); - let boxed_script_sender = MainThreadScriptChan(chan.clone()).clone(); + let boxed_script_sender = box MainThreadScriptChan(chan.clone()); let (image_cache_channel, image_cache_port) = channel(); @@ -2038,34 +2038,36 @@ impl ScriptThread { }; // Create the window and document objects. - let window = Window::new(self.js_runtime.clone(), - MainThreadScriptChan(sender.clone()), - DOMManipulationTaskSource(dom_sender.clone()), - UserInteractionTaskSource(user_sender.clone()), - self.networking_task_source.clone(), - HistoryTraversalTaskSource(history_sender.clone()), - self.file_reading_task_source.clone(), - self.performance_timeline_task_source.clone(), - self.image_cache_channel.clone(), - self.image_cache.clone(), - self.resource_threads.clone(), - self.bluetooth_thread.clone(), - self.mem_profiler_chan.clone(), - self.time_profiler_chan.clone(), - self.devtools_chan.clone(), - script_to_constellation_chan, - self.control_chan.clone(), - self.scheduler_chan.clone(), - ipc_timer_event_chan, - incomplete.layout_chan, - incomplete.pipeline_id, - incomplete.parent_info, - incomplete.window_size, - origin, - incomplete.navigation_start, - incomplete.navigation_start_precise, - self.webgl_chan.channel(), - self.webvr_chan.clone()); + let window = Window::new( + self.js_runtime.clone(), + MainThreadScriptChan(sender.clone()), + DOMManipulationTaskSource(dom_sender.clone()), + UserInteractionTaskSource(user_sender.clone()), + self.networking_task_source.clone(), + HistoryTraversalTaskSource(history_sender.clone()), + self.file_reading_task_source.clone(), + self.performance_timeline_task_source.clone(), + self.image_cache_channel.clone(), + self.image_cache.clone(), + self.resource_threads.clone(), + self.bluetooth_thread.clone(), + self.mem_profiler_chan.clone(), + self.time_profiler_chan.clone(), + self.devtools_chan.clone(), + script_to_constellation_chan, + self.control_chan.clone(), + self.scheduler_chan.clone(), + ipc_timer_event_chan, + incomplete.layout_chan, + incomplete.pipeline_id, + incomplete.parent_info, + incomplete.window_size, + origin, + incomplete.navigation_start, + incomplete.navigation_start_precise, + self.webgl_chan.channel(), + self.webvr_chan.clone(), + ); // Initialize the browsing context for the window. let window_proxy = self.local_window_proxy(&window, |