summaryrefslogtreecommitdiffstats
path: root/browser/components/reportbrokensite/test/browser/send_more_info.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/reportbrokensite/test/browser/send_more_info.js')
-rw-r--r--browser/components/reportbrokensite/test/browser/send_more_info.js52
1 files changed, 45 insertions, 7 deletions
diff --git a/browser/components/reportbrokensite/test/browser/send_more_info.js b/browser/components/reportbrokensite/test/browser/send_more_info.js
index 6803403f63..83b6b00405 100644
--- a/browser/components/reportbrokensite/test/browser/send_more_info.js
+++ b/browser/components/reportbrokensite/test/browser/send_more_info.js
@@ -79,6 +79,7 @@ async function reformatExpectedWebCompatInfo(tab, overrides) {
additionalData: {
applicationName,
blockList,
+ buildId: snapshot.application.buildID,
devicePixelRatio: parseInt(devicePixelRatio),
finalUserAgent: useragentString,
fissionEnabled,
@@ -97,10 +98,6 @@ async function reformatExpectedWebCompatInfo(tab, overrides) {
},
hasTouchScreen,
monitors(actual) {
- // We don't care about monitor data on Android right now.
- if (AppConstants.platform === "android") {
- return actual == undefined;
- }
return areObjectsEqual(actual, gfxInfo.getMonitors());
},
},
@@ -109,16 +106,18 @@ async function reformatExpectedWebCompatInfo(tab, overrides) {
hasTrackingContentBlocked,
isPB: isPrivateBrowsing,
languages,
+ locales: snapshot.intl.localeService.available,
+ memoryMB: browserInfo.system.memory,
osArchitecture,
osName,
osVersion,
prefs: finalPrefs,
- updateChannel,
- userAgent: defaultUseragentString,
version,
},
blockList,
+ channel: updateChannel,
consoleLog,
+ defaultUserAgent: defaultUseragentString,
frameworks,
hasTouchScreen,
"gfx.webrender.software": prefs.softwareWebrender,
@@ -134,6 +133,19 @@ async function reformatExpectedWebCompatInfo(tab, overrides) {
utm_source: "desktop-reporter",
};
+ const { gfxData } = reformatted.details.additionalData;
+ for (const optional of [
+ "direct2DEnabled",
+ "directWriteEnabled",
+ "directWriteVersion",
+ "clearTypeParameters",
+ "targetFrameRate",
+ ]) {
+ if (optional in snapshot.graphics) {
+ gfxData[optional] = snapshot.graphics[optional];
+ }
+ }
+
// We only care about this pref on Linux right now on webcompat.com.
if (AppConstants.platform != "linux") {
delete finalPrefs["layers.acceleration.force-enabled"];
@@ -206,7 +218,33 @@ async function testSendMoreInfo(tab, menu, expectedOverrides = {}) {
expected.url = url;
expected.description = description;
- ok(areObjectsEqual(message, expected), "ping matches expectations");
+ // sanity checks
+ const { details } = message;
+ const { additionalData } = details;
+ ok(message.url?.length, "Got a URL");
+ ok(["basic", "strict"].includes(details.blockList), "Got a blockList");
+ ok(additionalData.applicationName?.length, "Got an app name");
+ ok(additionalData.osArchitecture?.length, "Got an OS arch");
+ ok(additionalData.osName?.length, "Got an OS name");
+ ok(additionalData.osVersion?.length, "Got an OS version");
+ ok(additionalData.version?.length, "Got an app version");
+ ok(details.channel?.length, "Got an app channel");
+ ok(details.defaultUserAgent?.length, "Got a default UA string");
+ ok(additionalData.finalUserAgent?.length, "Got a final UA string");
+
+ // If we're sending any tab-specific data (which includes console logs),
+ // check that there is also a valid screenshot.
+ if ("consoleLog" in details) {
+ const isScreenshotValid = await new Promise(done => {
+ var image = new Image();
+ image.onload = () => done(image.width > 0);
+ image.onerror = () => done(false);
+ image.src = receivedData.screenshot;
+ });
+ ok(isScreenshotValid, "Got a valid screenshot");
+ }
+
+ ok(areObjectsEqual(message, expected), "sent info matches expectations");
// re-opening the panel, the url and description should be reset
rbs = await menu.openReportBrokenSite();