aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-08-06 17:43:09 -0600
committerbors-servo <metajack+bors@gmail.com>2015-08-06 17:43:09 -0600
commit76b4bae6ee45317f2ca0aefbc48b89169d2450c8 (patch)
tree4a991d818f3940af72f9cb3410b6212cea3803be /components/script/dom
parentb21584c862f8831dfb40e9cf0495bf04bc6ae1b5 (diff)
parent2114ffd0b9742784d2723aad3a7c163e8d06b040 (diff)
downloadservo-76b4bae6ee45317f2ca0aefbc48b89169d2450c8.tar.gz
servo-76b4bae6ee45317f2ca0aefbc48b89169d2450c8.zip
Auto merge of #7054 - Manishearth:rollup, r=Manishearth
Rollup of 3 pull requests - Successful merges: #7028, #7034, #7039 - Failed merges: <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7054) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/dedicatedworkerglobalscope.rs27
1 files changed, 6 insertions, 21 deletions
diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs
index 7ede272035b..bce639a5c6b 100644
--- a/components/script/dom/dedicatedworkerglobalscope.rs
+++ b/components/script/dom/dedicatedworkerglobalscope.rs
@@ -28,12 +28,11 @@ use script_task::StackRootTLS;
use devtools_traits::DevtoolScriptControlMsg;
use msg::constellation_msg::PipelineId;
use net_traits::load_whole_resource;
-use profile_traits::mem::{self, Reporter, ReporterRequest};
use util::task::spawn_named;
use util::task_state;
use util::task_state::{SCRIPT, IN_WORKER};
-use ipc_channel::ipc::{self, IpcReceiver};
+use ipc_channel::ipc::IpcReceiver;
use ipc_channel::router::ROUTER;
use js::jsapi::{JSContext, RootedValue, HandleValue};
use js::jsapi::{JSAutoRequest, JSAutoCompartment};
@@ -192,26 +191,12 @@ impl DedicatedWorkerGlobalScope {
scope.execute_script(source);
}
- // Register this task as a memory reporter.
let reporter_name = format!("worker-reporter-{}", random::<u64>());
- let (reporter_sender, reporter_receiver) = ipc::channel().unwrap();
- ROUTER.add_route(reporter_receiver.to_opaque(), box move |reporter_request| {
- // Just injects an appropriate event into the worker task's queue.
- let reporter_request: ReporterRequest = reporter_request.to().unwrap();
- parent_sender.send(ScriptMsg::CollectReports(
- reporter_request.reports_channel)).unwrap()
- });
- scope.mem_profiler_chan().send(mem::ProfilerMsg::RegisterReporter(
- reporter_name.clone(),
- Reporter(reporter_sender)));
-
- while let Ok(event) = global.receive_event() {
- global.handle_event(event);
- }
-
- // Unregister this task as a memory reporter.
- let msg = mem::ProfilerMsg::UnregisterReporter(reporter_name);
- scope.mem_profiler_chan().send(msg);
+ scope.mem_profiler_chan().run_with_memory_reporting(|| {
+ while let Ok(event) = global.receive_event() {
+ global.handle_event(event);
+ }
+ }, reporter_name, parent_sender, ScriptMsg::CollectReports);
});
}
}