Bug 1378794 - Dispatch the 'ViewHide' event on the correct, current panelview when a temporary panel is destroyed. r?Gijs
MozReview-Commit-ID: HXjGJJGChUz
--- a/browser/components/customizableui/content/panelUI.js
+++ b/browser/components/customizableui/content/panelUI.js
@@ -529,18 +529,19 @@ const PanelUI = {
let viewShown = false;
let panelRemover = () => {
viewNode.classList.remove("cui-widget-panelview");
if (viewShown) {
CustomizableUI.removePanelCloseListeners(tempPanel);
tempPanel.removeEventListener("popuphidden", panelRemover);
- let evt = new CustomEvent("ViewHiding", {detail: viewNode});
- viewNode.dispatchEvent(evt);
+ let currentView = multiView.current || viewNode;
+ let evt = new CustomEvent("ViewHiding", {detail: currentView});
+ currentView.dispatchEvent(evt);
}
aAnchor.open = false;
// Ensure we run the destructor:
multiView.instance.destructor();
tempPanel.remove();
};