for Unified Telemetry. */ setTelemetryRecordingFlags() { // Enable extended Telemetry on pre-release channels and disable it // on Release/ESR. let prereleaseChannels = [ "nightly", "nightly-autoland", "nightly-try", "aurora", "beta", ]; if (!AppConstants.MOZILLA_OFFICIAL) { // Turn extended telemetry for local developer builds. prereleaseChannels.push("default"); } const isPrereleaseChannel = prereleaseChannels.includes( AppConstants.MOZ_UPDATE_CHANNEL ); const isReleaseCandidateOnBeta = AppConstants.MOZ_UPDATE_CHANNEL === "release" && Services.prefs.getCharPref("app.update.channel", null) === "beta"; Services.telemetry.canRecordBase = true; Services.telemetry.canRecordExtended = isPrereleaseChannel || isReleaseCandidateOnBeta || Services.prefs.getBoolPref(this.Preferences.OverridePreRelease, false); }, /** * Perform telemetry initialization for either chrome or content process. * * @return {boolean} True if Telemetry is allowed to record at least base (FHR) data, * false otherwise. */ enableTelemetryRecording: function enableTelemetryRecording() { // Configure base Telemetry recording. // Unified Telemetry makes it opt-out. If extended Telemetry is enabled, base recording // is always on as well. if (this.IS_UNIFIED_TELEMETRY) { this.setTelemetryRecordingFlags(); } else { // We're not on unified Telemetry, stick to the old behaviour for // supporting Fennec. Services.telemetry.canRecordBase = Services.telemetry.canRecordExtended = this.isTelemetryEnabled; } this.log.config( "enableTelemetryRecording - canRecordBase:" + Services.telemetry.canRecordBase + ", canRecordExtended: " + Services.telemetry.canRecordExtended ); return Services.telemetry.canRecordBase; }, }); PK