mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
Use correct timestamps
This commit is contained in:
parent
f9b97fd366
commit
e27687497b
2 changed files with 8 additions and 4 deletions
5
Cargo.lock
generated
5
Cargo.lock
generated
|
@ -6391,7 +6391,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "webxr"
|
name = "webxr"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
source = "git+https://github.com/servo/webxr#29f4f1f28695553c45d6c020172048c0035c49ed"
|
source = "git+https://github.com/servo/webxr#b223bc02b04c8ce0905f34a58802af323457bef4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bindgen",
|
"bindgen",
|
||||||
"euclid",
|
"euclid",
|
||||||
|
@ -6403,6 +6403,7 @@ dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"surfman",
|
"surfman",
|
||||||
"surfman-chains",
|
"surfman-chains",
|
||||||
|
"time",
|
||||||
"webxr-api",
|
"webxr-api",
|
||||||
"winapi",
|
"winapi",
|
||||||
"wio",
|
"wio",
|
||||||
|
@ -6411,7 +6412,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "webxr-api"
|
name = "webxr-api"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
source = "git+https://github.com/servo/webxr#29f4f1f28695553c45d6c020172048c0035c49ed"
|
source = "git+https://github.com/servo/webxr#b223bc02b04c8ce0905f34a58802af323457bef4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"euclid",
|
"euclid",
|
||||||
"ipc-channel",
|
"ipc-channel",
|
||||||
|
|
|
@ -43,6 +43,7 @@ use dom_struct::dom_struct;
|
||||||
use euclid::{Rect, RigidTransform3D, Transform3D};
|
use euclid::{Rect, RigidTransform3D, Transform3D};
|
||||||
use ipc_channel::ipc::IpcSender;
|
use ipc_channel::ipc::IpcSender;
|
||||||
use ipc_channel::router::ROUTER;
|
use ipc_channel::router::ROUTER;
|
||||||
|
use metrics::ToMs;
|
||||||
use profile_traits::ipc;
|
use profile_traits::ipc;
|
||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
|
@ -72,7 +73,7 @@ pub struct XRSession {
|
||||||
#[ignore_malloc_size_of = "closures are hard"]
|
#[ignore_malloc_size_of = "closures are hard"]
|
||||||
raf_callback_list: DomRefCell<Vec<(i32, Option<Rc<XRFrameRequestCallback>>)>>,
|
raf_callback_list: DomRefCell<Vec<(i32, Option<Rc<XRFrameRequestCallback>>)>>,
|
||||||
#[ignore_malloc_size_of = "defined in ipc-channel"]
|
#[ignore_malloc_size_of = "defined in ipc-channel"]
|
||||||
raf_sender: DomRefCell<Option<IpcSender<(f64, Frame)>>>,
|
raf_sender: DomRefCell<Option<IpcSender<Frame>>>,
|
||||||
input_sources: Dom<XRInputSourceArray>,
|
input_sources: Dom<XRInputSourceArray>,
|
||||||
// Any promises from calling end()
|
// Any promises from calling end()
|
||||||
#[ignore_malloc_size_of = "promises are hard"]
|
#[ignore_malloc_size_of = "promises are hard"]
|
||||||
|
@ -300,7 +301,7 @@ impl XRSession {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// https://immersive-web.github.io/webxr/#xr-animation-frame
|
/// https://immersive-web.github.io/webxr/#xr-animation-frame
|
||||||
fn raf_callback(&self, (time, mut frame): (f64, Frame)) {
|
fn raf_callback(&self, mut frame: Frame) {
|
||||||
debug!("WebXR RAF callback");
|
debug!("WebXR RAF callback");
|
||||||
|
|
||||||
// Step 1
|
// Step 1
|
||||||
|
@ -333,6 +334,8 @@ impl XRSession {
|
||||||
|
|
||||||
// Step 4-5
|
// Step 4-5
|
||||||
let mut callbacks = mem::replace(&mut *self.raf_callback_list.borrow_mut(), vec![]);
|
let mut callbacks = mem::replace(&mut *self.raf_callback_list.borrow_mut(), vec![]);
|
||||||
|
let start = self.global().as_window().get_navigation_start();
|
||||||
|
let time = (frame.time_ns - start).to_ms();
|
||||||
|
|
||||||
let frame = XRFrame::new(&self.global(), self, frame);
|
let frame = XRFrame::new(&self.global(), self, frame);
|
||||||
// Step 6,7
|
// Step 6,7
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue