Bug 1848396 - call availability report API when report back-in-stock button is selected r=shopping-reviewers,Gijs

Differential Revision: https://phabricator.services.mozilla.com/D187308
This commit is contained in:
Katherine Patenio 2023-09-08 18:53:23 +00:00
parent 01a39356ee
commit b36ef42eb3
3 changed files with 14 additions and 0 deletions

View file

@ -765,6 +765,7 @@ let JSWINDOWACTORS = {
// methods available to the page js on load.
DOMDocElementInserted: {},
ShoppingTelemetryEvent: { wantUntrusted: true },
ReportProductAvailable: { wantUntrusted: true },
},
},
matches: ["about:shoppingsidebar"],

View file

@ -87,6 +87,9 @@ export class ShoppingSidebarChild extends RemotePageChild {
case "PolledRequestMade":
this.updateContent({ isPolledRequest: true });
break;
case "ReportProductAvailable":
this.reportProductAvailable();
break;
case "ShoppingTelemetryEvent":
this.submitShoppingEvent(event.detail);
break;
@ -283,6 +286,10 @@ export class ShoppingSidebarChild extends RemotePageChild {
win.document.dispatchEvent(evt);
}
async reportProductAvailable() {
await this.#product.sendReport();
}
/**
* Helper to handle telemetry events.
*

View file

@ -113,6 +113,12 @@ export class ShoppingContainer extends MozLitElement {
break;
case "ReportedProductAvailable":
this.userReportedAvailable = true;
window.dispatchEvent(
new CustomEvent("ReportProductAvailable", {
bubbles: true,
composed: true,
})
);
break;
case "adsEnabledByUserChanged":
this.adsEnabledByUser = event.detail?.adsEnabledByUser;