From 01716183d75b04adf12058242f33c6ab0b7a1791 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sat, 4 Jul 2015 17:09:26 -0400 Subject: [PATCH] Prevent erroneous hiding of hideonpagechange guidance panels on complex pages --- chrome/content/zotero/bindings/guidancepanel.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/bindings/guidancepanel.xml b/chrome/content/zotero/bindings/guidancepanel.xml index 5a925e7503..dc1ada8b2d 100644 --- a/chrome/content/zotero/bindings/guidancepanel.xml +++ b/chrome/content/zotero/bindings/guidancepanel.xml @@ -119,7 +119,15 @@ self.removeEventListener("popupshown", popupShownListener); let appcontent = document.getElementById('appcontent'); - let pageHideListener = function () { + let pageHideListener = function (event) { + var doc = event.originalTarget; + if(!(doc instanceof HTMLDocument)) return; + + var rootDoc = doc.defaultView.top.document; + // Don't hide when frames and special URLs are unloaded + if (rootDoc != doc || !rootDoc.location.href.startsWith('http')) { + return; + } appcontent.removeEventListener("pagehide", pageHideListener); self.hide(); };