From eec68faa41dbe783cfba3fd92e6094629c126427 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Mon, 15 Dec 2014 23:55:00 +0530 Subject: [PATCH] Fix window.performance.now() --- components/script/dom/performance.rs | 5 +++-- components/script/dom/window.rs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/components/script/dom/performance.rs b/components/script/dom/performance.rs index 60f5abfec95..3fc094eeb65 100644 --- a/components/script/dom/performance.rs +++ b/components/script/dom/performance.rs @@ -47,9 +47,10 @@ impl<'a> PerformanceMethods for JSRef<'a, Performance> { Temporary::new(self.timing.clone()) } + // https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/HighResolutionTime/Overview.html#dom-performance-now fn Now(self) -> DOMHighResTimeStamp { - let navStart = self.timing.root().NavigationStartPrecise() as f64; - (time::precise_time_s() - navStart) as DOMHighResTimeStamp + let navStart = self.timing.root().NavigationStartPrecise(); + (time::precise_time_ns() as f64 - navStart) * 1000000u as DOMHighResTimeStamp } } diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index ec12d983918..2a245ea228a 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -394,7 +394,7 @@ impl Window { browser_context: DOMRefCell::new(None), performance: Default::default(), navigation_start: time::get_time().sec as u64, - navigation_start_precise: time::precise_time_s(), + navigation_start_precise: time::precise_time_ns() as f64, screen: Default::default(), session_storage: Default::default(), timers: TimerManager::new()