Bug 1920799 - Add a new messaging surface to the AppMenu and PXI menus for describing the value of signing into an FxA. r=pdahiya,Gijs,desktop-theme-reviewers,omc-reviewers,home-newtab-reviewers,fluent-reviewers,hjones,skhamis,nbarrett
Developing tests in a later patch in this series. Differential Revision: https://phabricator.services.mozilla.com/D223409
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
|
||||
ChromeUtils.defineESModuleGetters(this, {
|
||||
AppMenuNotifications: "resource://gre/modules/AppMenuNotifications.sys.mjs",
|
||||
ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs",
|
||||
MenuMessage: "resource:///modules/asrouter/MenuMessage.sys.mjs",
|
||||
NewTabUtils: "resource://gre/modules/NewTabUtils.sys.mjs",
|
||||
PanelMultiView: "resource:///modules/PanelMultiView.sys.mjs",
|
||||
});
|
||||
@@ -137,6 +139,7 @@ const PanelUI = {
|
||||
"appMenu-libraryView"
|
||||
).addEventListener("command", this._onLibraryCommand);
|
||||
this.mainView.addEventListener("command", this);
|
||||
this.mainView.addEventListener("ViewShowing", this._onMainViewShow);
|
||||
this._eventListenersAdded = true;
|
||||
},
|
||||
|
||||
@@ -216,6 +219,14 @@ const PanelUI = {
|
||||
return;
|
||||
}
|
||||
|
||||
if (ASRouter.initialized) {
|
||||
await ASRouter.sendTriggerMessage({
|
||||
browser: gBrowser.selectedBrowser,
|
||||
id: "menuOpened",
|
||||
context: { source: MenuMessage.SOURCES.APP_MENU },
|
||||
});
|
||||
}
|
||||
|
||||
let domEvent = null;
|
||||
if (aEvent && aEvent.type != "command") {
|
||||
domEvent = aEvent;
|
||||
@@ -284,6 +295,7 @@ const PanelUI = {
|
||||
this._updatePanelButton(aEvent.target);
|
||||
if (aEvent.type == "popuphidden") {
|
||||
CustomizableUI.removePanelCloseListeners(this.panel);
|
||||
MenuMessage.hideAppMenuMessage(gBrowser.selectedBrowser);
|
||||
}
|
||||
break;
|
||||
case "mousedown":
|
||||
@@ -619,6 +631,22 @@ const PanelUI = {
|
||||
}
|
||||
},
|
||||
|
||||
_onMainViewShow(event) {
|
||||
let panelview = event.target;
|
||||
let messageId = panelview.getAttribute(
|
||||
MenuMessage.SHOWING_FXA_MENU_MESSAGE_ATTR
|
||||
);
|
||||
if (messageId) {
|
||||
MenuMessage.recordMenuMessageTelemetry(
|
||||
"IMPRESSION",
|
||||
MenuMessage.SOURCES.APP_MENU,
|
||||
messageId
|
||||
);
|
||||
let message = ASRouter.getMessageById(messageId);
|
||||
ASRouter.addImpression(message);
|
||||
}
|
||||
},
|
||||
|
||||
_onHelpViewShow() {
|
||||
// Call global menu setup function
|
||||
buildHelpMenu();
|
||||
|
||||
Reference in New Issue
Block a user