tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit c7d0d0103e485a66fd8e3dd4f6cb5105baa67ebb
parent a0d9a5cac52be847d8e4d09b0c6940d26a36630a
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed, 12 Nov 2025 08:51:50 +0000

Bug 1999546 [wpt PR 55982] - Optimize gfx::Transform's mojo., a=testonly

Automatic update from web-platform-tests
Optimize gfx::Transform's mojo.

Currently even if its representation is optimized (not a full
matrix), it is still sent as a full matrix.

This CL keeps the internal representation across mojo.

Not only this is a performance boost, it also keeps data consistent
between renderer and viz in TreesInViz.

Bug: 458397948
Change-Id: I669a1875064998bc50dd5ba11b78db326e1ccbc5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7127271
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Auto-Submit: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kyle Charbonneau <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1543152}

--

wpt-commits: 7fd0c65f58856012a4cc63c28234ee6d6b93e8d0
wpt-pr: 55982

Diffstat:
Mtesting/web-platform/tests/resources/chromium/webxr-test.js | 29+++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/testing/web-platform/tests/resources/chromium/webxr-test.js b/testing/web-platform/tests/resources/chromium/webxr-test.js @@ -6,10 +6,10 @@ import {GamepadHand, GamepadMapping} from '/gen/device/gamepad/public/mojom/game // https://github.com/immersive-web/webxr-test-api const defaultMojoFromStage = { - matrix: [1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - 0, -1.65, 0, 1] + data: { matrix: [1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, -1.65, 0, 1] } }; const default_stage_parameters = { mojoFromStage: defaultMojoFromStage, @@ -57,7 +57,7 @@ function getPoseFromTransform(transform) { } function composeGFXTransform(fakeTransformInit) { - return {matrix: getMatrixFromTransform(fakeTransformInit)}; + return {data: {matrix: getMatrixFromTransform(fakeTransformInit)}}; } // Value equality for camera image init objects - they must contain `width` & @@ -534,7 +534,7 @@ class MockRuntime { // floorOrigin is passed in as mojoFromStage. this.stageParameters_.mojoFromStage = - {matrix: getMatrixFromTransform(floorOrigin)}; + {data: {matrix: getMatrixFromTransform(floorOrigin)}}; this._onStageParametersUpdated(); } @@ -1578,10 +1578,10 @@ class MockRuntime { this.depthSensingData_.height, MockRuntime._depthDataFormatToMojoMap[this.depthSensingData_.depthFormat], sourceProjectionMatrix, - sourceViewOffset.matrix, + sourceViewOffset.data.matrix, this.depthConfiguration_.depthDataFormat, targetProjectionMatrix, - targetViewOffset.matrix + targetViewOffset.data.matrix )}; } @@ -1908,7 +1908,7 @@ class MockRuntime { } _getMojoFromViewerWithOffset(viewOffset) { - return { matrix: XRMathHelper.mul4x4(this._getMojoFromViewer(), viewOffset.matrix) }; + return {data: { matrix: XRMathHelper.mul4x4(this._getMojoFromViewer(), viewOffset.data.matrix) }}; } _getMojoFromNativeOrigin(nativeOriginInformation) { @@ -1930,7 +1930,7 @@ class MockRuntime { console.warn("Standing transform not available."); return null; } - return this.stageParameters_.mojoFromStage.matrix; + return this.stageParameters_.mojoFromStage.data.matrix; case vrMojom.XRReferenceSpaceType.kViewer: return mojo_from_viewer; case vrMojom.XRReferenceSpaceType.kBoundedFloor: @@ -2233,7 +2233,7 @@ class MockXRInputSource { // that. If we don't, then we'll just set the pointer offset directly, // using identity as set above. if (this.mojo_from_input_) { - mojo_from_input = this.mojo_from_input_.matrix; + mojo_from_input = this.mojo_from_input_.data.matrix; } break; default: @@ -2246,8 +2246,9 @@ class MockXRInputSource { // multiplying. let input_from_mojo = XRMathHelper.inverse(mojo_from_input); input_desc.inputFromPointer = {}; - input_desc.inputFromPointer.matrix = - XRMathHelper.mul4x4(input_from_mojo, this.mojo_from_pointer_.matrix); + input_desc.inputFromPointer.data = { + matrix : XRMathHelper.mul4x4(input_from_mojo, + this.mojo_from_pointer_.data.matrix)}; input_desc.profiles = this.profiles_; @@ -2351,7 +2352,7 @@ class MockXRInputSource { } _getMojoFromInputSource(mojo_from_viewer) { - return this.mojo_from_pointer_.matrix; + return this.mojo_from_pointer_.data.matrix; } }