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

Differential Revision: https://phabricator.services.mozilla.com/D36812
This commit is contained in:
Nihanth Subramanya
2019-07-30 19:58:40 +00:00
parent 901828f3c7
commit 1858460641

View File

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