This is a completely redesign based on mconley's idea to use `deck`.
That removes a lot of code and makes things a lot better.
Depends on D163077
Differential Revision: https://phabricator.services.mozilla.com/D162390
We had a number of tests that assumed that when adding a browser_action without
specifying the default_area, that the button would enter the navbar. The previous
patch in this series changes that assumption when the Unified Extensions UI is
enabled.
Instead of updating all of these tests to add additional steps to move the
browser_action's out to the navbar after adding them, I've gone ahead and
updated them to default their browser_action's to the navbar instead.
Differential Revision: https://phabricator.services.mozilla.com/D161721
Long ago, the menu panel in was a customizable area that users could drag things into.
That changed back around 2017 in bug 1354117 when the Photon redesign was built. The
menu panel become a static menu, but we also made it possible to permanently move things
to the overflow panel of the nav-bar.
It looks like we never updated the area type constant from referring to the old menu panel
though, so it's "TYPE_MENU_PANEL", and registering a node for it happens with
registerMenuPanel. This patch changes to constant to TYPE_PANEL and updates the registration
method to registerPanelNode.
I a check around the codebase as well as GitHub looking to see if there were any
system add-ons or experimental WebExtensions that rely on TYPE_MENU_PANEL / registerMenuPanel,
but I couldn't find any.
Differential Revision: https://phabricator.services.mozilla.com/D161078
This property, along with the CustomizableUI.isWebExtensionWidget, will make it possible
to distinguish WebExtension-provided widgets without sniffing CSS classes, which is what
we currently do.
In the event that the widget has been destroyed or hasn't yet been created, this will
fallback to looking for the `-browser-action` suffix on the ID. This is mainly for use during
migrations which happen early during CustomizableUI startup, when it's unlikely that the
extensions have finished initializing themselves and creating their widgets yet.
Differential Revision: https://phabricator.services.mozilla.com/D160802
To align with other browsers, the user gesture requirement has
been removed and there is now an optional first argument which
can be used to provide a windowId.
Differential Revision: https://phabricator.services.mozilla.com/D139796
To align with other browsers, the user gesture requirement has
been removed and there is now an optional first argument which
can be used to provide a windowId.
Differential Revision: https://phabricator.services.mozilla.com/D139796
This patch refactors Desktop's implementation of Page and Browser actions to
decouple the logic inside a common Action object that can be used to implement
actions on other platforms, like mobile, without re-implementing it.
A follow-up commit will use this common logic on the mobile implementation.
Differential Revision: https://phabricator.services.mozilla.com/D49036
This patch refactors Desktop's implementation of Page and Browser actions to
decouple the logic inside a common Action object that can be used to implement
actions on other platforms, like mobile, without re-implementing it.
A follow-up commit will use this common logic on the mobile implementation.
Differential Revision: https://phabricator.services.mozilla.com/D49036
This patch refactors Desktop's implementation of Page and Browser actions to
decouple the logic inside a common Action object that can be used to implement
actions on other platforms, like mobile, without re-implementing it.
A follow-up commit will use this common logic on the mobile implementation.
Differential Revision: https://phabricator.services.mozilla.com/D49036
This patch refactors Desktop's implementation of Page and Browser actions to
decouple the logic inside a common Action object that can be used to implement
actions on other platforms, like mobile, without re-implementing it.
A follow-up commit will use this common logic on the mobile implementation.
Differential Revision: https://phabricator.services.mozilla.com/D49036
and pageActions.
Before this change, browserActions and pageActions did not trigger
onClick events when middle-clicked, and no information on the button or
any modifiers were passed in the onClick event. With this change, middle
clicking triggers an event, and a clickData object is passed in the
onClick event, with the button and a list of modifiers.
Differential Revision: https://phabricator.services.mozilla.com/D41492
and pageActions.
Before this change, browserActions and pageActions did not trigger
onClick events when middle-clicked, and no information on the button or
any modifiers were passed in the onClick event. With this change, middle
clicking triggers an event, and a clickData object is passed in the
onClick event, with the button and a list of modifiers.
Differential Revision: https://phabricator.services.mozilla.com/D41492