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. // methods available to the page js on load.
DOMDocElementInserted: {}, DOMDocElementInserted: {},
ShoppingTelemetryEvent: { wantUntrusted: true }, ShoppingTelemetryEvent: { wantUntrusted: true },
ReportProductAvailable: { wantUntrusted: true },
}, },
}, },
matches: ["about:shoppingsidebar"], matches: ["about:shoppingsidebar"],

View file

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

View file

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