Fixed glance opening on multiple windows (https://github.com/zen-browser/desktop/issues/2444)

This commit is contained in:
mr. M 2024-10-31 15:50:07 +01:00
parent b8d9d79ccc
commit c8ab57a01e
No known key found for this signature in database
GPG key ID: CBD57A2AEDBDA1FB
2 changed files with 5 additions and 9 deletions

View file

@ -8,6 +8,8 @@
#animating = false; #animating = false;
init() { init() {
document.documentElement.setAttribute("zen-glance-uuid", gZenUIManager.generateUuidv4());
ChromeUtils.defineLazyGetter( ChromeUtils.defineLazyGetter(
this, this,
'overlay', 'overlay',
@ -42,14 +44,9 @@
window.addEventListener("keydown", this.onKeyDown.bind(this)); window.addEventListener("keydown", this.onKeyDown.bind(this));
Services.obs.addObserver(this, "zen-glance-open");
this.initProgressListener(); this.initProgressListener();
} }
observe(subject, topic, data) {
this.openGlance(JSON.parse(data));
}
initProgressListener() { initProgressListener() {
this.progressListener = { this.progressListener = {
QueryInterface: ChromeUtils.generateQI(['nsIWebProgressListener', 'nsISupportsWeakReference']), QueryInterface: ChromeUtils.generateQI(['nsIWebProgressListener', 'nsISupportsWeakReference']),
@ -243,7 +240,6 @@
window.gZenGlanceManager = new ZenGlanceManager(); window.gZenGlanceManager = new ZenGlanceManager();
function registerWindowActors() { function registerWindowActors() {
if (Services.prefs.getBoolPref("zen.glance.enabled", true)) { if (Services.prefs.getBoolPref("zen.glance.enabled", true)) {
gZenActorsManager.addJSWindowActor("ZenGlance", { gZenActorsManager.addJSWindowActor("ZenGlance", {

View file

@ -12,13 +12,13 @@ export class ZenGlanceParent extends JSWindowActorParent {
return Services.prefs.getIntPref('zen.glance.hold-duration', 500); return Services.prefs.getIntPref('zen.glance.hold-duration', 500);
} }
case 'ZenGlance:OpenGlance': { case 'ZenGlance:OpenGlance': {
this.openGlance(message.data); this.openGlance(this.browsingContext.topChromeWindow, message.data);
break; break;
} }
} }
} }
openGlance(data) { openGlance(window, data) {
Services.obs.notifyObservers(null, 'zen-glance-open', JSON.stringify(data)); window.gZenGlanceManager.openGlance(data);
} }
} }