Fire event on document instead of window
"location-change" was being fired on window but listened on [1]
document hence the handler was never called resulting in toasts
not dismissing upon navigation.
Fire and listen always on document.
[1] https://cs.opensource.google/gerrit/gerrit/gerrit/+/master:polygerrit-ui/app/elements/core/gr-error-manager/gr-error-manager.ts;l=346?q=%22document.addEventListener(%27location-change%22
Release-Notes: skip
Google-bug-id: b/243520983
Change-Id: I9918c4e8dd83326738beefe81e15d514c3cf9a64
diff --git a/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.ts b/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.ts
index b21ef61..b46d2b9 100644
--- a/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.ts
+++ b/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.ts
@@ -47,7 +47,7 @@
override connectedCallback() {
super.connectedCallback();
this.handleLocationChange();
- window.addEventListener('location-change', this.handleLocationChange);
+ document.addEventListener('location-change', this.handleLocationChange);
this.restApiService.getConfig().then(cfg => {
this.config = cfg;
@@ -61,7 +61,7 @@
}
override disconnectedCallback() {
- window.removeEventListener('location-change', this.handleLocationChange);
+ document.removeEventListener('location-change', this.handleLocationChange);
super.disconnectedCallback();
}
diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router.ts b/polygerrit-ui/app/elements/core/gr-router/gr-router.ts
index 71d3cc0..360eaa3 100644
--- a/polygerrit-ui/app/elements/core/gr-router/gr-router.ts
+++ b/polygerrit-ui/app/elements/core/gr-router/gr-router.ts
@@ -627,7 +627,7 @@
hash: window.location.hash,
pathname: window.location.pathname,
};
- window.dispatchEvent(
+ document.dispatchEvent(
new CustomEvent('location-change', {
detail,
composed: true,
diff --git a/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.ts b/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.ts
index 0dc7d2a..801bb63 100644
--- a/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.ts
+++ b/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.ts
@@ -198,7 +198,7 @@
super.connectedCallback();
// Polymer 2: anchor tag won't work on shadow DOM
// we need to manually calling scrollIntoView when hash changed
- window.addEventListener('location-change', this.handleLocationChange);
+ document.addEventListener('location-change', this.handleLocationChange);
fireTitleChange(this, 'Settings');
}
@@ -721,7 +721,7 @@
}
override disconnectedCallback() {
- window.removeEventListener('location-change', this.handleLocationChange);
+ document.removeEventListener('location-change', this.handleLocationChange);
super.disconnectedCallback();
}