From 9b25a3c950c508351a707c1d822eeaa885f4a030 Mon Sep 17 00:00:00 2001 From: "Mr. M" Date: Sun, 14 Sep 2025 21:48:54 +0200 Subject: [PATCH] feat: Improve addon panel opening method, b=no-bug, c=no-component --- src/zen/urlbar/ZenUBActionsProvider.sys.mjs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/zen/urlbar/ZenUBActionsProvider.sys.mjs b/src/zen/urlbar/ZenUBActionsProvider.sys.mjs index 26cc09228..52dfe8cc2 100644 --- a/src/zen/urlbar/ZenUBActionsProvider.sys.mjs +++ b/src/zen/urlbar/ZenUBActionsProvider.sys.mjs @@ -5,7 +5,6 @@ import { XPCOMUtils } from 'resource://gre/modules/XPCOMUtils.sys.mjs'; import { UrlbarProvider, UrlbarUtils } from 'resource:///modules/UrlbarUtils.sys.mjs'; import { globalActions } from 'resource:///modules/ZenUBGlobalActions.sys.mjs'; -import { ExtensionCommon } from 'resource://gre/modules/ExtensionCommon.sys.mjs'; const lazy = {}; @@ -32,8 +31,6 @@ XPCOMUtils.defineLazyPreferenceGetter( true ); -let { makeWidgetId } = ExtensionCommon; - /** * A provider that lets the user view all available global actions for a query. */ @@ -104,7 +101,7 @@ export class ZenUrlbarProviderGlobalActions extends UrlbarProvider { (addon) => addon.isActive && !addon.isSystem && - window.document.getElementById(makeWidgetId(addon.id) + '-BAP') + window.gUnifiedExtensions.browserActionFor(window.WebExtensionPolicy.getByID(addon.id)) ) .map((addon) => { return { @@ -370,10 +367,11 @@ export class ZenUrlbarProviderGlobalActions extends UrlbarProvider { return; } if (payload.extensionId) { - const widgetId = makeWidgetId(payload.extensionId) + '-BAP'; - const node = ownerGlobal.document.getElementById(widgetId); - if (node) { - node.doCommand(); + const action = ownerGlobal.gUnifiedExtensions.browserActionFor( + ownerGlobal.WebExtensionPolicy.getByID(payload.extensionId) + ); + if (action) { + action.openPopup(ownerGlobal, /* without user interaction = */ true); } return; }