Backed out 5 changesets (bug 1918702) for causing bc failures @ browser_aaa_eventTelemetry_run_first.js CLOSED TREE
Backed out changeset f55480885aeb (bug 1918702) Backed out changeset db1eaf09430d (bug 1918702) Backed out changeset a9179f6e684d (bug 1918702) Backed out changeset f9d3349e6fe3 (bug 1918702) Backed out changeset 10d2957bbfe8 (bug 1918702)
This commit is contained in:
@@ -356,7 +356,7 @@ export class AboutProtectionsParent extends JSWindowActorParent {
|
||||
switch (aMessage.name) {
|
||||
case "OpenAboutLogins":
|
||||
lazy.LoginHelper.openPasswordManager(win, {
|
||||
entryPoint: "Aboutprotections",
|
||||
entryPoint: "aboutprotections",
|
||||
});
|
||||
break;
|
||||
case "OpenContentBlockingPreferences":
|
||||
|
||||
@@ -1399,7 +1399,7 @@ export class nsContextMenu {
|
||||
|
||||
openPasswordManager() {
|
||||
lazy.LoginHelper.openPasswordManager(this.window, {
|
||||
entryPoint: "Contextmenu",
|
||||
entryPoint: "contextmenu",
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -225,7 +225,7 @@ var security = {
|
||||
viewPasswords() {
|
||||
LoginHelper.openPasswordManager(window, {
|
||||
filterString: this.windowInfo.hostName,
|
||||
entryPoint: "Pageinfo",
|
||||
entryPoint: "pageinfo",
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
@@ -15,6 +15,7 @@ XPCOMUtils.defineLazyServiceGetter(
|
||||
"nsIClipboardHelper"
|
||||
);
|
||||
|
||||
const TELEMETRY_EVENT_CATEGORY = "pwmgr";
|
||||
const TELEMETRY_MIN_MS_BETWEEN_OPEN_MANAGEMENT = 5000;
|
||||
|
||||
let gLastOpenManagementBrowserId = null;
|
||||
@@ -23,11 +24,14 @@ let gPrimaryPasswordPromise;
|
||||
|
||||
function recordTelemetryEvent(event) {
|
||||
try {
|
||||
let { name, extra = {}, value = null } = event;
|
||||
if (value) {
|
||||
extra.value = value;
|
||||
}
|
||||
Glean.pwmgr[name].record(extra);
|
||||
let { method, object, extra = {}, value = null } = event;
|
||||
Services.telemetry.recordEvent(
|
||||
TELEMETRY_EVENT_CATEGORY,
|
||||
method,
|
||||
object,
|
||||
value,
|
||||
extra
|
||||
);
|
||||
} catch (ex) {
|
||||
console.error("AboutLoginsChild: error recording telemetry event:", ex);
|
||||
}
|
||||
@@ -182,26 +186,31 @@ export class AboutLoginsChild extends JSWindowActorChild {
|
||||
#aboutLoginsImportFromBrowser() {
|
||||
this.sendAsyncMessage("AboutLogins:ImportFromBrowser");
|
||||
recordTelemetryEvent({
|
||||
name: "mgmtMenuItemUsedImportFromBrowser",
|
||||
object: "import_from_browser",
|
||||
method: "mgmt_menu_item_used",
|
||||
});
|
||||
}
|
||||
|
||||
#aboutLoginsImportFromFile() {
|
||||
this.sendAsyncMessage("AboutLogins:ImportFromFile");
|
||||
recordTelemetryEvent({
|
||||
name: "mgmtMenuItemUsedImportFromCsv",
|
||||
object: "import_from_csv",
|
||||
method: "mgmt_menu_item_used",
|
||||
});
|
||||
}
|
||||
|
||||
#aboutLoginsOpenPreferences() {
|
||||
this.sendAsyncMessage("AboutLogins:OpenPreferences");
|
||||
recordTelemetryEvent({
|
||||
name: "mgmtMenuItemUsedPreferences",
|
||||
object: "preferences",
|
||||
method: "mgmt_menu_item_used",
|
||||
});
|
||||
}
|
||||
|
||||
#aboutLoginsRecordTelemetryEvent(event) {
|
||||
if (event.detail.name.startsWith("openManagement")) {
|
||||
let { method } = event.detail;
|
||||
|
||||
if (method == "open_management") {
|
||||
let { docShell } = this.browsingContext;
|
||||
// Compare to the last time open_management was recorded for the same
|
||||
// outerWindowID to not double-count them due to a redirect to remove
|
||||
|
||||
@@ -402,11 +402,8 @@ export class AboutLoginsParent extends JSWindowActorParent {
|
||||
captionText.value
|
||||
);
|
||||
|
||||
let { name, extra = {}, value = null } = telemetryEvent;
|
||||
if (value) {
|
||||
extra.value = value;
|
||||
}
|
||||
Glean.pwmgr[name].record(extra);
|
||||
let { method, object, extra = {}, value = null } = telemetryEvent;
|
||||
Services.telemetry.recordEvent("pwmgr", method, object, value, extra);
|
||||
|
||||
if (!isAuthorized) {
|
||||
return;
|
||||
@@ -416,7 +413,11 @@ export class AboutLoginsParent extends JSWindowActorParent {
|
||||
function fpCallback(aResult) {
|
||||
if (aResult != Ci.nsIFilePicker.returnCancel) {
|
||||
lazy.LoginExport.exportAsCSV(fp.file.path);
|
||||
Glean.pwmgr.mgmtMenuItemUsedExportComplete.record();
|
||||
Services.telemetry.recordEvent(
|
||||
"pwmgr",
|
||||
"mgmt_menu_item_used",
|
||||
"export_complete"
|
||||
);
|
||||
}
|
||||
}
|
||||
let [title, defaultFilename, okButtonLabel, csvFilterTitle] =
|
||||
@@ -488,7 +489,11 @@ export class AboutLoginsParent extends JSWindowActorParent {
|
||||
}
|
||||
if (summary) {
|
||||
this.sendAsyncMessage("AboutLogins:ImportPasswordsDialog", summary);
|
||||
Glean.pwmgr.mgmtMenuItemUsedImportCsvComplete.record();
|
||||
Services.telemetry.recordEvent(
|
||||
"pwmgr",
|
||||
"mgmt_menu_item_used",
|
||||
"import_csv_complete"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -198,7 +198,8 @@ window.addEventListener("AboutLoginsRemoveAllLoginsDialog", () => {
|
||||
|
||||
window.addEventListener("AboutLoginsExportPasswordsDialog", async () => {
|
||||
recordTelemetryEvent({
|
||||
name: "mgmtMenuItemUsedExport",
|
||||
object: "export",
|
||||
method: "mgmt_menu_item_used",
|
||||
});
|
||||
let dialog = document.querySelector("confirmation-dialog");
|
||||
let options = {
|
||||
@@ -244,7 +245,8 @@ let searchParamsChanged = false;
|
||||
let { protocol, pathname, searchParams } = new URL(document.location);
|
||||
|
||||
recordTelemetryEvent({
|
||||
name: "openManagement" + (searchParams.get("entryPoint") || "Direct"),
|
||||
method: "open_management",
|
||||
object: searchParams.get("entryPoint") || "direct",
|
||||
});
|
||||
|
||||
if (searchParams.has("entryPoint")) {
|
||||
|
||||
@@ -93,7 +93,7 @@ export default class LoginFilter extends HTMLElement {
|
||||
})
|
||||
);
|
||||
|
||||
recordTelemetryEvent({ name: "filterList" });
|
||||
recordTelemetryEvent({ object: "list", method: "filter" });
|
||||
}
|
||||
}
|
||||
customElements.define("login-filter", LoginFilter);
|
||||
|
||||
@@ -434,7 +434,7 @@ export default class LoginItem extends HTMLElement {
|
||||
this._updatePasswordRevealState();
|
||||
|
||||
let method = this._revealCheckbox.checked ? "show" : "hide";
|
||||
this._recordTelemetryEvent({ name: method + "Password" });
|
||||
this._recordTelemetryEvent({ object: "password", method });
|
||||
}
|
||||
|
||||
async handleCancelEvent(_e) {
|
||||
@@ -450,7 +450,8 @@ export default class LoginItem extends HTMLElement {
|
||||
} else if (!this.hasPendingChanges()) {
|
||||
window.dispatchEvent(new CustomEvent("AboutLoginsClearSelection"));
|
||||
this._recordTelemetryEvent({
|
||||
name: "cancelNewLogin",
|
||||
object: "new_login",
|
||||
method: "cancel",
|
||||
});
|
||||
|
||||
this.setLogin(this._login, { skipFocusChange: true });
|
||||
@@ -500,7 +501,8 @@ export default class LoginItem extends HTMLElement {
|
||||
}, LoginItem.COPY_BUTTON_RESET_TIMEOUT);
|
||||
this._copyPasswordTimeoutId = timeoutId;
|
||||
this._recordTelemetryEvent({
|
||||
name: "copyPassword",
|
||||
object: "password",
|
||||
method: "copy",
|
||||
});
|
||||
}
|
||||
|
||||
@@ -531,7 +533,8 @@ export default class LoginItem extends HTMLElement {
|
||||
}, LoginItem.COPY_BUTTON_RESET_TIMEOUT);
|
||||
this._copyUsernameTimeoutId = timeoutId;
|
||||
this._recordTelemetryEvent({
|
||||
name: "copyUsername",
|
||||
object: "username",
|
||||
method: "copy",
|
||||
});
|
||||
}
|
||||
|
||||
@@ -558,14 +561,16 @@ export default class LoginItem extends HTMLElement {
|
||||
this.render();
|
||||
|
||||
this._recordTelemetryEvent({
|
||||
name: "editExistingLogin",
|
||||
object: "existing_login",
|
||||
method: "edit",
|
||||
});
|
||||
}
|
||||
|
||||
async handleAlertLearnMoreClick({ currentTarget }) {
|
||||
if (currentTarget.closest(".vulnerable-alert")) {
|
||||
this._recordTelemetryEvent({
|
||||
name: "learnMoreVulnExistingLogin",
|
||||
object: "existing_login",
|
||||
method: "learn_more_vuln",
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -608,7 +613,8 @@ export default class LoginItem extends HTMLElement {
|
||||
);
|
||||
|
||||
this._recordTelemetryEvent({
|
||||
name: "saveExistingLogin",
|
||||
object: "existing_login",
|
||||
method: "save",
|
||||
});
|
||||
this._toggleEditing(false);
|
||||
this.render();
|
||||
@@ -620,7 +626,7 @@ export default class LoginItem extends HTMLElement {
|
||||
})
|
||||
);
|
||||
|
||||
this._recordTelemetryEvent({ name: "saveNewLogin" });
|
||||
this._recordTelemetryEvent({ object: "new_login", method: "save" });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -655,7 +661,7 @@ export default class LoginItem extends HTMLElement {
|
||||
}
|
||||
this._updatePasswordRevealState();
|
||||
let method = this._revealCheckbox.checked ? "show" : "hide";
|
||||
this._recordTelemetryEvent({ name: method + "Password" });
|
||||
this._recordTelemetryEvent({ object: "password", method });
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -719,7 +725,8 @@ export default class LoginItem extends HTMLElement {
|
||||
onConfirm();
|
||||
} catch (ex) {}
|
||||
this._recordTelemetryEvent({
|
||||
name: method + (wasExistingLogin ? "ExistingLogin" : "NewLogin"),
|
||||
object: wasExistingLogin ? "existing_login" : "new_login",
|
||||
method,
|
||||
});
|
||||
},
|
||||
() => {}
|
||||
@@ -862,7 +869,8 @@ export default class LoginItem extends HTMLElement {
|
||||
|
||||
_handleOriginClick() {
|
||||
this._recordTelemetryEvent({
|
||||
name: "openSiteExistingLogin",
|
||||
object: "existing_login",
|
||||
method: "open_site",
|
||||
});
|
||||
}
|
||||
|
||||
@@ -905,13 +913,13 @@ export default class LoginItem extends HTMLElement {
|
||||
// following conditionals must reflect this priority.
|
||||
const extra = eventObject.hasOwnProperty("extra") ? eventObject.extra : {};
|
||||
if (this._breachesMap && this._breachesMap.has(this._login.guid)) {
|
||||
Object.assign(extra, { breached: true });
|
||||
Object.assign(extra, { breached: "true" });
|
||||
eventObject.extra = extra;
|
||||
} else if (
|
||||
this._vulnerableLoginsMap &&
|
||||
this._vulnerableLoginsMap.has(this._login.guid)
|
||||
) {
|
||||
Object.assign(extra, { vulnerable: true });
|
||||
Object.assign(extra, { vulnerable: "true" });
|
||||
eventObject.extra = extra;
|
||||
}
|
||||
recordTelemetryEvent(eventObject);
|
||||
|
||||
@@ -299,7 +299,7 @@ export default class LoginList extends HTMLElement {
|
||||
cancelable: true,
|
||||
})
|
||||
);
|
||||
recordTelemetryEvent({ name: "newNewLogin" });
|
||||
recordTelemetryEvent({ object: "new_login", method: "new" });
|
||||
}
|
||||
|
||||
handleEvent(event) {
|
||||
@@ -329,12 +329,13 @@ export default class LoginList extends HTMLElement {
|
||||
|
||||
let extra = {};
|
||||
if (listItem.notificationIcon === "breached") {
|
||||
extra = { breached: true };
|
||||
extra = { breached: "true" };
|
||||
} else if (listItem.notificationIcon === "vulnerable") {
|
||||
extra = { vulnerable: true };
|
||||
extra = { vulnerable: "true" };
|
||||
}
|
||||
recordTelemetryEvent({
|
||||
name: "selectExistingLogin",
|
||||
object: "existing_login",
|
||||
method: "select",
|
||||
extra,
|
||||
});
|
||||
break;
|
||||
@@ -343,7 +344,7 @@ export default class LoginList extends HTMLElement {
|
||||
this._applyHeaders();
|
||||
this._applySortAndScrollToTop();
|
||||
const extra = { sort_key: this._sortSelect.value };
|
||||
recordTelemetryEvent({ name: "sortList", extra });
|
||||
recordTelemetryEvent({ object: "list", method: "sort", extra });
|
||||
document.dispatchEvent(
|
||||
new CustomEvent("AboutLoginsSortChanged", {
|
||||
bubbles: true,
|
||||
|
||||
@@ -470,7 +470,7 @@ export const CustomizableWidgets = [
|
||||
l10nId: "toolbar-button-logins",
|
||||
onCommand(aEvent) {
|
||||
let window = aEvent.view;
|
||||
lazy.LoginHelper.openPasswordManager(window, { entryPoint: "Toolbar" });
|
||||
lazy.LoginHelper.openPasswordManager(window, { entryPoint: "toolbar" });
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
@@ -338,7 +338,7 @@ const PanelUI = {
|
||||
this.showSubView("PanelUI-history", target);
|
||||
break;
|
||||
case "appMenu-passwords-button":
|
||||
LoginHelper.openPasswordManager(window, { entryPoint: "Mainmenu" });
|
||||
LoginHelper.openPasswordManager(window, { entryPoint: "mainmenu" });
|
||||
break;
|
||||
case "appMenu-fullscreen-button2":
|
||||
// Note that we're custom-handling the hiding of the panel to make
|
||||
|
||||
@@ -3140,7 +3140,7 @@ var gPrivacyPane = {
|
||||
showPasswords() {
|
||||
let loginManager = window.windowGlobalChild.getActor("LoginManager");
|
||||
loginManager.sendAsyncMessage("PasswordManager:OpenPreferences", {
|
||||
entryPoint: "Preferences",
|
||||
entryPoint: "preferences",
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
@@ -331,9 +331,7 @@ export class AutoCompleteParent extends JSWindowActorParent {
|
||||
return accumulated;
|
||||
}, rawExtraData);
|
||||
|
||||
// Even though Glean events do not require converting extra values to
|
||||
// strings, keep doing it so booleans keep being encoded as they were for
|
||||
// Telemetry recordEvent.
|
||||
// Convert extra values to strings since recordEvent requires that.
|
||||
let extraStrings = Object.fromEntries(
|
||||
Object.entries(rawExtraData).map(([key, val]) => {
|
||||
let stringVal = "";
|
||||
@@ -346,8 +344,14 @@ export class AutoCompleteParent extends JSWindowActorParent {
|
||||
})
|
||||
);
|
||||
|
||||
extraStrings.value = duration;
|
||||
Glean.formAutocomplete.showLogins.record(extraStrings);
|
||||
Services.telemetry.recordEvent(
|
||||
"form_autocomplete",
|
||||
"show",
|
||||
"logins",
|
||||
// Convert to a string
|
||||
duration + "",
|
||||
extraStrings
|
||||
);
|
||||
}
|
||||
|
||||
invalidate(results) {
|
||||
|
||||
@@ -238,7 +238,7 @@ class LoginsFooterAutocompleteItem extends AutocompleteItem {
|
||||
formHostname,
|
||||
fillMessageName: "PasswordManager:OpenPreferences",
|
||||
fillMessageData: {
|
||||
entryPoint: "Autocomplete",
|
||||
entryPoint: "autocomplete",
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1622,8 +1622,8 @@ export const LoginHelper = {
|
||||
if (expirationTime && Date.now() < expirationTime) {
|
||||
isAuthorized = true;
|
||||
telemetryEvent = {
|
||||
name:
|
||||
"reauthenticate" + (token.hasPassword ? "MasterPassword" : "OsAuth"),
|
||||
object: token.hasPassword ? "master_password" : "os_auth",
|
||||
method: "reauthenticate",
|
||||
value: "success_no_prompt",
|
||||
};
|
||||
return {
|
||||
@@ -1636,7 +1636,8 @@ export const LoginHelper = {
|
||||
if (!token.hasPassword && !OSReauthEnabled) {
|
||||
isAuthorized = true;
|
||||
telemetryEvent = {
|
||||
name: "reauthenticateOsAuth",
|
||||
object: "os_auth",
|
||||
method: "reauthenticate",
|
||||
value: "success_disabled",
|
||||
};
|
||||
return {
|
||||
@@ -1658,7 +1659,8 @@ export const LoginHelper = {
|
||||
: "success_unsupported_platform";
|
||||
|
||||
telemetryEvent = {
|
||||
name: "reauthenticateOsAuth",
|
||||
object: "os_auth",
|
||||
method: "reauthenticate",
|
||||
value: isAuthorized ? value : "fail",
|
||||
};
|
||||
return {
|
||||
@@ -1690,7 +1692,8 @@ export const LoginHelper = {
|
||||
}
|
||||
isAuthorized = token.isLoggedIn();
|
||||
telemetryEvent = {
|
||||
name: "reauthenticateMasterPassword",
|
||||
object: "master_password",
|
||||
method: "reauthenticate",
|
||||
value: isAuthorized ? "success" : "fail",
|
||||
};
|
||||
return {
|
||||
|
||||
@@ -375,7 +375,15 @@ LoginManager.prototype = {
|
||||
this._storage.recordPasswordUse(login);
|
||||
}
|
||||
|
||||
Glean.pwmgr["savedLoginUsed" + loginType].record({ filled });
|
||||
Services.telemetry.recordEvent(
|
||||
"pwmgr",
|
||||
"saved_login_used",
|
||||
loginType,
|
||||
null,
|
||||
{
|
||||
filled: "" + filled,
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -495,7 +495,7 @@ LoginManagerAuthPrompter.prototype = {
|
||||
Services.logins.recordPasswordUse(
|
||||
selectedLogin,
|
||||
this._inPrivateBrowsing,
|
||||
"PromptLogin",
|
||||
"prompt_login",
|
||||
autofilled
|
||||
);
|
||||
}
|
||||
@@ -768,7 +768,7 @@ LoginManagerAuthPrompter.prototype = {
|
||||
Services.logins.recordPasswordUse(
|
||||
selectedLogin,
|
||||
this._inPrivateBrowsing,
|
||||
"AuthLogin",
|
||||
"auth_login",
|
||||
autofilled
|
||||
);
|
||||
}
|
||||
|
||||
@@ -927,7 +927,11 @@ export class LoginManagerParent extends JSWindowActorParent {
|
||||
|
||||
generatedPW.autocompleteShown = true;
|
||||
|
||||
Glean.pwmgr.autocompleteShownGeneratedpassword.record();
|
||||
Services.telemetry.recordEvent(
|
||||
"pwmgr",
|
||||
"autocomplete_shown",
|
||||
"generatedpassword"
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -989,7 +993,7 @@ export class LoginManagerParent extends JSWindowActorParent {
|
||||
Services.logins.recordPasswordUse(
|
||||
login,
|
||||
browser && lazy.PrivateBrowsingUtils.isBrowserPrivate(browser),
|
||||
login.username ? "FormLogin" : "FormPassword",
|
||||
login.username ? "form_login" : "form_password",
|
||||
!!autoFilledLoginGuid
|
||||
);
|
||||
}
|
||||
@@ -1279,7 +1283,11 @@ export class LoginManagerParent extends JSWindowActorParent {
|
||||
|
||||
// Record telemetry for the first edit
|
||||
if (!generatedPW.edited) {
|
||||
Glean.pwmgr.filledFieldEditedGeneratedpassword.record();
|
||||
Services.telemetry.recordEvent(
|
||||
"pwmgr",
|
||||
"filled_field_edited",
|
||||
"generatedpassword"
|
||||
);
|
||||
lazy.log("filled_field_edited telemetry event recorded.");
|
||||
generatedPW.edited = true;
|
||||
}
|
||||
@@ -1293,7 +1301,11 @@ export class LoginManagerParent extends JSWindowActorParent {
|
||||
);
|
||||
}
|
||||
// record first use of this generated password
|
||||
Glean.pwmgr.autocompleteFieldGeneratedpassword.record();
|
||||
Services.telemetry.recordEvent(
|
||||
"pwmgr",
|
||||
"autocomplete_field",
|
||||
"generatedpassword"
|
||||
);
|
||||
lazy.log("autocomplete_field telemetry event recorded.");
|
||||
generatedPW.filled = true;
|
||||
}
|
||||
|
||||
@@ -227,10 +227,10 @@ export class LoginManagerPrompter {
|
||||
|
||||
const wasModifiedEvent = {
|
||||
// Values are mutated
|
||||
did_edit_un: false,
|
||||
did_select_un: false,
|
||||
did_edit_pw: false,
|
||||
did_select_pw: false,
|
||||
did_edit_un: "false",
|
||||
did_select_un: "false",
|
||||
did_edit_pw: "false",
|
||||
did_select_pw: "false",
|
||||
};
|
||||
|
||||
const updateButtonStatus = element => {
|
||||
@@ -323,25 +323,25 @@ export class LoginManagerPrompter {
|
||||
};
|
||||
|
||||
const onUsernameInput = () => {
|
||||
wasModifiedEvent.did_edit_un = true;
|
||||
wasModifiedEvent.did_select_un = false;
|
||||
wasModifiedEvent.did_edit_un = "true";
|
||||
wasModifiedEvent.did_select_un = "false";
|
||||
onInput();
|
||||
};
|
||||
|
||||
const onUsernameSelect = () => {
|
||||
wasModifiedEvent.did_edit_un = false;
|
||||
wasModifiedEvent.did_select_un = true;
|
||||
wasModifiedEvent.did_edit_un = "false";
|
||||
wasModifiedEvent.did_select_un = "true";
|
||||
};
|
||||
|
||||
const onPasswordInput = () => {
|
||||
wasModifiedEvent.did_edit_pw = true;
|
||||
wasModifiedEvent.did_select_pw = false;
|
||||
wasModifiedEvent.did_edit_pw = "true";
|
||||
wasModifiedEvent.did_select_pw = "false";
|
||||
onInput();
|
||||
};
|
||||
|
||||
const onPasswordSelect = () => {
|
||||
wasModifiedEvent.did_edit_pw = false;
|
||||
wasModifiedEvent.did_select_pw = true;
|
||||
wasModifiedEvent.did_edit_pw = "false";
|
||||
wasModifiedEvent.did_select_pw = "true";
|
||||
};
|
||||
|
||||
const onKeyUp = e => {
|
||||
@@ -444,7 +444,7 @@ export class LoginManagerPrompter {
|
||||
Services.logins.recordPasswordUse(
|
||||
loginToUpdate,
|
||||
PrivateBrowsingUtils.isBrowserPrivate(browser),
|
||||
loginToUpdate.username ? "FormPassword" : "FormLogin",
|
||||
loginToUpdate.username ? "form_password" : "form_login",
|
||||
!!autoFilledLoginGuid
|
||||
);
|
||||
} else {
|
||||
@@ -479,11 +479,11 @@ export class LoginManagerPrompter {
|
||||
callback: async () => {
|
||||
const eventTypeMapping = {
|
||||
"password-save": {
|
||||
eventObject: "Save",
|
||||
eventObject: "save",
|
||||
confirmationHintFtlId: "confirmation-hint-password-created",
|
||||
},
|
||||
"password-change": {
|
||||
eventObject: "Update",
|
||||
eventObject: "update",
|
||||
confirmationHintFtlId: "confirmation-hint-password-updated",
|
||||
},
|
||||
};
|
||||
@@ -520,9 +520,13 @@ export class LoginManagerPrompter {
|
||||
browser.focus();
|
||||
await persistData();
|
||||
|
||||
Glean.pwmgr[
|
||||
"doorhangerSubmitted" + eventTypeMapping[type].eventObject
|
||||
].record(wasModifiedEvent);
|
||||
Services.telemetry.recordEvent(
|
||||
"pwmgr",
|
||||
"doorhanger_submitted",
|
||||
eventTypeMapping[type].eventObject,
|
||||
null,
|
||||
wasModifiedEvent
|
||||
);
|
||||
|
||||
if (histogramName == "PWMGR_PROMPT_REMEMBER_ACTION") {
|
||||
Services.obs.notifyObservers(browser, "LoginStats:NewSavedPassword");
|
||||
|
||||
@@ -39,754 +39,3 @@ pwmgr:
|
||||
notification_emails:
|
||||
- passwords-dev@mozilla.org
|
||||
expires: never
|
||||
|
||||
autocomplete_field_generatedpassword:
|
||||
type: event
|
||||
description: >
|
||||
"autocomplete_field": The first time each unique generated password
|
||||
is used to fill a login field - i.e. the user selects it from from
|
||||
the autocomplete dropdown on a password input "autocomplete_shown":
|
||||
The first time the password generation option is shown in the
|
||||
autocomplete dropdown on a password input for a site per session
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.autocomplete_field#generatedpassword.
|
||||
bugs: &pwmgr_autocomplete_field_bugs
|
||||
- https://bugzil.la/1548878
|
||||
- https://bugzil.la/1616356
|
||||
data_reviews: &pwmgr_autocomplete_field_data_reviews
|
||||
- https://bugzil.la/1548878
|
||||
- https://bugzil.la/1616356
|
||||
notification_emails: &pwmgr_autocomplete_field_emails
|
||||
- loines@mozilla.com
|
||||
- passwords-dev@mozilla.org
|
||||
- sfoster@mozilla.com
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_AutocompleteField_Generatedpassword
|
||||
|
||||
autocomplete_shown_generatedpassword:
|
||||
type: event
|
||||
description: >
|
||||
"autocomplete_field": The first time each unique generated password
|
||||
is used to fill a login field - i.e. the user selects it from from
|
||||
the autocomplete dropdown on a password input "autocomplete_shown":
|
||||
The first time the password generation option is shown in the
|
||||
autocomplete dropdown on a password input for a site per session
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.autocomplete_shown#generatedpassword.
|
||||
bugs: *pwmgr_autocomplete_field_bugs
|
||||
data_reviews: *pwmgr_autocomplete_field_data_reviews
|
||||
notification_emails: *pwmgr_autocomplete_field_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_AutocompleteShown_Generatedpassword
|
||||
|
||||
filled_field_edited_generatedpassword:
|
||||
type: event
|
||||
description: >
|
||||
The first time each generated password filled in a website form
|
||||
field is edited by the user in a field it was filled in
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.filled_field_edited#generatedpassword.
|
||||
bugs:
|
||||
- https://bugzil.la/1548880
|
||||
data_reviews:
|
||||
- https://bugzil.la/1548880
|
||||
notification_emails:
|
||||
- loines@mozilla.com
|
||||
- passwords-dev@mozilla.org
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_FilledFieldEdited_Generatedpassword
|
||||
|
||||
doorhanger_submitted_save:
|
||||
type: event
|
||||
description: >
|
||||
A login is saved or updated via the capture doorhanger. Carries
|
||||
information about whether the username and password _that were
|
||||
saved/updated by the user_ were modified in the doorhanger, selected
|
||||
from the suggestion autocomplete, or neither. `did_edit_X` and
|
||||
`did_select_X` will never both be true in the same event. The
|
||||
`object` describes the type of doorhanger when it was originally
|
||||
created. Note that user updates to the doorhanger may change whether
|
||||
a login is actually saved or updated, but will not impact the sent
|
||||
object.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.doorhanger_submitted#save.
|
||||
bugs: &pwmgr_doorhanger_submitted_bugs
|
||||
- https://bugzil.la/1650929
|
||||
- https://bugzil.la/1650941
|
||||
- https://bugzil.la/1678200
|
||||
- https://bugzil.la/1714252
|
||||
- https://bugzil.la/1754637
|
||||
- https://bugzil.la/1850872
|
||||
data_reviews: &pwmgr_doorhanger_submitted_data_reviews
|
||||
- https://bugzil.la/1650929
|
||||
- https://bugzil.la/1650941
|
||||
- https://bugzil.la/1678200
|
||||
- https://bugzil.la/1714252
|
||||
- https://bugzil.la/1754637
|
||||
- https://bugzil.la/1850872
|
||||
notification_emails: &pwmgr_doorhanger_submitted_emails
|
||||
- passwords-dev@mozilla.org
|
||||
expires: 142
|
||||
extra_keys: &pwmgr_doorhanger_submitted_extra
|
||||
did_edit_un:
|
||||
description: >
|
||||
Whether or not the saved/updated username was modified by the user typing into the username field.
|
||||
|
||||
type: boolean
|
||||
did_select_un:
|
||||
description: >
|
||||
Whether or not the saved/updated username was selected by the user choosing a suggested value from the autocomplete popup.
|
||||
|
||||
type: boolean
|
||||
did_edit_pw:
|
||||
description: >
|
||||
Whether or not the saved/updated password was modified by the user typing into the password field.
|
||||
|
||||
type: boolean
|
||||
did_select_pw:
|
||||
description: >
|
||||
Whether or not the saved/updated password was selected by the user choosing a suggested value from the autocomplete popup.
|
||||
|
||||
type: boolean
|
||||
telemetry_mirror: Pwmgr_DoorhangerSubmitted_Save
|
||||
|
||||
doorhanger_submitted_update:
|
||||
type: event
|
||||
description: >
|
||||
A login is saved or updated via the capture doorhanger. Carries
|
||||
information about whether the username and password _that were
|
||||
saved/updated by the user_ were modified in the doorhanger, selected
|
||||
from the suggestion autocomplete, or neither. `did_edit_X` and
|
||||
`did_select_X` will never both be true in the same event. The
|
||||
`object` describes the type of doorhanger when it was originally
|
||||
created. Note that user updates to the doorhanger may change whether
|
||||
a login is actually saved or updated, but will not impact the sent
|
||||
object.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.doorhanger_submitted#update.
|
||||
bugs: *pwmgr_doorhanger_submitted_bugs
|
||||
data_reviews: *pwmgr_doorhanger_submitted_data_reviews
|
||||
notification_emails: *pwmgr_doorhanger_submitted_emails
|
||||
expires: 142
|
||||
extra_keys: *pwmgr_doorhanger_submitted_extra
|
||||
telemetry_mirror: Pwmgr_DoorhangerSubmitted_Update
|
||||
|
||||
saved_login_used_form_login:
|
||||
type: event
|
||||
description: >
|
||||
Each time a saved login is used in a form or authentication dialog.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.saved_login_used#form_login.
|
||||
bugs: &pwmgr_saved_login_used_bugs
|
||||
- https://bugzil.la/1631130
|
||||
data_reviews: &pwmgr_saved_login_used_data_reviews
|
||||
- https://bugzil.la/1631130
|
||||
notification_emails: &pwmgr_saved_login_used_emails
|
||||
- loines@mozilla.com
|
||||
- passwords-dev@mozilla.org
|
||||
expires: never
|
||||
extra_keys: &pwmgr_saved_login_used_extra
|
||||
filled:
|
||||
description: >
|
||||
Whether the browser filled the login details for the user vs. typing saved values.
|
||||
type: boolean
|
||||
telemetry_mirror: Pwmgr_SavedLoginUsed_FormLogin
|
||||
|
||||
saved_login_used_form_password:
|
||||
type: event
|
||||
description: >
|
||||
Each time a saved login is used in a form or authentication dialog.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.saved_login_used#form_password.
|
||||
bugs: *pwmgr_saved_login_used_bugs
|
||||
data_reviews: *pwmgr_saved_login_used_data_reviews
|
||||
notification_emails: *pwmgr_saved_login_used_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_saved_login_used_extra
|
||||
telemetry_mirror: Pwmgr_SavedLoginUsed_FormPassword
|
||||
|
||||
saved_login_used_auth_login:
|
||||
type: event
|
||||
description: >
|
||||
Each time a saved login is used in a form or authentication dialog.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.saved_login_used#auth_login.
|
||||
bugs: *pwmgr_saved_login_used_bugs
|
||||
data_reviews: *pwmgr_saved_login_used_data_reviews
|
||||
notification_emails: *pwmgr_saved_login_used_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_saved_login_used_extra
|
||||
telemetry_mirror: Pwmgr_SavedLoginUsed_AuthLogin
|
||||
|
||||
saved_login_used_prompt_login:
|
||||
type: event
|
||||
description: >
|
||||
Each time a saved login is used in a form or authentication dialog.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.saved_login_used#prompt_login.
|
||||
bugs: *pwmgr_saved_login_used_bugs
|
||||
data_reviews: *pwmgr_saved_login_used_data_reviews
|
||||
notification_emails: *pwmgr_saved_login_used_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_saved_login_used_extra
|
||||
telemetry_mirror: Pwmgr_SavedLoginUsed_PromptLogin
|
||||
|
||||
mgmt_menu_item_used_import_from_browser:
|
||||
type: event
|
||||
description: >
|
||||
Record interactions with the about:logins menu.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.mgmt_menu_item_used#import_from_browser.
|
||||
bugs: &pwmgr_mgmt_menu_item_used_bugs
|
||||
- https://bugzil.la/1641396
|
||||
- https://bugzil.la/1641777
|
||||
- https://bugzil.la/1641393
|
||||
data_reviews: &pwmgr_mgmt_menu_item_used_data_reviews
|
||||
- https://bugzil.la/1641396
|
||||
- https://bugzil.la/1641777
|
||||
- https://bugzil.la/1641393
|
||||
notification_emails: &pwmgr_mgmt_menu_item_used_emails
|
||||
- loines@mozilla.com
|
||||
- passwords-dev@mozilla.org
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_MgmtMenuItemUsed_ImportFromBrowser
|
||||
|
||||
mgmt_menu_item_used_import_from_csv:
|
||||
type: event
|
||||
description: >
|
||||
Record interactions with the about:logins menu.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.mgmt_menu_item_used#import_from_csv.
|
||||
bugs: *pwmgr_mgmt_menu_item_used_bugs
|
||||
data_reviews: *pwmgr_mgmt_menu_item_used_data_reviews
|
||||
notification_emails: *pwmgr_mgmt_menu_item_used_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_MgmtMenuItemUsed_ImportFromCsv
|
||||
|
||||
mgmt_menu_item_used_import_csv_complete:
|
||||
type: event
|
||||
description: >
|
||||
Record interactions with the about:logins menu.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.mgmt_menu_item_used#import_csv_complete.
|
||||
bugs: *pwmgr_mgmt_menu_item_used_bugs
|
||||
data_reviews: *pwmgr_mgmt_menu_item_used_data_reviews
|
||||
notification_emails: *pwmgr_mgmt_menu_item_used_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_MgmtMenuItemUsed_ImportCsvComplete
|
||||
|
||||
mgmt_menu_item_used_export:
|
||||
type: event
|
||||
description: >
|
||||
Record interactions with the about:logins menu.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.mgmt_menu_item_used#export.
|
||||
bugs: *pwmgr_mgmt_menu_item_used_bugs
|
||||
data_reviews: *pwmgr_mgmt_menu_item_used_data_reviews
|
||||
notification_emails: *pwmgr_mgmt_menu_item_used_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_MgmtMenuItemUsed_Export
|
||||
|
||||
mgmt_menu_item_used_export_complete:
|
||||
type: event
|
||||
description: >
|
||||
Record interactions with the about:logins menu.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.mgmt_menu_item_used#export_complete.
|
||||
bugs: *pwmgr_mgmt_menu_item_used_bugs
|
||||
data_reviews: *pwmgr_mgmt_menu_item_used_data_reviews
|
||||
notification_emails: *pwmgr_mgmt_menu_item_used_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_MgmtMenuItemUsed_ExportComplete
|
||||
|
||||
mgmt_menu_item_used_preferences:
|
||||
type: event
|
||||
description: >
|
||||
Record interactions with the about:logins menu.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.mgmt_menu_item_used#preferences.
|
||||
bugs: *pwmgr_mgmt_menu_item_used_bugs
|
||||
data_reviews: *pwmgr_mgmt_menu_item_used_data_reviews
|
||||
notification_emails: *pwmgr_mgmt_menu_item_used_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_MgmtMenuItemUsed_Preferences
|
||||
|
||||
reauthenticate_master_password:
|
||||
type: event
|
||||
description: >
|
||||
Measure how often users are asked to authenticate with their Operating System or Master Password to gain access to stored passwords.
|
||||
Possible values are as follows,
|
||||
"success" should be used when the user authenticates and provides a password or other authentication factor.
|
||||
"success_no_prompt" should be used when the feature is enabled but no prompt is given to the user because they have recently authenticated.
|
||||
"success_disabled" is used when the feature is disabled.
|
||||
"success_unsupported_platform" should be set when the user attempts to authenticate on an unsupported platform.
|
||||
"success_no_password" should be used when the user doesn't have an OS password set.
|
||||
"fail" should be used when the user cancels the authentication prompt or an unexpected exception is encountered. The user may or may not have provided an incorrect password before cancelling.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.reauthenticate#master_password.
|
||||
bugs: &pwmgr_reauthenticate_bugs
|
||||
- https://bugzil.la/1628029
|
||||
- https://bugzil.la/1623745
|
||||
- https://bugzil.la/1636729
|
||||
- https://bugzil.la/1642267
|
||||
data_reviews: &pwmgr_reauthenticate_data_reviews
|
||||
- https://bugzil.la/1628029
|
||||
- https://bugzil.la/1623745
|
||||
- https://bugzil.la/1636729
|
||||
- https://bugzil.la/1642267
|
||||
notification_emails: &pwmgr_reauthenticate_emails
|
||||
- loines@mozilla.com
|
||||
- passwords-dev@mozilla.org
|
||||
- jaws@mozilla.com
|
||||
expires: never
|
||||
extra_keys: &pwmgr_reauthenticate_extra
|
||||
value:
|
||||
description: >
|
||||
The `value` of the event. Mirrors to the Legacy Telemetry
|
||||
event's `value` parameter.
|
||||
type: string
|
||||
auto_admin:
|
||||
description: >
|
||||
If the AutoAdminLogon Windows feature is enabled. This feature disables password prompt when logging in to Windows.
|
||||
|
||||
type: string
|
||||
require_signon:
|
||||
description: >
|
||||
If the Power Settings on Windows are configured to not prompt for password upon resuming from sleep.
|
||||
|
||||
type: string
|
||||
telemetry_mirror: Pwmgr_Reauthenticate_MasterPassword
|
||||
|
||||
reauthenticate_os_auth:
|
||||
type: event
|
||||
description: >
|
||||
Measure how often users are asked to authenticate with their Operating System or Master Password to gain access to stored passwords.
|
||||
Possible values are as follows,
|
||||
"success" should be used when the user authenticates and provides a password or other authentication factor.
|
||||
"success_no_prompt" should be used when the feature is enabled but no prompt is given to the user because they have recently authenticated.
|
||||
"success_disabled" is used when the feature is disabled.
|
||||
"success_unsupported_platform" should be set when the user attempts to authenticate on an unsupported platform.
|
||||
"success_no_password" should be used when the user doesn't have an OS password set.
|
||||
"fail" should be used when the user cancels the authentication prompt or an unexpected exception is encountered. The user may or may not have provided an incorrect password before cancelling.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.reauthenticate#os_auth.
|
||||
bugs: *pwmgr_reauthenticate_bugs
|
||||
data_reviews: *pwmgr_reauthenticate_data_reviews
|
||||
notification_emails: *pwmgr_reauthenticate_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_reauthenticate_extra
|
||||
telemetry_mirror: Pwmgr_Reauthenticate_OsAuth
|
||||
|
||||
open_management_aboutprotections:
|
||||
type: event
|
||||
description: >
|
||||
Sent when opening the password management UI.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.open_management#aboutprotections.
|
||||
bugs: &pwmgr_open_management_bugs
|
||||
- https://bugzil.la/1543499
|
||||
- https://bugzil.la/1454733
|
||||
- https://bugzil.la/1545172
|
||||
- https://bugzil.la/1550631
|
||||
- https://bugzil.la/1622971
|
||||
data_reviews: &pwmgr_open_management_data_reviews
|
||||
- https://bugzil.la/1543499
|
||||
- https://bugzil.la/1454733
|
||||
- https://bugzil.la/1545172
|
||||
- https://bugzil.la/1550631
|
||||
- https://bugzil.la/1622971
|
||||
notification_emails: &pwmgr_open_management_emails
|
||||
- loines@mozilla.com
|
||||
- passwords-dev@mozilla.org
|
||||
- sfoster@mozilla.com
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_OpenManagement_Aboutprotections
|
||||
|
||||
open_management_autocomplete:
|
||||
type: event
|
||||
description: >
|
||||
Sent when opening the password management UI.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.open_management#autocomplete.
|
||||
bugs: *pwmgr_open_management_bugs
|
||||
data_reviews: *pwmgr_open_management_data_reviews
|
||||
notification_emails: *pwmgr_open_management_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_OpenManagement_Autocomplete
|
||||
|
||||
open_management_contextmenu:
|
||||
type: event
|
||||
description: >
|
||||
Sent when opening the password management UI.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.open_management#contextmenu.
|
||||
bugs: *pwmgr_open_management_bugs
|
||||
data_reviews: *pwmgr_open_management_data_reviews
|
||||
notification_emails: *pwmgr_open_management_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_OpenManagement_Contextmenu
|
||||
|
||||
open_management_direct:
|
||||
type: event
|
||||
description: >
|
||||
Sent when opening the password management UI.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.open_management#direct.
|
||||
bugs: *pwmgr_open_management_bugs
|
||||
data_reviews: *pwmgr_open_management_data_reviews
|
||||
notification_emails: *pwmgr_open_management_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_OpenManagement_Direct
|
||||
|
||||
open_management_mainmenu:
|
||||
type: event
|
||||
description: >
|
||||
Sent when opening the password management UI.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.open_management#mainmenu.
|
||||
bugs: *pwmgr_open_management_bugs
|
||||
data_reviews: *pwmgr_open_management_data_reviews
|
||||
notification_emails: *pwmgr_open_management_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_OpenManagement_Mainmenu
|
||||
|
||||
open_management_pageinfo:
|
||||
type: event
|
||||
description: >
|
||||
Sent when opening the password management UI.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.open_management#pageinfo.
|
||||
bugs: *pwmgr_open_management_bugs
|
||||
data_reviews: *pwmgr_open_management_data_reviews
|
||||
notification_emails: *pwmgr_open_management_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_OpenManagement_Pageinfo
|
||||
|
||||
open_management_preferences:
|
||||
type: event
|
||||
description: >
|
||||
Sent when opening the password management UI.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.open_management#preferences.
|
||||
bugs: *pwmgr_open_management_bugs
|
||||
data_reviews: *pwmgr_open_management_data_reviews
|
||||
notification_emails: *pwmgr_open_management_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_OpenManagement_Preferences
|
||||
|
||||
open_management_snippet:
|
||||
type: event
|
||||
description: >
|
||||
Sent when opening the password management UI.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.open_management#snippet.
|
||||
bugs: *pwmgr_open_management_bugs
|
||||
data_reviews: *pwmgr_open_management_data_reviews
|
||||
notification_emails: *pwmgr_open_management_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_OpenManagement_Snippet
|
||||
|
||||
cancel_existing_login:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.cancel#existing_login.
|
||||
bugs: &pwmgr_cancel_bugs
|
||||
- https://bugzil.la/1548463
|
||||
- https://bugzil.la/1600958
|
||||
- https://bugzil.la/1549115
|
||||
- https://bugzil.la/1628165
|
||||
data_reviews: &pwmgr_cancel_data_reviews
|
||||
- https://bugzil.la/1548463
|
||||
- https://bugzil.la/1600958
|
||||
- https://bugzil.la/1549115
|
||||
- https://bugzil.la/1628165
|
||||
notification_emails: &pwmgr_cancel_emails
|
||||
- loines@mozilla.com
|
||||
- passwords-dev@mozilla.org
|
||||
- jaws@mozilla.com
|
||||
expires: never
|
||||
extra_keys: &pwmgr_cancel_extra
|
||||
breached:
|
||||
description: >
|
||||
Whether the login is marked as breached or not. If a login is both breached and vulnerable, it will only be reported as breached.
|
||||
type: boolean
|
||||
vulnerable:
|
||||
description: >
|
||||
Whether the login is marked as vulnerable or not. If a login is both breached and vulnerable, it will only be reported as breached.
|
||||
type: boolean
|
||||
telemetry_mirror: Pwmgr_Cancel_ExistingLogin
|
||||
|
||||
cancel_new_login:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.cancel#new_login.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_Cancel_NewLogin
|
||||
|
||||
copy_password:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.copy#password.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_Copy_Password
|
||||
|
||||
copy_username:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.copy#username.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_Copy_Username
|
||||
|
||||
delete_existing_login:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.delete#existing_login.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_Delete_ExistingLogin
|
||||
|
||||
delete_new_login:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.delete#new_login.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_Delete_NewLogin
|
||||
|
||||
edit_existing_login:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.edit#existing_login.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_Edit_ExistingLogin
|
||||
|
||||
filter_list:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.filter#list.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_Filter_List
|
||||
|
||||
hide_password:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.hide#password.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_Hide_Password
|
||||
|
||||
learn_more_vuln_existing_login:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.learn_more_vuln#existing_login.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_LearnMoreVuln_ExistingLogin
|
||||
|
||||
new_new_login:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.new#new_login.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
telemetry_mirror: Pwmgr_New_NewLogin
|
||||
|
||||
open_site_existing_login:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.open_site#existing_login.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_OpenSite_ExistingLogin
|
||||
|
||||
save_existing_login:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.save#existing_login.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_Save_ExistingLogin
|
||||
|
||||
save_new_login:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.save#new_login.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_Save_NewLogin
|
||||
|
||||
select_existing_login:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.select#existing_login.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_Select_ExistingLogin
|
||||
|
||||
show_password:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.show#password.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys: *pwmgr_cancel_extra
|
||||
telemetry_mirror: Pwmgr_Show_Password
|
||||
|
||||
sort_list:
|
||||
type: event
|
||||
description: >
|
||||
These events record interactions on the about:logins page.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
pwmgr.sort#list.
|
||||
bugs: *pwmgr_cancel_bugs
|
||||
data_reviews: *pwmgr_cancel_data_reviews
|
||||
notification_emails: *pwmgr_cancel_emails
|
||||
expires: never
|
||||
extra_keys:
|
||||
sort_key:
|
||||
description: >
|
||||
The key that is used for sorting the login-list.
|
||||
type: string
|
||||
telemetry_mirror: Pwmgr_Sort_List
|
||||
|
||||
form_autocomplete:
|
||||
show_logins:
|
||||
type: event
|
||||
description: >
|
||||
An content form autocomplete popup was shown. Details on the timing
|
||||
and context are provided.
|
||||
This event was generated to correspond to the Legacy Telemetry event
|
||||
form_autocomplete.show#logins.
|
||||
bugs:
|
||||
- https://bugzil.la/1619498
|
||||
- https://bugzil.la/1628849
|
||||
data_reviews:
|
||||
- https://bugzil.la/1619498
|
||||
- https://bugzil.la/1628849
|
||||
notification_emails:
|
||||
- passwords-dev@mozilla.org
|
||||
expires: never
|
||||
extra_keys:
|
||||
value:
|
||||
description: >
|
||||
The `value` is the number of milliseconds since the autocomplete search started.
|
||||
type: quantity
|
||||
acFieldName:
|
||||
description: >
|
||||
The "field name" token (last one) of the field's autocomplete attribute.
|
||||
type: string
|
||||
fieldType:
|
||||
description: >
|
||||
The `type` property value of the field.
|
||||
type: string
|
||||
generatedPasswo:
|
||||
description: >
|
||||
The number of generated password rows shown.
|
||||
type: string
|
||||
hadPrevious:
|
||||
description: >
|
||||
Whether the autocomplete results had cached previous results it could use.
|
||||
type: string
|
||||
typeWasPassword:
|
||||
description: >
|
||||
Whether the input `type` was ever "password".
|
||||
type: string
|
||||
insecureWarning:
|
||||
description: >
|
||||
The number of insecure login field warning rows shown (should be 0 or 1).
|
||||
type: string
|
||||
login:
|
||||
description: >
|
||||
The number of login rows shown (with or without the domain line).
|
||||
type: string
|
||||
importableLogin:
|
||||
description: >
|
||||
The number of import suggestion rows shown.
|
||||
type: string
|
||||
loginsFooter:
|
||||
description: >
|
||||
The number of "Manage Passwords" footer row shown.
|
||||
type: string
|
||||
stringLength:
|
||||
description: >
|
||||
Length of the text in the field that triggered these results.
|
||||
type: string
|
||||
telemetry_mirror: Form_autocomplete_Show_Logins
|
||||
|
||||
@@ -443,11 +443,8 @@ export class LoginDataSource extends DataSourceBase {
|
||||
this.#exportPasswordsStrings.OSAuthDialogCaption
|
||||
);
|
||||
|
||||
let { name, extra = {}, value = null } = telemetryEvent;
|
||||
if (value) {
|
||||
extra.value = value;
|
||||
}
|
||||
Glean.pwmgr[name].record(extra);
|
||||
let { method, object, extra = {}, value = null } = telemetryEvent;
|
||||
Services.telemetry.recordEvent("pwmgr", method, object, value, extra);
|
||||
|
||||
if (!isAuthorized) {
|
||||
this.cancelDialog();
|
||||
@@ -462,7 +459,11 @@ export class LoginDataSource extends DataSourceBase {
|
||||
function fpCallback(aResult) {
|
||||
if (aResult != Ci.nsIFilePicker.returnCancel) {
|
||||
LoginExport.exportAsCSV(fp.file.path);
|
||||
Glean.pwmgr.mgmtMenuItemUsedExportComplete.record();
|
||||
Services.telemetry.recordEvent(
|
||||
"pwmgr",
|
||||
"mgmt_menu_item_used",
|
||||
"export_complete"
|
||||
);
|
||||
}
|
||||
}
|
||||
fp.init(
|
||||
|
||||
Reference in New Issue
Block a user