mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-12 10:40:12 +00:00
Bug 1756252: Collect telemetry on synced tabs usage r=markh
Differential Revision: https://phabricator.services.mozilla.com/D139221
This commit is contained in:
parent
dafaf9d404
commit
8b622a5cb6
@ -255,8 +255,8 @@ this.SyncedTabsPanelList = class SyncedTabsPanelList {
|
||||
if (hasNextPage) {
|
||||
client.tabs = client.tabs.slice(0, maxTabs);
|
||||
}
|
||||
for (let tab of client.tabs) {
|
||||
let tabEnt = this._createSyncedTabElement(tab);
|
||||
for (let [index, tab] of client.tabs.entries()) {
|
||||
let tabEnt = this._createSyncedTabElement(tab, index);
|
||||
container.appendChild(tabEnt);
|
||||
}
|
||||
if (hasNextPage) {
|
||||
@ -266,7 +266,7 @@ this.SyncedTabsPanelList = class SyncedTabsPanelList {
|
||||
}
|
||||
}
|
||||
|
||||
_createSyncedTabElement(tabInfo) {
|
||||
_createSyncedTabElement(tabInfo, index) {
|
||||
let item = document.createXULElement("toolbarbutton");
|
||||
let tooltipText = (tabInfo.title ? tabInfo.title + "\n" : "") + tabInfo.url;
|
||||
item.setAttribute("itemtype", "tab");
|
||||
@ -283,6 +283,15 @@ this.SyncedTabsPanelList = class SyncedTabsPanelList {
|
||||
// We need to use "click" instead of "command" here so openUILink
|
||||
// respects different buttons (eg, to open in a new tab).
|
||||
item.addEventListener("click", e => {
|
||||
// We want to differentiate between when the fxa panel is within the app menu/hamburger bar
|
||||
let object = "fxa_avatar_menu";
|
||||
const appMenuPanel = document.getElementById("appMenu-popup");
|
||||
if (appMenuPanel.contains(e.currentTarget)) {
|
||||
object = "fxa_app_menu";
|
||||
}
|
||||
SyncedTabs.recordSyncedTabsTelemetry(object, "click", {
|
||||
tab_pos: index.toString(),
|
||||
});
|
||||
document.defaultView.openUILink(tabInfo.url, e, {
|
||||
triggeringPrincipal: Services.scriptSecurityManager.createNullPrincipal(
|
||||
{}
|
||||
|
@ -180,6 +180,16 @@ Object.assign(SyncedTabsListStore.prototype, EventEmitter.prototype, {
|
||||
this._selectedRow = [parentRow, childRow];
|
||||
this.inputFocused = false;
|
||||
this._change("all");
|
||||
// Record the telemetry event
|
||||
let extraOptions = {
|
||||
tab_pos: this._selectedRow[1].toString(),
|
||||
filter: this.filter,
|
||||
};
|
||||
this._SyncedTabs.recordSyncedTabsTelemetry(
|
||||
"synced_tabs_sidebar",
|
||||
"click",
|
||||
extraOptions
|
||||
);
|
||||
},
|
||||
|
||||
_tabCount() {
|
||||
|
@ -273,4 +273,15 @@ var SyncedTabs = {
|
||||
return b.tabs[0].lastUsed - a.tabs[0].lastUsed;
|
||||
});
|
||||
},
|
||||
|
||||
recordSyncedTabsTelemetry(object, tabEvent, extraOptions) {
|
||||
Services.telemetry.setEventRecordingEnabled("synced_tabs", true);
|
||||
Services.telemetry.recordEvent(
|
||||
"synced_tabs",
|
||||
tabEvent,
|
||||
object,
|
||||
null,
|
||||
extraOptions
|
||||
);
|
||||
},
|
||||
};
|
||||
|
@ -3160,3 +3160,23 @@ privacy_segmentation:
|
||||
- rtestard@mozilla.com
|
||||
expiry_version: "106"
|
||||
products: ["firefox"]
|
||||
|
||||
synced_tabs:
|
||||
click:
|
||||
objects: [
|
||||
"fxa_avatar_menu",
|
||||
"fxa_app_menu",
|
||||
"synced_tabs_sidebar",
|
||||
]
|
||||
methods: ["click"]
|
||||
release_channel_collection: opt-out
|
||||
products:
|
||||
- "firefox"
|
||||
record_in_processes: ["main"]
|
||||
description: Record how users access and use synced tabs component
|
||||
bug_numbers: [1756252]
|
||||
notification_emails: ["sync-dev@mozilla.org"]
|
||||
expiry_version: "never"
|
||||
extra_keys:
|
||||
tab_pos: position of the tab clicked
|
||||
filter: was there a filter enabled
|
||||
|
Loading…
x
Reference in New Issue
Block a user