aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/worker.rs5
-rw-r--r--components/script/dom/xmlhttprequest.rs5
-rw-r--r--components/script/script_task.rs4
3 files changed, 8 insertions, 6 deletions
diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs
index 3822e4e538c..8fa36436c19 100644
--- a/components/script/dom/worker.rs
+++ b/components/script/dom/worker.rs
@@ -115,7 +115,8 @@ impl WorkerMessageHandler {
}
impl Runnable for WorkerMessageHandler {
- fn handler(&self){
- Worker::handle_message(self.addr.clone(), self.data);
+ fn handler(self: Box<WorkerMessageHandler>) {
+ let this = *self;
+ Worker::handle_message(this.addr, this.data);
}
}
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs
index beee21798af..a5d5c767a72 100644
--- a/components/script/dom/xmlhttprequest.rs
+++ b/components/script/dom/xmlhttprequest.rs
@@ -85,8 +85,9 @@ impl XHRProgressHandler {
}
impl Runnable for XHRProgressHandler {
- fn handler(&self) {
- XMLHttpRequest::handle_progress(self.addr.clone(), self.progress.clone());
+ fn handler(self: Box<XHRProgressHandler>) {
+ let this = *self;
+ XMLHttpRequest::handle_progress(this.addr, this.progress);
}
}
diff --git a/components/script/script_task.rs b/components/script/script_task.rs
index 4783d8539f4..46488446b9d 100644
--- a/components/script/script_task.rs
+++ b/components/script/script_task.rs
@@ -96,7 +96,7 @@ pub enum TimerSource {
}
pub trait Runnable {
- fn handler(&self);
+ fn handler(self: Box<Self>);
}
/// Messages used to control script event loops, such as ScriptTask and
@@ -1385,7 +1385,7 @@ impl DocumentProgressHandler {
}
impl Runnable for DocumentProgressHandler {
- fn handler(&self) {
+ fn handler(self: Box<DocumentProgressHandler>) {
match self.task {
DocumentProgressTask::DOMContentLoaded => {
self.dispatch_dom_content_loaded();