Megalist is a feature where a user can manage their personal data from one place. This is available as an entry in the browser sidebar by adding the pref “browser.megalist.enabled”.
This initial patch includes:
* Displaying logins, credit cards, and addresses in the browser sidebar
* Editing login, credit card, or address
* Rendering site favicons
* Importing logins
* Copying field values
* Filtering records using search text
* Conceal / reveal password
What’s not included:
* Creating a login, credit card, or address
* Deleting
* Sorting records
* Tests
* Documentation
**Architecture**
At a high-level, the relationship between modules can be outlined as such:
DataSource <—> Aggregator <—> View Model <—> View
The **MegalistViewModel** is responsible for providing the data that will be displayed in the view (MegalistView). It is responsible for organizing data accessed from the Aggregator into a list and send this data as “snapshots” to the view. The MegalistParent/Child actors facilitate the communication between the browser context and content.
The **Aggregator** is responsible for connecting a data source to the ViewModel. It can connect multiple data sources to the ViewModel.
The **data source **defines how the data is fetched and represented in Megalist as a group of “lines”. At this level, we define specific functionality on what commands can act on this data and what is exposed to the ViewModel.
Differential Revision: https://phabricator.services.mozilla.com/D202678
Just forgetting to map them to new `key_enterFullScreen`. Note that both
`key_enterFullScreen` and `key_exitFullScreen` have same shortcut keys.
Therefore, mapping only to `key_enterFullScreen` must be fine for the
toggle UIs.
This patch does not contain the tests for checking the tooltip label on
the toolbar buttons because the shortcut key information does not appear
in the DOM tree.
Differential Revision: https://phabricator.services.mozilla.com/D179357
This patch adds a new help menu item to link out to the device migration page on SUMO. I implemented this assuming we want this to be visible in 114 by default but hideable via a pref if needed - happy to flip this logic if we think it's safer to hide the menu item by default instead.
Differential Revision: https://phabricator.services.mozilla.com/D176180
'fromChrome' really meant "force tabs to open in the foreground", so let's
rename it accordingly.
This removes the attempt to document arguments for openUILinkIn.
I'll add documentation back on the end of this stack, for openLinkIn, when
various bits are reorganized anyway.
Differential Revision: https://phabricator.services.mozilla.com/D170384
'fromChrome' really meant "force tabs to open in the foreground", so let's
rename it accordingly.
This removes the attempt to document arguments for openUILinkIn.
I'll add documentation back on the end of this stack, for openLinkIn, when
various bits are reorganized anyway.
Depends on D170210
Differential Revision: https://phabricator.services.mozilla.com/D170384
This adds probes and a limited set of tests for the following types of measurements:
1. A count for each time the All Tabs panel is opened, keyed on the entrypoint.
2. A count for each usage of the Tab Context Menu, keyed on the trigger node
as the entrypoint.
3. A count for each dragstart within the All Tabs panel.
Differential Revision: https://phabricator.services.mozilla.com/D168305
The copy guidance recommends adding an ellipsis to the end of labels for
controls that require an additional step to complete the action
specified by the label. We have some menuitems and panel buttons that
open a bookmark dialog or the edit bookmark panel that don't have an
ellipsis, so add that. Also, the form "Bookmark this x" has been changed
to "Bookmark x" in menuitems. Also, there's a "Print Selection" menuitem
that needed an ellipsis. Thanks for the review!
Differential Revision: https://phabricator.services.mozilla.com/D154320