[Pkg-mozext-commits] [greasemonkey] 09/55: GM 3.3beta2+, GM 3.4beta2+: Fix synchronization between popups
David Prévot
taffit at moszumanska.debian.org
Thu Oct 29 15:38:02 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository greasemonkey.
commit 28d72d83bdf5bc7acbf43530d99951163983b956
Author: janekptacijarabaci <janekptacijarabaci at seznam.cz>
Date: Wed Sep 16 19:20:36 2015 +0200
GM 3.3beta2+, GM 3.4beta2+: Fix synchronization between popups
---
content/browser.js | 11 +++++++----
content/menucommander.js | 12 ++++++------
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/content/browser.js b/content/browser.js
index 13f5385..3869dbb 100644
--- a/content/browser.js
+++ b/content/browser.js
@@ -283,19 +283,22 @@ function GM_showPopup(aEvent) {
var mm = getBrowser().mCurrentBrowser.frameLoader.messageManager;
+ // See #2276
+ var aEventTarget = aEvent.target;
+
var callback = null;
callback = function(message) {
mm.removeMessageListener("greasemonkey:frame-urls", callback);
var urls = message.data.urls;
- asyncShowPopup(aEvent, urls);
+ asyncShowPopup(aEventTarget, urls);
};
mm.addMessageListener("greasemonkey:frame-urls", callback);
mm.sendAsyncMessage("greasemonkey:frame-urls", {});
}
-function asyncShowPopup(aEvent, urls) {
+function asyncShowPopup(aEventTarget, urls) {
function uniq(a) {
var seen = {}, list = [], item;
for (var i = 0; i < a.length; i++) {
@@ -327,7 +330,7 @@ function asyncShowPopup(aEvent, urls) {
return mi;
}
- var popup = aEvent.target;
+ var popup = aEventTarget;
var scriptsFramedEl = popup.getElementsByClassName("scripts-framed-point")[0];
var scriptsTopEl = popup.getElementsByClassName("scripts-top-point")[0];
var scriptsSepEl = popup.getElementsByClassName("scripts-sep")[0];
@@ -373,7 +376,7 @@ function asyncShowPopup(aEvent, urls) {
function(script) { point = appendScriptAfter(script, point); });
// Propagate to commands sub-menu.
- GM_MenuCommander.onPopupShowing(aEvent);
+ GM_MenuCommander.onPopupShowing(aEventTarget);
}
/**
diff --git a/content/menucommander.js b/content/menucommander.js
index c28a938..5892eaa 100644
--- a/content/menucommander.js
+++ b/content/menucommander.js
@@ -43,12 +43,14 @@ GM_MenuCommander.createMenuItem = function(command) {
GM_MenuCommander.messageMenuCommandResponse = function(aMessage) {
if (aMessage.data.cookie != GM_MenuCommander.cookieShowing) return;
- GM_MenuCommander.popup.parentNode.disabled = false;
for (i in aMessage.data.commands) {
var command = aMessage.data.commands[i];
var menuItem = GM_MenuCommander.createMenuItem(command);
GM_MenuCommander.popup.appendChild(menuItem);
}
+ if (GM_MenuCommander.popup.firstChild) {
+ GM_MenuCommander.popup.parentNode.disabled = false;
+ }
};
@@ -58,11 +60,9 @@ GM_MenuCommander.onPopupHiding = function() {
};
-GM_MenuCommander.onPopupShowing = function(aEvent) {
- if (!GM_MenuCommander.popup) {
- GM_MenuCommander.popup = aEvent.target.querySelector(
- 'menupopup.greasemonkey-user-script-commands-popup');
- }
+GM_MenuCommander.onPopupShowing = function(aEventTarget) {
+ GM_MenuCommander.popup = aEventTarget.querySelector(
+ 'menupopup.greasemonkey-user-script-commands-popup');
GM_MenuCommander.messageCookie++;
GM_MenuCommander.cookieShowing = GM_MenuCommander.messageCookie;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/greasemonkey.git
More information about the Pkg-mozext-commits
mailing list