summaryrefslogtreecommitdiffstats
path: root/ipc/glue/test/browser/browser_audio_telemetry_content.js
blob: 89f5126794de32d96bf23789306a7767642aa6f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

/* import-globals-from head-telemetry.js */

Services.scriptloader.loadSubScript(
  "chrome://mochitests/content/browser/ipc/glue/test/browser/head-telemetry.js",
  this
);

add_setup(async function testNoTelemetry() {
  await Telemetry.clearScalars();
  await SpecialPowers.pushPrefEnv({
    set: [["media.allow-audio-non-utility", true]],
  });
});

add_task(async function testAudioDecodingInContent() {
  await runTest({ expectUtility: false, expectRDD: false });
});

add_task(async function testContentTelemetry() {
  const codecs = ["vorbis", "mp3", "aac", "flac"];
  const extraKey = getExtraKey({
    rddPref: false,
    utilityPref: false,
    allowNonUtility: true,
  });
  await verifyTelemetryForProcess("tab", codecs, extraKey);

  const platform = Services.appinfo.OS;
  for (let exp of utilityPerCodecs[platform]) {
    await verifyNoTelemetryForProcess(exp.process, exp.codecs, extraKey);
  }

  await verifyNoTelemetryForProcess("rdd", codecs, extraKey);
});