diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2019-04-03 11:33:06 -0700 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2019-04-03 23:55:33 -0700 |
commit | eb837d1ed79bac1d3e0e9552b149f7f289665eb1 (patch) | |
tree | 57e7b308e492e315e63f099a805670e4c36eec25 /components/script/dom/xrrigidtransform.rs | |
parent | fcec93ae162798274576ff3b4d3c7310dd9fb3e3 (diff) | |
download | servo-eb837d1ed79bac1d3e0e9552b149f7f289665eb1.tar.gz servo-eb837d1ed79bac1d3e0e9552b149f7f289665eb1.zip |
XRRigidTransform.inverse is now a lazy attribute
Diffstat (limited to 'components/script/dom/xrrigidtransform.rs')
-rw-r--r-- | components/script/dom/xrrigidtransform.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/components/script/dom/xrrigidtransform.rs b/components/script/dom/xrrigidtransform.rs index be27d20d6ee..0bebba280a9 100644 --- a/components/script/dom/xrrigidtransform.rs +++ b/components/script/dom/xrrigidtransform.rs @@ -23,6 +23,7 @@ pub struct XRRigidTransform { orientation: MutNullableDom<DOMPointReadOnly>, #[ignore_malloc_size_of = "defined in euclid"] transform: RigidTransform3D<f64>, + inverse: MutNullableDom<XRRigidTransform>, } impl XRRigidTransform { @@ -32,6 +33,7 @@ impl XRRigidTransform { position: MutNullableDom::default(), orientation: MutNullableDom::default(), transform, + inverse: MutNullableDom::default(), } } @@ -93,7 +95,9 @@ impl XRRigidTransformMethods for XRRigidTransform { } // https://immersive-web.github.io/webxr/#dom-xrrigidtransform-inverse fn Inverse(&self) -> DomRoot<XRRigidTransform> { - XRRigidTransform::new(&self.global(), self.transform.inverse()) + self.inverse.or_init(|| { + XRRigidTransform::new(&self.global(), self.transform.inverse()) + }) } } |