aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2014-12-09 18:24:29 +0100
committerMs2ger <ms2ger@gmail.com>2014-12-11 18:41:18 +0100
commite4dc6ca2ecdb395fc8306806d06436d3d53b2f85 (patch)
tree47e6bad8b86fef7baa89cb14c055238141e6a20b /components/script/dom
parentd67bcfa7ce7b37e7ed45a53f1daddbc6b2f2ddf2 (diff)
downloadservo-e4dc6ca2ecdb395fc8306806d06436d3d53b2f85.tar.gz
servo-e4dc6ca2ecdb395fc8306806d06436d3d53b2f85.zip
Pass the timing information to PerformanceTiming rather than exposing methods.
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/performance.rs16
-rw-r--r--components/script/dom/performancetiming.rs9
-rw-r--r--components/script/dom/window.rs13
3 files changed, 22 insertions, 16 deletions
diff --git a/components/script/dom/performance.rs b/components/script/dom/performance.rs
index 806bad196ec..60f5abfec95 100644
--- a/components/script/dom/performance.rs
+++ b/components/script/dom/performance.rs
@@ -20,15 +20,23 @@ pub struct Performance {
}
impl Performance {
- fn new_inherited(window: JSRef<Window>) -> Performance {
+ fn new_inherited(window: JSRef<Window>,
+ navigation_start: u64,
+ navigation_start_precise: f64) -> Performance {
Performance {
reflector_: Reflector::new(),
- timing: JS::from_rooted(PerformanceTiming::new(window)),
+ timing: JS::from_rooted(PerformanceTiming::new(window,
+ navigation_start,
+ navigation_start_precise)),
}
}
- pub fn new(window: JSRef<Window>) -> Temporary<Performance> {
- reflect_dom_object(box Performance::new_inherited(window),
+ pub fn new(window: JSRef<Window>,
+ navigation_start: u64,
+ navigation_start_precise: f64) -> Temporary<Performance> {
+ reflect_dom_object(box Performance::new_inherited(window,
+ navigation_start,
+ navigation_start_precise),
global::Window(window),
PerformanceBinding::Wrap)
}
diff --git a/components/script/dom/performancetiming.rs b/components/script/dom/performancetiming.rs
index 1b409aabe23..3dbffabbb3a 100644
--- a/components/script/dom/performancetiming.rs
+++ b/components/script/dom/performancetiming.rs
@@ -27,9 +27,12 @@ impl PerformanceTiming {
}
#[allow(unrooted_must_root)]
- pub fn new(window: JSRef<Window>) -> Temporary<PerformanceTiming> {
- let timing = PerformanceTiming::new_inherited(window.navigation_start(),
- window.navigation_start_precise());
+ pub fn new(window: JSRef<Window>,
+ navigation_start: u64,
+ navigation_start_precise: f64)
+ -> Temporary<PerformanceTiming> {
+ let timing = PerformanceTiming::new_inherited(navigation_start,
+ navigation_start_precise);
reflect_dom_object(box timing, global::Window(window),
PerformanceTimingBinding::Wrap)
}
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index da0cc228b0a..ec12d983918 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -98,14 +98,6 @@ impl Window {
&*self.page
}
- pub fn navigation_start(&self) -> u64 {
- self.navigation_start
- }
-
- pub fn navigation_start_precise(&self) -> f64 {
- self.navigation_start_precise
- }
-
pub fn get_url(&self) -> Url {
self.page().get_url()
}
@@ -267,7 +259,10 @@ impl<'a> WindowMethods for JSRef<'a, Window> {
}
fn Performance(self) -> Temporary<Performance> {
- self.performance.or_init(|| Performance::new(self))
+ self.performance.or_init(|| {
+ Performance::new(self, self.navigation_start,
+ self.navigation_start_precise)
+ })
}
global_event_handlers!()