1. Fix the Firefox menu button so that it only handles space and enter, rather than incorrectly activating for *all* key presses.
2. Add keyboard support (space and enter) for the Library and page Actions buttons.
3. Add keyboard support (space and enter) for customizable widgets of type "view"; e.g. the Developer button.
4. Add keyboard support (space and enter) for page action buttons pinned to the URL bar; e.g. the Send Tab to Device button.
Differential Revision: https://phabricator.services.mozilla.com/D11608
Bug 1470555 moved the title from a dtd to a properties file, so we can and should now set the action's title directly when the action is created in PageActions.jsm. But it's a PluralForm string, so we need to jump through that hoop.
Differential Revision: https://phabricator.services.mozilla.com/D5721
This change means that the #pocket-button-box hbox is pruned from the accessibility tree as it should be.
Normally, hbox elements aren't exposed to accessibility, as they are semantically meaningless.
However, this code was previously setting aria-label on hbox elements, which forces the hbox to be exposed to accessibility.
Differential Revision: https://phabricator.services.mozilla.com/D2987
This allows the JS to work in HTML documents, where whitespace is preserved. In XUL
documents, whitespace is ignored when parsing so text nodes are generally not returned.
The following changes were made, with manual cleanups as necessary (i.e. when firstChild actually
refers to a text node, or when firstChild is used in a loop to empty out an element):
firstChild->firstElementChild
lastChild->lastElementChild
nextSibling->nextElementSibling
previousSibling->previousElementSibling
childNodes->children
MozReview-Commit-ID: 95NQ8syBhYw
The amount of computational complexity and garbage array/string/object
generation for each update to a pageAction property went up astronomically
with the migration of WebExtension page actions to the Photon API. This
resulted in non-trivial talos regression when Screenshots attempted to switch
back to the built-in pageAction API.
These changes fix most of the garbage generation, and reduce a lot of the
duplicated work for each update.
MozReview-Commit-ID: 4uPLnAesdU2
The setMainView method of PanelMultiView controls the "mainview" attribute, which is already set or removed later in the showSubView method. When called at construction time, it changes the mainViewId if there is at least one child in the "panelmultiview" element and the original mainViewId does not already reference the first child. This would be incorrect, but in practice it never happens for either ephemeral or static panels, and can be avoided for the throw-away activated page action panel.
The setMainView method of PanelUI is never called, and this makes the corresponding PanelMultiView method removable.
MozReview-Commit-ID: 5bNidHfKFTA
Commands started from an activated action panel should not be anchored to the main button, and regression tests should simulate the case where both the main action panel and the individual action button are visible and the action is invoked from the main action panel.
MozReview-Commit-ID: Eg1wP2rRe2d