From ccec3363d425f32783780bc8d3ec84e9250fded6 Mon Sep 17 00:00:00 2001 From: Gijs Kruitbosch Date: Mon, 17 Jan 2022 13:49:05 +0000 Subject: [PATCH] Bug 1749134 - fix error message when toggling containers caused by not removing from gClickAndHoldListenersOnElement, r=jaws Differential Revision: https://phabricator.services.mozilla.com/D135948 --- browser/base/content/tabbrowser-tabs.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/browser/base/content/tabbrowser-tabs.js b/browser/base/content/tabbrowser-tabs.js index da6031fb82e8..9d705bbb7572 100644 --- a/browser/base/content/tabbrowser-tabs.js +++ b/browser/base/content/tabbrowser-tabs.js @@ -1079,21 +1079,24 @@ popup.setAttribute("position", "after_end"); parent.prepend(popup); parent.setAttribute("type", "menu"); - if (newTabLeftClickOpensContainersMenu) { - gClickAndHoldListenersOnElement.remove(parent); - // Update tooltip text - nodeToTooltipMap[parent.id] = "newTabAlwaysContainer.tooltip"; - } else { - gClickAndHoldListenersOnElement.add(parent); - nodeToTooltipMap[parent.id] = "newTabContainer.tooltip"; - } + // Update tooltip text + nodeToTooltipMap[parent.id] = newTabLeftClickOpensContainersMenu + ? "newTabAlwaysContainer.tooltip" + : "newTabContainer.tooltip"; } else { nodeToTooltipMap[parent.id] = "newTabButton.tooltip"; parent.removeAttribute("context", "new-tab-button-popup"); } - // evict from tooltip cache gDynamicTooltipCache.delete(parent.id); + + // If containers and press-hold container menu are both used, + // add to gClickAndHoldListenersOnElement; otherwise, remove. + if (containersEnabled && !newTabLeftClickOpensContainersMenu) { + gClickAndHoldListenersOnElement.add(parent); + } else { + gClickAndHoldListenersOnElement.remove(parent); + } } break;