Bug 1561012 - Don't register fxmonitor events if telemetry is disabled. r=johannh,robwu

Differential Revision: https://phabricator.services.mozilla.com/D36812

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Nihanth Subramanya 2019-07-30 19:58:40 +00:00
Родитель 2f2e0628e0
Коммит 81dd87ca1c
1 изменённых файлов: 23 добавлений и 24 удалений

Просмотреть файл

@ -73,8 +73,11 @@ this.FirefoxMonitor = {
kEnabledPref: "extensions.fxmonitor.enabled",
// This is here for documentation, will be redefined to a pref getter
// using XPCOMUtils.defineLazyPreferenceGetter in delayedInit().
// Telemetry event recording is enabled by default.
// If this pref exists and is true-y, it's disabled.
telemetryDisabled: null,
kTelemetryDisabledPref: "extensions.fxmonitor.telemetryDisabled",
kNotificationID: "fxmonitor",
@ -197,9 +200,6 @@ this.FirefoxMonitor = {
},
});
let telemetryEnabled = !Preferences.get(this.kTelemetryDisabledPref);
Services.telemetry.setEventRecordingEnabled("fxmonitor", telemetryEnabled);
XPCOMUtils.defineLazyPreferenceGetter(
this,
"FirefoxMonitorURL",
@ -214,6 +214,13 @@ this.FirefoxMonitor = {
false
);
XPCOMUtils.defineLazyPreferenceGetter(
this,
"telemetryDisabled",
this.kTelemetryDisabledPref,
false
);
await this.loadStrings();
await this.loadBreaches();
},
@ -528,11 +535,7 @@ this.FirefoxMonitor = {
browser
)
);
Services.telemetry.recordEvent(
"fxmonitor",
"interaction",
"doorhanger_removed"
);
this.recordEvent("doorhanger_removed");
break;
}
};
@ -552,14 +555,18 @@ this.FirefoxMonitor = {
}
);
Services.telemetry.recordEvent(
"fxmonitor",
"interaction",
"doorhanger_shown"
);
this.recordEvent("doorhanger_shown");
this.notificationsByWindow.get(win).add(n);
},
recordEvent(aEventName) {
if (this.telemetryDisabled) {
return;
}
Services.telemetry.recordEvent("fxmonitor", "interaction", aEventName);
},
};
function PanelUI(doc) {
@ -619,7 +626,7 @@ PanelUI.prototype = {
{}
);
Services.telemetry.recordEvent("fxmonitor", "interaction", "check_btn");
FirefoxMonitor.recordEvent("check_btn");
},
});
},
@ -633,11 +640,7 @@ PanelUI.prototype = {
label: this.getString("fxmonitor.dismissButton.label"),
accessKey: this.getString("fxmonitor.dismissButton.accessKey"),
callback: () => {
Services.telemetry.recordEvent(
"fxmonitor",
"interaction",
"dismiss_btn"
);
FirefoxMonitor.recordEvent("dismiss_btn");
},
},
{
@ -647,11 +650,7 @@ PanelUI.prototype = {
accessKey: this.getString("fxmonitor.neverShowButton.accessKey"),
callback: () => {
FirefoxMonitor.disable();
Services.telemetry.recordEvent(
"fxmonitor",
"interaction",
"never_show_btn"
);
FirefoxMonitor.recordEvent("never_show_btn");
},
},
]);