diff --git a/src/ZenGlanceManager.mjs b/src/ZenGlanceManager.mjs index 593faa7..0c43ae3 100644 --- a/src/ZenGlanceManager.mjs +++ b/src/ZenGlanceManager.mjs @@ -8,6 +8,8 @@ #animating = false; init() { + document.documentElement.setAttribute("zen-glance-uuid", gZenUIManager.generateUuidv4()); + ChromeUtils.defineLazyGetter( this, 'overlay', @@ -42,14 +44,9 @@ window.addEventListener("keydown", this.onKeyDown.bind(this)); - Services.obs.addObserver(this, "zen-glance-open"); this.initProgressListener(); } - observe(subject, topic, data) { - this.openGlance(JSON.parse(data)); - } - initProgressListener() { this.progressListener = { QueryInterface: ChromeUtils.generateQI(['nsIWebProgressListener', 'nsISupportsWeakReference']), @@ -243,7 +240,6 @@ window.gZenGlanceManager = new ZenGlanceManager(); - function registerWindowActors() { if (Services.prefs.getBoolPref("zen.glance.enabled", true)) { gZenActorsManager.addJSWindowActor("ZenGlance", { diff --git a/src/actors/ZenGlanceParent.sys.mjs b/src/actors/ZenGlanceParent.sys.mjs index ee7043f..edbb157 100644 --- a/src/actors/ZenGlanceParent.sys.mjs +++ b/src/actors/ZenGlanceParent.sys.mjs @@ -12,13 +12,13 @@ export class ZenGlanceParent extends JSWindowActorParent { return Services.prefs.getIntPref('zen.glance.hold-duration', 500); } case 'ZenGlance:OpenGlance': { - this.openGlance(message.data); + this.openGlance(this.browsingContext.topChromeWindow, message.data); break; } } } - openGlance(data) { - Services.obs.notifyObservers(null, 'zen-glance-open', JSON.stringify(data)); + openGlance(window, data) { + window.gZenGlanceManager.openGlance(data); } }