summaryrefslogtreecommitdiffstats
path: root/toolkit/components/telemetry
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/telemetry')
-rw-r--r--toolkit/components/telemetry/Events.yaml48
-rw-r--r--toolkit/components/telemetry/Histograms.json94
-rw-r--r--toolkit/components/telemetry/Scalars.yaml40
-rw-r--r--toolkit/components/telemetry/TelemetryStartup.sys.mjs4
-rw-r--r--toolkit/components/telemetry/app/TelemetryControllerContent.sys.mjs2
-rw-r--r--toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs2
-rw-r--r--toolkit/components/telemetry/app/TelemetryReportingPolicy.sys.mjs5
-rw-r--r--toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs2
-rw-r--r--toolkit/components/telemetry/app/TelemetryStorage.sys.mjs6
-rw-r--r--toolkit/components/telemetry/dap/DAPTelemetrySender.sys.mjs2
-rw-r--r--toolkit/components/telemetry/dap/DAPVisitCounter.sys.mjs2
-rw-r--r--toolkit/components/telemetry/docs/data/health-ping.rst2
-rw-r--r--toolkit/components/telemetry/docs/obsolete/fhr/architecture.rst6
-rw-r--r--toolkit/components/telemetry/docs/obsolete/fhr/dataformat.rst2
-rw-r--r--toolkit/components/telemetry/pings/EventPing.sys.mjs2
-rw-r--r--toolkit/components/telemetry/pings/TelemetrySession.sys.mjs2
-rw-r--r--toolkit/components/telemetry/tests/browser/browser_DynamicScalars.js2
-rw-r--r--toolkit/components/telemetry/tests/integration/tests/conftest.py8
-rw-r--r--toolkit/components/telemetry/tests/marionette/harness/telemetry_harness/runner.py3
-rw-r--r--toolkit/components/telemetry/tests/marionette/harness/telemetry_harness/testcase.py12
-rw-r--r--toolkit/components/telemetry/tests/marionette/tests/client/test_deletion_request_ping.py4
-rw-r--r--toolkit/components/telemetry/tests/marionette/tests/client/test_main_tab_scalars.py4
-rw-r--r--toolkit/components/telemetry/tests/unit/data/search-extensions/search-config-v2.json40
-rw-r--r--toolkit/components/telemetry/tests/unit/head.js6
-rw-r--r--toolkit/components/telemetry/tests/unit/test_EventPing.js8
-rw-r--r--toolkit/components/telemetry/tests/unit/test_TelemetryController.js2
-rw-r--r--toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js17
-rw-r--r--toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment_search.js13
-rw-r--r--toolkit/components/telemetry/tests/unit/test_TelemetryEvents.js2
-rw-r--r--toolkit/components/telemetry/tests/unit/test_TelemetryHistograms.js6
-rw-r--r--toolkit/components/telemetry/tests/unit/test_TelemetryLateWrites.js8
-rw-r--r--toolkit/components/telemetry/tests/unit/test_TelemetrySendOldPings.js2
-rw-r--r--toolkit/components/telemetry/tests/unit/test_TelemetrySession.js10
-rw-r--r--toolkit/components/telemetry/tests/unit/xpcshell.toml1
34 files changed, 225 insertions, 144 deletions
diff --git a/toolkit/components/telemetry/Events.yaml b/toolkit/components/telemetry/Events.yaml
index 4fc7482a77..ddba1c690d 100644
--- a/toolkit/components/telemetry/Events.yaml
+++ b/toolkit/components/telemetry/Events.yaml
@@ -1550,7 +1550,18 @@ messaging_experiments:
"moments_page",
"infobar",
"spotlight",
- "featureCallout"
+ "featureCallout",
+ "fxms_message_1",
+ "fxms_message_2",
+ "fxms_message_3",
+ "fxms_message_4",
+ "fxms_message_5",
+ "fxms_message_6",
+ "fxms_message_7",
+ "fxms_message_8",
+ "fxms_message_9",
+ "fxms_message_10",
+ "fxms_message_11"
]
methods: ["reach"]
release_channel_collection: opt-out
@@ -2513,9 +2524,6 @@ security.ui.protectionspopup:
objects: [
"etp_toggle_on",
"etp_toggle_off",
- "sitenotworking_link",
- "send_report_link",
- "send_report_submit",
"social",
"cookies",
"trackers",
@@ -3318,6 +3326,24 @@ security.ui.certerror:
has_sts: If the error page is for a site with HSTS headers or with a pinned key.
panel_open: If the advanced panel was open at the time of the interaction.
+security.ui.tlserror:
+ load:
+ objects: ["abouttlserror"]
+ bug_numbers:
+ - 1881335
+ description: >
+ The about:neterror page is loaded with a TLS error or non-overridable certificate error, keyed by error code.
+ expiry_version: never
+ notification_emails:
+ - dkeeler@mozilla.com
+ - seceng-telemetry@mozilla.com
+ release_channel_collection: opt-out
+ products:
+ - "firefox"
+ record_in_processes: ["content"]
+ extra_keys:
+ is_frame: If the error page is loaded in an iframe.
+
slow_script_warning:
shown:
bug_numbers:
@@ -3893,6 +3919,20 @@ firefoxview_next:
- 1842616
expiry_version: "never"
release_channel_collection: opt-out
+ close_open_tab:
+ objects: ["tabs"]
+ description: >
+ Recorded when a tab is closed via the close button on an open tab row.
+ notification_emails:
+ - firefoxview@mozilla.com
+ products:
+ - "firefox"
+ record_in_processes:
+ - main
+ bug_numbers:
+ - 1857298
+ expiry_version: "never"
+ release_channel_collection: opt-out
browser_context_menu:
objects: ["tabs"]
description: >
diff --git a/toolkit/components/telemetry/Histograms.json b/toolkit/components/telemetry/Histograms.json
index 5611ca930d..223b96f082 100644
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -2491,7 +2491,7 @@
"record_in_processes": ["main"],
"products": ["firefox", "fennec"],
"alert_emails": ["seceng-telemetry@mozilla.com"],
- "expires_in_version": "126",
+ "expires_in_version": "132",
"keyed": true,
"keys": ["known_text", "unknown"],
"kind": "enumerated",
@@ -2504,7 +2504,7 @@
"record_in_processes": ["main"],
"products": ["firefox", "fennec"],
"alert_emails": ["seceng-telemetry@mozilla.com"],
- "expires_in_version": "126",
+ "expires_in_version": "132",
"kind": "boolean",
"releaseChannelCollection": "opt-out",
"description": "Whether a probable font fingerprinting attempt was detected",
@@ -2936,19 +2936,6 @@
"keyed": true,
"description": "The time between navigationStart and the first contentful paint of a foreground http or https root content document, in milliseconds. The contentful paint timestamp is taken during display list building and does not include rasterization or compositing of that paint. This is collected only on page load where the main document uses or suppports HTTP3"
},
- "HTTPS_RR_OPEN_TO_FIRST_SENT": {
- "alert_emails": ["necko@mozilla.com", "kershaw@mozilla.com"],
- "record_in_processes": ["main", "content"],
- "products": ["firefox"],
- "bug_numbers": [1697480],
- "expires_in_version": "126",
- "releaseChannelCollection": "opt-out",
- "kind": "exponential",
- "high": 30000,
- "n_buckets": 50,
- "keyed": true,
- "description": "HTTP channel(keys: uses_https_rr_page, uses_https_rr_sub, no_https_rr_page, no_https_rr_sub): Open -> first byte of request sent (ms)"
- },
"H3P_PERF_PAGE_LOAD_TIME_MS": {
"record_in_processes": ["content"],
"products": ["firefox"],
@@ -3984,25 +3971,12 @@
"n_values": 16,
"description": "SSL Handshake Key Exchange Algorithm for resumed handshake (null=0, rsa=1, dh=2, fortezza=3, ecdh=4)"
},
- "OCSP_AGE_AT_CRLITE_OVERRIDE": {
- "record_in_processes": ["main", "socket"],
- "products": ["firefox"],
- "alert_emails": ["seceng-telemetry@mozilla.com", "jschanck@mozilla.com"],
- "bug_numbers": [1794479, 1817101, 1846897],
- "expires_in_version": "125",
- "kind": "linear",
- "releaseChannelCollection": "opt-out",
- "low": 1,
- "high": 240,
- "n_buckets": 20,
- "description": "When OCSP and CRLite differ, how old is the OCSP response (in hours)?"
- },
"CRLITE_VS_OCSP_RESULT": {
"record_in_processes": ["main", "socket"],
"products": ["firefox"],
"alert_emails": ["seceng-telemetry@mozilla.com", "dkeeler@mozilla.com"],
- "bug_numbers": [1675655, 1758827, 1817102, 1846898],
- "expires_in_version": "125",
+ "bug_numbers": [1675655, 1758827, 1817102, 1846898, 1876443],
+ "expires_in_version": "131",
"kind": "categorical",
"releaseChannelCollection": "opt-out",
"description": "Does CRLite and OCSP fetching agree when a certificate is revoked?",
@@ -4023,8 +3997,8 @@
"record_in_processes": ["main", "socket"],
"products": ["firefox"],
"alert_emails": ["seceng-telemetry@mozilla.com", "jschanck@mozilla.com"],
- "bug_numbers": [1794450, 1817101, 1846897],
- "expires_in_version": "125",
+ "bug_numbers": [1794450, 1817101, 1846897, 1876442],
+ "expires_in_version": "never",
"kind": "categorical",
"releaseChannelCollection": "opt-out",
"description": "Which revocation checking mechanisms were used?",
@@ -7037,7 +7011,7 @@
"n_values": 50,
"releaseChannelCollection": "opt-out",
"bug_numbers": [353804],
- "description": "Update: background update check result code except for no updates found (after we already have an update ready). Possible codes are enumerated by constants starting with CHK_ in toolkit/mozapps/update/UpdateTelemetry.jsm"
+ "description": "Update: background update check result code except for no updates found (after we already have an update ready). Possible codes are enumerated by constants starting with CHK_ in toolkit/mozapps/update/UpdateTelemetry.sys.mjs"
},
"UPDATE_CHECK_EXTENDED_ERROR_EXTERNAL": {
"record_in_processes": ["main"],
@@ -7783,7 +7757,7 @@
"n_values": 30,
"releaseChannelCollection": "opt-out",
"bug_numbers": [1137447],
- "description": "Update: the update wizard page displayed when the UI was closed (mapped in toolkit/mozapps/update/UpdateTelemetry.jsm)"
+ "description": "Update: the update wizard page displayed when the UI was closed (mapped in toolkit/mozapps/update/UpdateTelemetry.sys.mjs)"
},
"UPDATE_NOTIFICATION_SHOWN": {
"record_in_processes": ["main"],
@@ -8348,7 +8322,7 @@
"kind": "enumerated",
"n_values": 15,
"releaseChannelCollection": "opt-out",
- "description": "The browser that data is pulled from. The values correspond to the internal browser ID (see MigrationUtils.jsm)"
+ "description": "The browser that data is pulled from. The values correspond to the internal browser ID (see MigrationUtils.sys.mjs)"
},
"FX_MIGRATION_ERRORS": {
"record_in_processes": ["main"],
@@ -8428,7 +8402,7 @@
"high": 60000,
"releaseChannelCollection": "opt-out",
"keyed": true,
- "description": "Accumulated timer delay (variance between when the timer was expected to fire and when it actually fired) in milliseconds as an indicator for decreased main-thread responsiveness while importing bookmarks from another browser, keyed by the name of the browser (see gAvailableMigratorKeys in MigrationUtils.jsm). The import is happening on a background thread and should ideally not affect the UI noticeably."
+ "description": "Accumulated timer delay (variance between when the timer was expected to fire and when it actually fired) in milliseconds as an indicator for decreased main-thread responsiveness while importing bookmarks from another browser, keyed by the name of the browser (see gAvailableMigratorKeys in MigrationUtils.sys.mjs). The import is happening on a background thread and should ideally not affect the UI noticeably."
},
"FX_MIGRATION_HISTORY_JANK_MS": {
"record_in_processes": ["main"],
@@ -8441,7 +8415,7 @@
"high": 60000,
"releaseChannelCollection": "opt-out",
"keyed": true,
- "description": "Accumulated timer delay (variance between when the timer was expected to fire and when it actually fired) in milliseconds as an indicator for decreased main-thread responsiveness while importing history from another browser, keyed by the name of the browser (see gAvailableMigratorKeys in MigrationUtils.jsm). The import is happening on a background thread and should ideally not affect the UI noticeably."
+ "description": "Accumulated timer delay (variance between when the timer was expected to fire and when it actually fired) in milliseconds as an indicator for decreased main-thread responsiveness while importing history from another browser, keyed by the name of the browser (see gAvailableMigratorKeys in MigrationUtils.sys.mjs). The import is happening on a background thread and should ideally not affect the UI noticeably."
},
"FX_MIGRATION_LOGINS_JANK_MS": {
"record_in_processes": ["main"],
@@ -8454,7 +8428,7 @@
"high": 60000,
"releaseChannelCollection": "opt-out",
"keyed": true,
- "description": "Accumulated timer delay (variance between when the timer was expected to fire and when it actually fired) in milliseconds as an indicator for decreased main-thread responsiveness while importing logins / passwords from another browser, keyed by the name of the browser (see gAvailableMigratorKeys in MigrationUtils.jsm). The import is happening on a background thread and should ideally not affect the UI noticeably. The time with the blocking Keychain dialog on macOS can skew this data."
+ "description": "Accumulated timer delay (variance between when the timer was expected to fire and when it actually fired) in milliseconds as an indicator for decreased main-thread responsiveness while importing logins / passwords from another browser, keyed by the name of the browser (see gAvailableMigratorKeys in MigrationUtils.sys.mjs). The import is happening on a background thread and should ideally not affect the UI noticeably. The time with the blocking Keychain dialog on macOS can skew this data."
},
"FX_MIGRATION_BOOKMARKS_QUANTITY": {
"record_in_processes": ["main"],
@@ -12278,7 +12252,7 @@
"record_in_processes": ["main"],
"products": ["firefox"],
"operating_systems": ["windows"],
- "expires_in_version": "126",
+ "expires_in_version": "never",
"kind": "categorical",
"labels": [
"Success",
@@ -12294,7 +12268,7 @@
"ErrBuild"
],
"releaseChannelCollection": "opt-out",
- "bug_numbers": [1805509],
+ "bug_numbers": [1805509, 1883466],
"alert_emails": ["application-update-telemetry-alerts@mozilla.com"],
"description": "Result of each attempt to set the default browser with SetDefaultExtensionHandlersUserChoice() for pdf extension"
},
@@ -12302,7 +12276,7 @@
"record_in_processes": ["main"],
"products": ["firefox"],
"operating_systems": ["windows"],
- "expires_in_version": "126",
+ "expires_in_version": "never",
"kind": "categorical",
"labels": [
"Success",
@@ -12318,7 +12292,7 @@
"ErrBuild"
],
"releaseChannelCollection": "opt-out",
- "bug_numbers": [1703578, 1736631, 1791928],
+ "bug_numbers": [1703578, 1736631, 1791928, 1881397],
"alert_emails": ["application-update-telemetry-alerts@mozilla.com"],
"description": "Result of each attempt to set the default browser with SetDefaultBrowserUserChoice()"
},
@@ -12373,14 +12347,14 @@
"n_values": 10,
"description": "How often would blocked mixed content be allowed if HSTS upgrades were allowed? 0=display/no-HSTS, 1=display/HSTS, 2=active/no-HSTS, 3=active/HSTS"
},
- "MIXED_CONTENT_DOWNLOADS": {
+ "INSECURE_DOWNLOADS": {
"record_in_processes": ["main", "content"],
"products": ["firefox"],
- "alert_emails": ["seceng-telemetry@mozilla.com", "sstreich@mozilla.com"],
- "bug_numbers": [1646768],
- "expires_in_version": "90",
+ "alert_emails": ["seceng-telemetry@mozilla.com", "ckerschb@mozilla.com"],
+ "bug_numbers": [1877195],
+ "expires_in_version": "130",
"kind": "boolean",
- "description": "Accumulates how many downloads are mixed-content (True = The download is MixedContent, False= is not MixedContent)"
+ "description": "Accumulates how many downloads are insecure (True = The download is insecure, False= The download is secure)"
},
"MIXED_CONTENT_IMAGES": {
"record_in_processes": ["main", "content"],
@@ -12505,7 +12479,7 @@
"expires_in_version": "default",
"kind": "enumerated",
"n_values": 10,
- "description": "BACKGROUND THUMBNAILS: Reason the capture completed (see TEL_CAPTURE_DONE_* constants in BackgroundPageThumbs.jsm)"
+ "description": "BACKGROUND THUMBNAILS: Reason the capture completed (see TEL_CAPTURE_DONE_* constants in BackgroundPageThumbs.sys.mjs)"
},
"FX_THUMBNAILS_BG_CAPTURE_PAGE_LOAD_TIME_MS": {
"record_in_processes": ["main", "content"],
@@ -15990,8 +15964,8 @@
"record_in_processes": ["main"],
"products": ["firefox"],
"alert_emails": ["addons-dev-internal@mozilla.com"],
- "bug_numbers": [1803363, 1850890],
- "expires_in_version": "126",
+ "bug_numbers": [1803363, 1850890, 1881406],
+ "expires_in_version": "138",
"kind": "exponential",
"releaseChannelCollection": "opt-out",
"high": 100000,
@@ -16002,8 +15976,8 @@
"record_in_processes": ["main"],
"products": ["firefox"],
"alert_emails": ["addons-dev-internal@mozilla.com"],
- "bug_numbers": [1803363, 1850890],
- "expires_in_version": "126",
+ "bug_numbers": [1803363, 1850890, 1881406],
+ "expires_in_version": "138",
"kind": "exponential",
"high": 50000000,
"n_buckets": 50,
@@ -16013,8 +15987,8 @@
"record_in_processes": ["main"],
"products": ["firefox"],
"alert_emails": ["addons-dev-internal@mozilla.com"],
- "bug_numbers": [1803363, 1850890],
- "expires_in_version": "126",
+ "bug_numbers": [1803363, 1850890, 1881406],
+ "expires_in_version": "138",
"kind": "exponential",
"releaseChannelCollection": "opt-out",
"high": 100000,
@@ -16025,8 +15999,8 @@
"record_in_processes": ["main"],
"products": ["firefox"],
"alert_emails": ["addons-dev-internal@mozilla.com"],
- "bug_numbers": [1803363, 1850890],
- "expires_in_version": "126",
+ "bug_numbers": [1803363, 1850890, 1881406],
+ "expires_in_version": "138",
"kind": "exponential",
"high": 50000000,
"n_buckets": 50,
@@ -16036,8 +16010,8 @@
"record_in_processes": ["main"],
"products": ["firefox"],
"alert_emails": ["addons-dev-internal@mozilla.com"],
- "bug_numbers": [1803363, 1850890],
- "expires_in_version": "126",
+ "bug_numbers": [1803363, 1850890, 1881406],
+ "expires_in_version": "138",
"kind": "exponential",
"releaseChannelCollection": "opt-out",
"high": 100000,
@@ -16048,8 +16022,8 @@
"record_in_processes": ["main"],
"products": ["firefox"],
"alert_emails": ["addons-dev-internal@mozilla.com"],
- "bug_numbers": [1803363, 1850890],
- "expires_in_version": "126",
+ "bug_numbers": [1803363, 1850890, 1881406],
+ "expires_in_version": "138",
"kind": "exponential",
"releaseChannelCollection": "opt-out",
"high": 100000,
diff --git a/toolkit/components/telemetry/Scalars.yaml b/toolkit/components/telemetry/Scalars.yaml
index 66a8b787e7..fee6594b81 100644
--- a/toolkit/components/telemetry/Scalars.yaml
+++ b/toolkit/components/telemetry/Scalars.yaml
@@ -155,6 +155,24 @@ a11y:
record_in_processes:
- 'main'
+browser.backup:
+ prof_d_disk_space:
+ bug_numbers:
+ - 1884407
+ description: >
+ The total disk space available on the storage device that the profile
+ directory is stored on. To reduce fingerprintability, we round to the
+ nearest 10 megabytes and return the result in kilobytes.
+ expires: never
+ kind: uint
+ notification_emails:
+ - mconley@mozilla.com
+ release_channel_collection: opt-out
+ products:
+ - 'firefox'
+ record_in_processes:
+ - 'main'
+
# The following section contains the browser engagement scalars.
browser.engagement:
max_concurrent_tab_count:
@@ -1444,13 +1462,14 @@ extensions.apis.dnr:
bug_numbers:
- 1803363
- 1850890
+ - 1881406
description: >
Counters for startup cache data hits or misses on initializating
DNR rules for extensions loaded on application startup.
The expected keys are 'hit' and 'miss'.
This probe is mirrored from a Glean metric with the same name.
keyed: true
- expires: '126'
+ expires: '138'
kind: uint
notification_emails:
- addons-dev-internal@mozilla.com
@@ -1462,9 +1481,10 @@ extensions.apis.dnr:
bug_numbers:
- 1803363
- 1850890
+ - 1881406
description: >
Max amount of DNR rules being evaluated.
- expires: '126'
+ expires: '138'
kind: uint
notification_emails:
- addons-dev-internal@mozilla.com
@@ -4028,7 +4048,7 @@ apz:
- 1836870
description: >
Count of overshoot events, where the user reverses scrollwheel direction soon after the last scrollwheel input.
- expires: "126"
+ expires: "134"
kind: uint
notification_emails:
- botond@mozilla.com
@@ -5014,7 +5034,7 @@ update:
to be moved from the downloading update directory to the ready update
directory. This probe counts the results that we get when attempting to
perform this file move. Valid values for the keys for this probe are
- stored in the MOVE_RESULT_* values in UpdateTelemetry.jsm.
+ stored in the MOVE_RESULT_* values in UpdateTelemetry.sys.mjs.
expires: never
kind: uint
keyed: true
@@ -5894,10 +5914,11 @@ browser.searchinit:
- 1789438
- 1811158
- 1846899
+ - 1881408
description: >
Records the number of secure (i.e., using https) OpenSearch search
engines a given user has installed
- expires: "126"
+ expires: "133"
keyed: false
kind: uint
notification_emails:
@@ -5913,10 +5934,11 @@ browser.searchinit:
- 1789438
- 1811158
- 1846899
+ - 1881408
description: >
Records the number of insecure (i.e., using http) OpenSearch search
engines a given user has installed
- expires: "126"
+ expires: "133"
keyed: false
kind: uint
notification_emails:
@@ -5932,10 +5954,11 @@ browser.searchinit:
- 1789438
- 1811158
- 1846899
+ - 1881408
description: >
Records the number of OpenSearch search engines with secure updates
enabled (i.e., using https) a given user has installed
- expires: "126"
+ expires: "133"
keyed: false
kind: uint
notification_emails:
@@ -5951,10 +5974,11 @@ browser.searchinit:
- 1789438
- 1811158
- 1846899
+ - 1881408
description: >
Records the number of OpenSearch search engines with insecure updates
enabled (i.e., using http) a given user has installed
- expires: "126"
+ expires: "133"
keyed: false
kind: uint
notification_emails:
diff --git a/toolkit/components/telemetry/TelemetryStartup.sys.mjs b/toolkit/components/telemetry/TelemetryStartup.sys.mjs
index 445cd906c2..dae0c268db 100644
--- a/toolkit/components/telemetry/TelemetryStartup.sys.mjs
+++ b/toolkit/components/telemetry/TelemetryStartup.sys.mjs
@@ -12,14 +12,14 @@ ChromeUtils.defineESModuleGetters(lazy, {
/**
* TelemetryStartup is needed to forward the "profile-after-change" notification
- * to TelemetryController.jsm.
+ * to TelemetryController.sys.mjs.
*/
export function TelemetryStartup() {}
TelemetryStartup.prototype.QueryInterface = ChromeUtils.generateQI([
"nsIObserver",
]);
-TelemetryStartup.prototype.observe = function (aSubject, aTopic, aData) {
+TelemetryStartup.prototype.observe = function (aSubject, aTopic) {
if (aTopic == "profile-after-change") {
// In the content process, this is done in ContentProcessSingleton.js.
lazy.TelemetryController.observe(null, aTopic, null);
diff --git a/toolkit/components/telemetry/app/TelemetryControllerContent.sys.mjs b/toolkit/components/telemetry/app/TelemetryControllerContent.sys.mjs
index e5c11d5d28..e4a06a8eea 100644
--- a/toolkit/components/telemetry/app/TelemetryControllerContent.sys.mjs
+++ b/toolkit/components/telemetry/app/TelemetryControllerContent.sys.mjs
@@ -67,7 +67,7 @@ var Impl = {
/**
* This observer drives telemetry.
*/
- observe(aSubject, aTopic, aData) {
+ observe(aSubject, aTopic) {
if (aTopic == "content-process-ready-for-script") {
TelemetryControllerBase.configureLogging();
diff --git a/toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs b/toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs
index 302a4040b3..76bc2579eb 100644
--- a/toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs
+++ b/toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs
@@ -674,7 +674,7 @@ EnvironmentAddonBuilder.prototype = {
},
// nsIObserver
- observe(aSubject, aTopic, aData) {
+ observe(aSubject, aTopic) {
this._environment._log.trace("observe - Topic " + aTopic);
if (aTopic == GMP_PROVIDER_REGISTERED_TOPIC) {
Services.obs.removeObserver(this, GMP_PROVIDER_REGISTERED_TOPIC);
diff --git a/toolkit/components/telemetry/app/TelemetryReportingPolicy.sys.mjs b/toolkit/components/telemetry/app/TelemetryReportingPolicy.sys.mjs
index 6fe155a2fa..d49dae95f9 100644
--- a/toolkit/components/telemetry/app/TelemetryReportingPolicy.sys.mjs
+++ b/toolkit/components/telemetry/app/TelemetryReportingPolicy.sys.mjs
@@ -514,8 +514,7 @@ var TelemetryReportingPolicyImpl = {
aBrowser,
aWebProgress,
aRequest,
- aStateFlags,
- aStatus
+ aStateFlags
) => {
if (
aWebProgress.isTopLevel &&
@@ -555,7 +554,7 @@ var TelemetryReportingPolicyImpl = {
return true;
},
- observe(aSubject, aTopic, aData) {
+ observe(aSubject, aTopic) {
if (aTopic != "sessionstore-windows-restored") {
return;
}
diff --git a/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs b/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs
index 2fc94dc8fc..539447a8ca 100644
--- a/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs
+++ b/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs
@@ -248,7 +248,7 @@ export var TelemetryScheduler = {
/**
* The notifications handler.
*/
- observe(aSubject, aTopic, aData) {
+ observe(aSubject, aTopic) {
this._log.trace("observe - aTopic: " + aTopic);
switch (aTopic) {
case "idle":
diff --git a/toolkit/components/telemetry/app/TelemetryStorage.sys.mjs b/toolkit/components/telemetry/app/TelemetryStorage.sys.mjs
index 062a050a9f..ef7ff88bb2 100644
--- a/toolkit/components/telemetry/app/TelemetryStorage.sys.mjs
+++ b/toolkit/components/telemetry/app/TelemetryStorage.sys.mjs
@@ -664,10 +664,10 @@ var TelemetryStorageImpl = {
let promise = this._saveArchivedPingTask(ping);
this._activelyArchiving.add(promise);
promise.then(
- r => {
+ () => {
this._activelyArchiving.delete(promise);
},
- e => {
+ () => {
this._activelyArchiving.delete(promise);
}
);
@@ -1047,7 +1047,7 @@ var TelemetryStorageImpl = {
ping.id,
ping.timestampCreated,
ping.type
- ).catch(e =>
+ ).catch(() =>
this._log.error(
"_enforceArchiveQuota - failed to remove archived ping" + ping.id
)
diff --git a/toolkit/components/telemetry/dap/DAPTelemetrySender.sys.mjs b/toolkit/components/telemetry/dap/DAPTelemetrySender.sys.mjs
index 0a2516ad1f..9dcc949788 100644
--- a/toolkit/components/telemetry/dap/DAPTelemetrySender.sys.mjs
+++ b/toolkit/components/telemetry/dap/DAPTelemetrySender.sys.mjs
@@ -73,7 +73,7 @@ export const DAPTelemetrySender = new (class {
this.timeout_value()
);
- lazy.NimbusFeatures.dapTelemetry.onUpdate(async (event, reason) => {
+ lazy.NimbusFeatures.dapTelemetry.onUpdate(async () => {
if (typeof this.counters !== "undefined") {
await this.sendTestReports(tasks, 30 * 1000, "nimbus-update");
}
diff --git a/toolkit/components/telemetry/dap/DAPVisitCounter.sys.mjs b/toolkit/components/telemetry/dap/DAPVisitCounter.sys.mjs
index dfee5d0ff6..fef2c48c4d 100644
--- a/toolkit/components/telemetry/dap/DAPVisitCounter.sys.mjs
+++ b/toolkit/components/telemetry/dap/DAPVisitCounter.sys.mjs
@@ -50,7 +50,7 @@ export const DAPVisitCounter = new (class {
}
};
- lazy.NimbusFeatures.dapTelemetry.onUpdate(async (event, reason) => {
+ lazy.NimbusFeatures.dapTelemetry.onUpdate(async () => {
if (typeof this.counters !== "undefined") {
await this.send(30 * 1000, "nimbus-update");
}
diff --git a/toolkit/components/telemetry/docs/data/health-ping.rst b/toolkit/components/telemetry/docs/data/health-ping.rst
index e5655924e1..8b1be78105 100644
--- a/toolkit/components/telemetry/docs/data/health-ping.rst
+++ b/toolkit/components/telemetry/docs/data/health-ping.rst
@@ -38,7 +38,7 @@ The client id is submitted with this ping.
Send behavior
-------------
-``HealthPing.jsm`` tracks several problems:
+``HealthPing.sys.mjs`` tracks several problems:
* The size of other assembled pings exceeds the ping limit.
* Failures while sending other pings.
diff --git a/toolkit/components/telemetry/docs/obsolete/fhr/architecture.rst b/toolkit/components/telemetry/docs/obsolete/fhr/architecture.rst
index 2e9c37f3d3..bfdce6daab 100644
--- a/toolkit/components/telemetry/docs/obsolete/fhr/architecture.rst
+++ b/toolkit/components/telemetry/docs/obsolete/fhr/architecture.rst
@@ -4,11 +4,11 @@
Architecture
============
-``healthreporter.jsm`` contains the main interface for FHR, the
+``healthreporter.sys.mjs`` contains the main interface for FHR, the
``HealthReporter`` type. An instance of this is created by the
``data_reporting_service``.
-``providers.jsm`` contains numerous ``Metrics.Provider`` and
+``providers.sys.mjs`` contains numerous ``Metrics.Provider`` and
``Metrics.Measurement`` used for collecting application metrics. If you
are looking for the FHR probes, this is where they are.
@@ -157,7 +157,7 @@ See ``HealthReportComponents.manifest`` for providers defined in this
directory.
Essentially, the category manager receives the name of a JS type and the
-URI of a JSM to import that exports this symbol. At run-time, the
+URI of a sys.mjs to import that exports this symbol. At run-time, the
providers registered in the category manager are instantiated.
Providers are registered via the category manager to make registration
diff --git a/toolkit/components/telemetry/docs/obsolete/fhr/dataformat.rst b/toolkit/components/telemetry/docs/obsolete/fhr/dataformat.rst
index 730d7514b8..8a9d9a591b 100644
--- a/toolkit/components/telemetry/docs/obsolete/fhr/dataformat.rst
+++ b/toolkit/components/telemetry/docs/obsolete/fhr/dataformat.rst
@@ -1700,7 +1700,7 @@ Version 1 was introduced with Firefox 37 and includes the following properties:
state
Corresponds to either a STATE_USER_* string or a STATE_INTERNAL_* string in
- FxaMigration.jsm. This reflects a state where we are waiting for the user,
+ FxaMigration.sys.mjs. This reflects a state where we are waiting for the user,
or waiting for some internal process to complete on the way to completing
the migration.
diff --git a/toolkit/components/telemetry/pings/EventPing.sys.mjs b/toolkit/components/telemetry/pings/EventPing.sys.mjs
index 36e8489e37..c3ece746f3 100644
--- a/toolkit/components/telemetry/pings/EventPing.sys.mjs
+++ b/toolkit/components/telemetry/pings/EventPing.sys.mjs
@@ -103,7 +103,7 @@ export var TelemetryEventPing = {
this._clearTimer();
},
- observe(aSubject, aTopic, aData) {
+ observe(aSubject, aTopic) {
switch (aTopic) {
case EVENT_LIMIT_REACHED_TOPIC:
this._log.trace("event limit reached");
diff --git a/toolkit/components/telemetry/pings/TelemetrySession.sys.mjs b/toolkit/components/telemetry/pings/TelemetrySession.sys.mjs
index f564cd41dd..c7332c2a36 100644
--- a/toolkit/components/telemetry/pings/TelemetrySession.sys.mjs
+++ b/toolkit/components/telemetry/pings/TelemetrySession.sys.mjs
@@ -1122,7 +1122,7 @@ var Impl = {
/**
* This observer drives telemetry.
*/
- observe(aSubject, aTopic, aData) {
+ observe(aSubject, aTopic) {
this._log.trace("observe - " + aTopic + " notified.");
switch (aTopic) {
diff --git a/toolkit/components/telemetry/tests/browser/browser_DynamicScalars.js b/toolkit/components/telemetry/tests/browser/browser_DynamicScalars.js
index 966c7c1be3..1b0814e416 100644
--- a/toolkit/components/telemetry/tests/browser/browser_DynamicScalars.js
+++ b/toolkit/components/telemetry/tests/browser/browser_DynamicScalars.js
@@ -12,7 +12,7 @@ const CONTENT_CREATED = "ipc:content-created";
async function waitForProcessesScalars(
aProcesses,
aKeyed,
- aAdditionalCondition = data => true
+ aAdditionalCondition = () => true
) {
await TestUtils.waitForCondition(() => {
const scalars = aKeyed
diff --git a/toolkit/components/telemetry/tests/integration/tests/conftest.py b/toolkit/components/telemetry/tests/integration/tests/conftest.py
index e9cbdeff08..147ce7bc0a 100644
--- a/toolkit/components/telemetry/tests/integration/tests/conftest.py
+++ b/toolkit/components/telemetry/tests/integration/tests/conftest.py
@@ -127,8 +127,8 @@ class Browser(object):
with self.marionette.using_context(self.marionette.CONTEXT_CHROME):
return self.marionette.execute_script(
"""\
- const { ClientID } = ChromeUtils.import(
- "resource://gre/modules/ClientID.jsm"
+ const { ClientID } = ChromeUtils.importESModule(
+ "resource://gre/modules/ClientID.sys.mjs"
);
return ClientID.getCachedClientID();
"""
@@ -165,8 +165,8 @@ class Browser(object):
# triggers an "environment-change" ping.
script = """\
let [resolve] = arguments;
- const { TelemetryEnvironment } = ChromeUtils.import(
- "resource://gre/modules/TelemetryEnvironment.jsm"
+ const { TelemetryEnvironment } = ChromeUtils.importESModule(
+ "resource://gre/modules/TelemetryEnvironment.sys.mjs"
);
TelemetryEnvironment.onInitialized().then(resolve);
"""
diff --git a/toolkit/components/telemetry/tests/marionette/harness/telemetry_harness/runner.py b/toolkit/components/telemetry/tests/marionette/harness/telemetry_harness/runner.py
index 37a91023ce..29b03e4f55 100644
--- a/toolkit/components/telemetry/tests/marionette/harness/telemetry_harness/runner.py
+++ b/toolkit/components/telemetry/tests/marionette/harness/telemetry_harness/runner.py
@@ -52,6 +52,9 @@ class TelemetryTestRunner(BaseMarionetteTestRunner):
# Disable Normandy a little harder (bug 1608807).
# This should also disable Nimbus.
"app.shield.optoutstudies.enabled": False,
+ # Bug 1789727: Keep the screenshots extension disabled to avoid
+ # disabling the addon resulting in extra subsessions
+ "screenshots.browser.component.enabled": False,
}
)
diff --git a/toolkit/components/telemetry/tests/marionette/harness/telemetry_harness/testcase.py b/toolkit/components/telemetry/tests/marionette/harness/telemetry_harness/testcase.py
index d30fd67986..91d0336975 100644
--- a/toolkit/components/telemetry/tests/marionette/harness/telemetry_harness/testcase.py
+++ b/toolkit/components/telemetry/tests/marionette/harness/telemetry_harness/testcase.py
@@ -175,8 +175,8 @@ class TelemetryTestCase(WindowManagerMixin, MarionetteTestCase):
# triggers an "environment-change" ping.
script = """\
let [resolve] = arguments;
- const { TelemetryEnvironment } = ChromeUtils.import(
- "resource://gre/modules/TelemetryEnvironment.jsm"
+ const { TelemetryEnvironment } = ChromeUtils.importESModule(
+ "resource://gre/modules/TelemetryEnvironment.sys.mjs"
);
TelemetryEnvironment.onInitialized().then(resolve);
"""
@@ -205,8 +205,8 @@ class TelemetryTestCase(WindowManagerMixin, MarionetteTestCase):
with self.marionette.using_context(self.marionette.CONTEXT_CHROME):
return self.marionette.execute_script(
"""\
- const { ClientID } = ChromeUtils.import(
- "resource://gre/modules/ClientID.jsm"
+ const { ClientID } = ChromeUtils.importESModule(
+ "resource://gre/modules/ClientID.sys.mjs"
);
return ClientID.getCachedClientID();
"""
@@ -218,8 +218,8 @@ class TelemetryTestCase(WindowManagerMixin, MarionetteTestCase):
with self.marionette.using_context(self.marionette.CONTEXT_CHROME):
ping_data = self.marionette.execute_script(
"""\
- const { TelemetryController } = ChromeUtils.import(
- "resource://gre/modules/TelemetryController.jsm"
+ const { TelemetryController } = ChromeUtils.importESModule(
+ "resource://gre/modules/TelemetryController.sys.mjs"
);
return TelemetryController.getCurrentPingData(true);
"""
diff --git a/toolkit/components/telemetry/tests/marionette/tests/client/test_deletion_request_ping.py b/toolkit/components/telemetry/tests/marionette/tests/client/test_deletion_request_ping.py
index 92219c7dc7..f376c4416e 100644
--- a/toolkit/components/telemetry/tests/marionette/tests/client/test_deletion_request_ping.py
+++ b/toolkit/components/telemetry/tests/marionette/tests/client/test_deletion_request_ping.py
@@ -55,8 +55,8 @@ class TestDeletionRequestPing(TelemetryTestCase):
return self.marionette.execute_async_script(
"""
let [resolve] = arguments;
- const { ClientID } = ChromeUtils.import(
- "resource://gre/modules/ClientID.jsm"
+ const { ClientID } = ChromeUtils.importESModule(
+ "resource://gre/modules/ClientID.sys.mjs"
);
ClientID.getClientID().then(resolve);
""",
diff --git a/toolkit/components/telemetry/tests/marionette/tests/client/test_main_tab_scalars.py b/toolkit/components/telemetry/tests/marionette/tests/client/test_main_tab_scalars.py
index d548d7ccc9..b62fbc9f2b 100644
--- a/toolkit/components/telemetry/tests/marionette/tests/client/test_main_tab_scalars.py
+++ b/toolkit/components/telemetry/tests/marionette/tests/client/test_main_tab_scalars.py
@@ -20,8 +20,8 @@ class TestMainTabScalars(TelemetryTestCase):
# test.
self.marionette.execute_script(
"""
- const { BrowserUsageTelemetry } = ChromeUtils.import(
- "resource:///modules/BrowserUsageTelemetry.jsm"
+ const { BrowserUsageTelemetry } = ChromeUtils.importESModule(
+ "resource:///modules/BrowserUsageTelemetry.sys.mjs"
);
BrowserUsageTelemetry._onTabsOpenedTask._timeoutMs = 0;
diff --git a/toolkit/components/telemetry/tests/unit/data/search-extensions/search-config-v2.json b/toolkit/components/telemetry/tests/unit/data/search-extensions/search-config-v2.json
new file mode 100644
index 0000000000..4117f72662
--- /dev/null
+++ b/toolkit/components/telemetry/tests/unit/data/search-extensions/search-config-v2.json
@@ -0,0 +1,40 @@
+{
+ "data": [
+ {
+ "recordType": "engine",
+ "identifier": "telemetrySearchIdentifier",
+ "base": {
+ "name": "telemetrySearchIdentifier",
+ "urls": {
+ "search": {
+ "base": "https://ar.wikipedia.org/wiki/%D8%AE%D8%A7%D8%B5:%D8%A8%D8%AD%D8%AB",
+ "params": [
+ {
+ "name": "sourceId",
+ "value": "Mozilla-search"
+ }
+ ],
+ "searchTermParamName": "search"
+ },
+ "suggestions": {
+ "base": "https://ar.wikipedia.org/w/api.php?action=opensearch",
+ "searchTermParamName": "search"
+ }
+ }
+ },
+ "variants": [
+ {
+ "environment": { "allRegionsAndLocales": true }
+ }
+ ]
+ },
+ {
+ "recordType": "defaultEngines",
+ "specificDefaults": []
+ },
+ {
+ "recordType": "engineOrders",
+ "orders": []
+ }
+ ]
+}
diff --git a/toolkit/components/telemetry/tests/unit/head.js b/toolkit/components/telemetry/tests/unit/head.js
index 7a9d8e41a2..e6cc7f4aa8 100644
--- a/toolkit/components/telemetry/tests/unit/head.js
+++ b/toolkit/components/telemetry/tests/unit/head.js
@@ -76,7 +76,7 @@ const PingServer = {
},
resetPingHandler() {
- this.registerPingHandler((request, response) => {
+ this.registerPingHandler(request => {
let r = request;
this._log.trace(
`defaultPingHandler() - ${r.method} ${r.scheme}://${r.host}:${r.port}${r.path}`
@@ -410,7 +410,7 @@ function fakeGzipCompressStringForNextPing(length) {
"resource://gre/modules/TelemetrySend.sys.mjs"
);
let largePayload = generateString(length);
- Policy.gzipCompressString = data => {
+ Policy.gzipCompressString = () => {
Policy.gzipCompressString = gzipCompressString;
return largePayload;
};
@@ -543,7 +543,7 @@ if (runningInParent) {
}
fakePingSendTimer(
- (callback, timeout) => {
+ callback => {
Services.tm.dispatchToMainThread(() => callback());
},
() => {}
diff --git a/toolkit/components/telemetry/tests/unit/test_EventPing.js b/toolkit/components/telemetry/tests/unit/test_EventPing.js
index 450e88a846..8ff05ee2e2 100644
--- a/toolkit/components/telemetry/tests/unit/test_EventPing.js
+++ b/toolkit/components/telemetry/tests/unit/test_EventPing.js
@@ -8,7 +8,7 @@ ChromeUtils.defineESModuleGetters(this, {
TelemetryEventPing: "resource://gre/modules/EventPing.sys.mjs",
});
-function checkPingStructure(type, payload, options) {
+function checkPingStructure(type, payload) {
Assert.equal(
type,
TelemetryEventPing.EVENT_PING_TYPE,
@@ -84,7 +84,7 @@ add_task(async function test_eventLimitReached() {
fakePolicy(pass, pass, fail);
recordEvents(999);
fakePolicy(
- (callback, delay) => {
+ () => {
Telemetry.recordEvent("telemetry.test", "test2", "object1");
fakePolicy(pass, pass, (type, payload, options) => {
checkPingStructure(type, payload, options);
@@ -120,7 +120,7 @@ add_task(async function test_eventLimitReached() {
fakePolicy(fail, fail, fail);
recordEvents(998);
fakePolicy(
- (callback, delay) => {
+ callback => {
Telemetry.recordEvent("telemetry.test", "test2", "object2");
Telemetry.recordEvent("telemetry.test", "test2", "object2");
fakePolicy(pass, pass, (type, payload, options) => {
@@ -162,7 +162,7 @@ add_task(async function test_eventLimitReached() {
// the two events we lost.
fakePolicy(fail, fail, fail);
recordEvents(999);
- fakePolicy((callback, delay) => {
+ fakePolicy(callback => {
fakePolicy(pass, pass, (type, payload, options) => {
checkPingStructure(type, payload, options);
Assert.ok(options.addClientId, "Adds the client id.");
diff --git a/toolkit/components/telemetry/tests/unit/test_TelemetryController.js b/toolkit/components/telemetry/tests/unit/test_TelemetryController.js
index 5af7adf6b0..d18dfd55e8 100644
--- a/toolkit/components/telemetry/tests/unit/test_TelemetryController.js
+++ b/toolkit/components/telemetry/tests/unit/test_TelemetryController.js
@@ -536,7 +536,7 @@ add_task(async function test_midnightPingSendFuzzing() {
// A ping after midnight within the fuzzing delay should not get sent.
now = new Date(2030, 5, 2, 0, 40, 0);
fakeNow(now);
- PingServer.registerPingHandler((req, res) => {
+ PingServer.registerPingHandler(() => {
Assert.ok(false, "No ping should be received yet.");
});
let timerPromise = waitForTimer();
diff --git a/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js b/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
index aa9fbf11f0..a67788623d 100644
--- a/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
+++ b/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
@@ -426,7 +426,7 @@ add_task(async function test_addonsWatch_InterestingChange() {
return new Promise(resolve =>
TelemetryEnvironment.registerChangeListener(
"testWatchAddons_Changes" + aExpected,
- (reason, data) => {
+ reason => {
Assert.equal(reason, "addons-changed");
receivedNotifications++;
resolve();
@@ -630,13 +630,10 @@ add_task(async function test_addons() {
};
let deferred = Promise.withResolvers();
- TelemetryEnvironment.registerChangeListener(
- "test_WebExtension",
- (reason, data) => {
- Assert.equal(reason, "addons-changed");
- deferred.resolve();
- }
- );
+ TelemetryEnvironment.registerChangeListener("test_WebExtension", reason => {
+ Assert.equal(reason, "addons-changed");
+ deferred.resolve();
+ });
// Install an add-on so we have some data.
let addon = await installXPIFromURL(ADDON_INSTALL_URL);
@@ -881,7 +878,7 @@ add_task(async function test_collectionWithbrokenAddonData() {
return new Promise(resolve =>
TelemetryEnvironment.registerChangeListener(
"testBrokenAddon_collection" + aExpected,
- (reason, data) => {
+ reason => {
Assert.equal(reason, "addons-changed");
receivedNotifications++;
resolve();
@@ -1052,7 +1049,7 @@ add_task(async function test_experimentsAPI() {
const EXPERIMENT2 = "experiment-2";
const EXPERIMENT2_BRANCH = "other-branch";
- let checkExperiment = (environmentData, id, branch, type = null) => {
+ let checkExperiment = (environmentData, id, branch) => {
Assert.ok(
"experiments" in environmentData,
"The current environment must report the experiment annotations."
diff --git a/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment_search.js b/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment_search.js
index 0dc3849508..5d042cfb33 100644
--- a/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment_search.js
+++ b/toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment_search.js
@@ -7,6 +7,10 @@ const { TelemetryEnvironment } = ChromeUtils.importESModule(
const { SearchTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/SearchTestUtils.sys.mjs"
);
+
+const { SearchUtils } = ChromeUtils.importESModule(
+ "resource://gre/modules/SearchUtils.sys.mjs"
+);
const { TelemetryEnvironmentTesting } = ChromeUtils.importESModule(
"resource://testing-common/TelemetryEnvironmentTesting.sys.mjs"
);
@@ -140,10 +144,13 @@ async function checkDefaultSearch(privateOn, reInitSearchService) {
Assert.equal(data.settings.defaultSearchEngine, "telemetrySearchIdentifier");
let expectedSearchEngineData = {
name: "telemetrySearchIdentifier",
- loadPath: "[addon]telemetrySearchIdentifier@search.mozilla.org",
+ loadPath: SearchUtils.newSearchConfigEnabled
+ ? "[app]telemetrySearchIdentifier@search.mozilla.org"
+ : "[addon]telemetrySearchIdentifier@search.mozilla.org",
origin: "default",
- submissionURL:
- "https://ar.wikipedia.org/wiki/%D8%AE%D8%A7%D8%B5:%D8%A8%D8%AD%D8%AB?search=&sourceId=Mozilla-search",
+ submissionURL: SearchUtils.newSearchConfigEnabled
+ ? "https://ar.wikipedia.org/wiki/%D8%AE%D8%A7%D8%B5:%D8%A8%D8%AD%D8%AB?sourceId=Mozilla-search&search="
+ : "https://ar.wikipedia.org/wiki/%D8%AE%D8%A7%D8%B5:%D8%A8%D8%AD%D8%AB?search=&sourceId=Mozilla-search",
};
Assert.deepEqual(
data.settings.defaultSearchEngineData,
diff --git a/toolkit/components/telemetry/tests/unit/test_TelemetryEvents.js b/toolkit/components/telemetry/tests/unit/test_TelemetryEvents.js
index 4369c5a608..3d5e826914 100644
--- a/toolkit/components/telemetry/tests/unit/test_TelemetryEvents.js
+++ b/toolkit/components/telemetry/tests/unit/test_TelemetryEvents.js
@@ -279,7 +279,7 @@ add_task(async function test_recording() {
// Check that the events were summarized properly.
let summaries = {};
- expected.forEach(({ optout, event }) => {
+ expected.forEach(({ event }) => {
let [category, eObject, method] = event;
let uniqueEventName = `${category}#${eObject}#${method}`;
if (!(uniqueEventName in summaries)) {
diff --git a/toolkit/components/telemetry/tests/unit/test_TelemetryHistograms.js b/toolkit/components/telemetry/tests/unit/test_TelemetryHistograms.js
index 1ac0c76351..bf66ef0d99 100644
--- a/toolkit/components/telemetry/tests/unit/test_TelemetryHistograms.js
+++ b/toolkit/components/telemetry/tests/unit/test_TelemetryHistograms.js
@@ -12,7 +12,7 @@ function numberRange(lower, upper) {
return a;
}
-function check_histogram(histogram_type, name, min, max, bucket_count) {
+function check_histogram(histogram_type, name, min, max) {
var h = Telemetry.getHistogramById(name);
h.add(0);
var s = h.snapshot();
@@ -507,7 +507,7 @@ add_task(async function test_keyed_boolean_histogram() {
sum: 1,
values: { 0: 0, 1: 1, 2: 0 },
};
- let testHistograms = numberRange(0, 3).map(i =>
+ let testHistograms = numberRange(0, 3).map(() =>
JSON.parse(JSON.stringify(histogramBase))
);
let testKeys = [];
@@ -558,7 +558,7 @@ add_task(async function test_keyed_count_histogram() {
sum: 0,
values: { 0: 1, 1: 0 },
};
- let testHistograms = numberRange(0, 5).map(i =>
+ let testHistograms = numberRange(0, 5).map(() =>
JSON.parse(JSON.stringify(histogramBase))
);
let testKeys = [];
diff --git a/toolkit/components/telemetry/tests/unit/test_TelemetryLateWrites.js b/toolkit/components/telemetry/tests/unit/test_TelemetryLateWrites.js
index 00891c36e8..fbc2e57271 100644
--- a/toolkit/components/telemetry/tests/unit/test_TelemetryLateWrites.js
+++ b/toolkit/components/telemetry/tests/unit/test_TelemetryLateWrites.js
@@ -112,11 +112,7 @@ function actual_test() {
Assert.ok("memoryMap" in lateWrites);
Assert.equal(lateWrites.memoryMap.length, N_MODULES);
for (let id in LOADED_MODULES) {
- let matchingLibrary = lateWrites.memoryMap.filter(function (
- library,
- idx,
- array
- ) {
+ let matchingLibrary = lateWrites.memoryMap.filter(function (library) {
return library[1] == id;
});
Assert.equal(matchingLibrary.length, 1);
@@ -132,7 +128,7 @@ function actual_test() {
let second_stack = lateWrites.stacks[1];
function stackChecker(canonicalStack) {
let unevalCanonicalStack = uneval(canonicalStack);
- return function (obj, idx, array) {
+ return function (obj) {
return unevalCanonicalStack == obj;
};
}
diff --git a/toolkit/components/telemetry/tests/unit/test_TelemetrySendOldPings.js b/toolkit/components/telemetry/tests/unit/test_TelemetrySendOldPings.js
index 7b7b0f674d..716b459680 100644
--- a/toolkit/components/telemetry/tests/unit/test_TelemetrySendOldPings.js
+++ b/toolkit/components/telemetry/tests/unit/test_TelemetrySendOldPings.js
@@ -91,7 +91,7 @@ function assertReceivedPings(aExpectedNum) {
*
* @param aRequest the HTTP request sent from HttpServer.
*/
-function pingHandler(aRequest) {
+function pingHandler() {
gSeenPings++;
}
diff --git a/toolkit/components/telemetry/tests/unit/test_TelemetrySession.js b/toolkit/components/telemetry/tests/unit/test_TelemetrySession.js
index 9267c96ce1..fbd2e5bee2 100644
--- a/toolkit/components/telemetry/tests/unit/test_TelemetrySession.js
+++ b/toolkit/components/telemetry/tests/unit/test_TelemetrySession.js
@@ -923,7 +923,7 @@ add_task(async function test_dailyDuplication() {
Assert.equal(ping.payload.info.reason, REASON_DAILY);
// We don't expect to receive any other daily ping in this test, so assert if we do.
- PingServer.registerPingHandler((req, res) => {
+ PingServer.registerPingHandler(() => {
Assert.ok(
false,
"No more daily pings should be sent/received in this test."
@@ -967,7 +967,7 @@ add_task(async function test_dailyOverdue() {
fakeNow(now);
// Assert if we receive something!
- PingServer.registerPingHandler((req, res) => {
+ PingServer.registerPingHandler(() => {
Assert.ok(false, "No daily ping should be received if not overdue!.");
});
@@ -1396,7 +1396,7 @@ add_task(async function test_sendFirstShutdownPing() {
// the appropriate behavior from the preference flags.
// Assert failure if we recive a ping.
- PingServer.registerPingHandler((req, res) => {
+ PingServer.registerPingHandler(req => {
const receivedPing = decodeRequestPayload(req);
Assert.ok(
false,
@@ -2038,7 +2038,7 @@ add_task(async function test_schedulerEnvironmentReschedules() {
);
// We don't expect to receive any daily ping in this test, so assert if we do.
- PingServer.registerPingHandler((req, res) => {
+ PingServer.registerPingHandler(req => {
const receivedPing = decodeRequestPayload(req);
Assert.ok(
false,
@@ -2072,7 +2072,7 @@ add_task(async function test_schedulerNothingDue() {
await TelemetryController.testReset();
// We don't expect to receive any ping in this test, so assert if we do.
- PingServer.registerPingHandler((req, res) => {
+ PingServer.registerPingHandler(req => {
const receivedPing = decodeRequestPayload(req);
Assert.ok(
false,
diff --git a/toolkit/components/telemetry/tests/unit/xpcshell.toml b/toolkit/components/telemetry/tests/unit/xpcshell.toml
index 2dbaaff1a3..dbff9c627c 100644
--- a/toolkit/components/telemetry/tests/unit/xpcshell.toml
+++ b/toolkit/components/telemetry/tests/unit/xpcshell.toml
@@ -5,6 +5,7 @@ firefox-appdir = "browser"
# xpcshell fails to install tests if we move them under the test entry.
support-files = [
"data/search-extensions/engines.json",
+ "data/search-extensions/search-config-v2.json",
"data/search-extensions/telemetrySearchIdentifier/manifest.json",
"engine.xml",
"system.xpi",