From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Sun, 7 Apr 2024 21:33:14 +0200
Subject: Adding upstream version 115.7.0esr.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 ...est_mediacapabilities_resistfingerprinting.html | 69 ++++++++++++++++++++++
 1 file changed, 69 insertions(+)
 create mode 100644 dom/media/test/test_mediacapabilities_resistfingerprinting.html

(limited to 'dom/media/test/test_mediacapabilities_resistfingerprinting.html')

diff --git a/dom/media/test/test_mediacapabilities_resistfingerprinting.html b/dom/media/test/test_mediacapabilities_resistfingerprinting.html
new file mode 100644
index 0000000000..1f07d1c707
--- /dev/null
+++ b/dom/media/test/test_mediacapabilities_resistfingerprinting.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>Test for Bug 1369309</title>
+  <script src="/tests/SimpleTest/SimpleTest.js"></script>
+  <script type="application/javascript" src="manifest.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1461454">Mozilla Bug 1461454</a>
+<a target="_blank" href="https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/13543">Tor Issue 13543</a>
+
+<script type="application/javascript">
+async function testWhetherSpoofed(resistFingerprinting) {
+
+    var unsupportedVideoConfiguration = {
+        contentType: 'video/bogus',
+        width: 800,
+        height: 600,
+        bitrate: 3000,
+        framerate: 24,
+    };
+    var supportedVideoConfiguration = {
+        contentType: 'video/webm; codecs="vp09.00.10.08"',
+        width: 800,
+        height: 600,
+        bitrate: 3000,
+        framerate: 24,
+    };
+
+    await SpecialPowers.pushPrefEnv({
+        "set": [
+            ["privacy.resistFingerprinting", resistFingerprinting]
+        ],
+    });
+
+    var result;
+
+    result = await navigator.mediaCapabilities.decodingInfo({
+        type: 'file',
+        video: unsupportedVideoConfiguration
+    });
+    is(result.supported, false, "video/bogus should be unsupported.");
+    is(result.smooth, false, "smooth is false when unsupported.");
+    is(result.powerEfficient, false, "powerEfficient is false when unsupported.");
+
+    result = await navigator.mediaCapabilities.decodingInfo({
+        type: 'file',
+        video: supportedVideoConfiguration
+    });
+    is(result.supported, true, "'video/webm; codecs=\"vp09.00.10.08\"' should be supported.");
+    if (resistFingerprinting) {
+        is(result.smooth, true, "smooth should be spoofed to true in RFP mode.");
+        is(result.powerEfficient, false, "powerEfficient should be spoofed to false in RFP mode.");
+    }
+}
+
+async function start() {
+    await testWhetherSpoofed(true);
+    await testWhetherSpoofed(false);
+    SimpleTest.finish();
+}
+
+SimpleTest.waitForExplicitFinish();
+start();
+</script>
+</body>
+</html>
-- 
cgit v1.2.3