From 4878b40a7fd6af17f85f9608c8237da63085b4b0 Mon Sep 17 00:00:00 2001 From: Jan-Ivar Bruaroey Date: Thu, 5 Mar 2026 12:03:04 +0000 Subject: [PATCH] reuse expensive frame across tests to speed up RTCEncodedFrame-copy-construction.https.html WPT. Differential Revision: https://phabricator.services.mozilla.com/D270586 bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1995644 gecko-commit: 07488fe044580dc48401beabbb0e752bb30668e8 gecko-reviewers: bwc --- .../RTCEncodedFrame-copy-construction.https.html | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/webrtc-encoded-transform/RTCEncodedFrame-copy-construction.https.html b/webrtc-encoded-transform/RTCEncodedFrame-copy-construction.https.html index 9d756378c44258..871f9733eea57d 100644 --- a/webrtc-encoded-transform/RTCEncodedFrame-copy-construction.https.html +++ b/webrtc-encoded-transform/RTCEncodedFrame-copy-construction.https.html @@ -16,8 +16,11 @@ const assert_json_equals = (a, b) => assert_equals(JSON.stringify(a), JSON.stringify(b)); const assert_json_not_equals = (a, b) => assert_not_equals(JSON.stringify(a), JSON.stringify(b)); +const reuse = {}; // speed up tests + promise_test(async t => { const frame = await createRTCEncodedFrameFromScratch("video"); + reuse["video"] = frame; assert_true(frame instanceof RTCEncodedVideoFrame); assert_equals(frame.type, "key"); // first frame is key @@ -30,6 +33,7 @@ promise_test(async t => { const frame = await createRTCEncodedFrameFromScratch("audio"); + reuse["audio"] = frame; assert_true(frame instanceof RTCEncodedAudioFrame); const clone = new RTCEncodedAudioFrame(frame); @@ -52,7 +56,7 @@ const kind = constr.includes("Video")? "video" : "audio"; promise_test(async t => { - const frame = await createRTCEncodedFrameFromScratch(kind); + const frame = reuse[kind]; const oldData = frame.getMetadata(); // test single key replacement for (const key of Object.keys(oldData)) { @@ -78,7 +82,7 @@ }, `${constr} copy construction metadata override on main thread.`); promise_test(async t => { - const frame = await createRTCEncodedFrameFromScratch(kind); + const frame = reuse[kind]; assert_greater_than(frame.data.byteLength, 0); const length = frame.data.byteLength; const clone = structuredClone(frame); @@ -88,7 +92,7 @@ }, `${constr} structuredClone on main thread.`); promise_test(async t => { - const frame = await createRTCEncodedFrameFromScratch(kind); + const frame = reuse[kind]; assert_greater_than(frame.data.byteLength, 0); const length = frame.data.byteLength; const clone = structuredClone(frame, {transfer: [frame.data]});