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
* Flip the component pref to true by default for nightly builds only
* Move the pref check and initialization to a startup idle task
* And be a bit smarter about when we get and disable the addon
* Fix a bug where we try to communicate with the overlay after the window actor is destroyed when
the component pref gets flipped off during use
Differential Revision: https://phabricator.services.mozilla.com/D196888
* Flip the component pref to true by default for nightly builds only
* Move the pref check and initialization to a startup idle task
* And be a bit smarter about when we get and disable the addon
* Fix a bug where we try to communicate with the overlay after the window actor is destroyed when
the component pref gets flipped off during use
Differential Revision: https://phabricator.services.mozilla.com/D196888
* Flip the component pref to true by default for nightly builds only
* Move the pref check and initialization to a startup idle task
* And be a bit smarter about when we get and disable the addon
* Fix a bug where we try to communicate with the overlay after the window actor is destroyed when
the component pref gets flipped off during use
Differential Revision: https://phabricator.services.mozilla.com/D196888
* Flip the component pref to true by default for nightly builds only
* Move the pref check and initialization to a startup idle task
* And be a bit smarter about when we get and disable the addon
* Fix a bug where we try to communicate with the overlay after the window actor is destroyed when
the component pref gets flipped off during use
Differential Revision: https://phabricator.services.mozilla.com/D196888
This creates a new BackupService component that lives under browser/components/backup.
It doesn't do much yet, except allow itself to be instantiated (which currently occurs
using the idle scheduler in BrowserGlue) - but it does set us up to have docs, SphinxJS
exporting for JSDoc, linting, etc.
Differential Revision: https://phabricator.services.mozilla.com/D202753
Patch changes:
- updates the original in-tree callouts 1-3 to run if `autoOpen.enabled` is false, so that they're not affected by the experiment when we flip the pref to true
- adds a revised callout 1 for the experiment, this time targeting not opted-in users and gating it behind `autoOpen.enabled` == true
- adds a revised callout 3 for the experiment which targets not opted-in users that already saw callout 1 and 24 hours have passed
- adds callout 4 that will be used when the user 1) selects "Yes, keep closed" or 2) disables auto-open behaviour via the settings toggle. It is gated behind `autoOpen.enabled` == true
- adds callout 5 that will be used when the user opts out of Review Checker via the opt-out button in settings. It is gated behind `autoOpen.enabled` == true
Differential Revision: https://phabricator.services.mozilla.com/D200072
This causes the mocha/chai tests for newtab to break because of the failure
to import the ASRouterNewTabHook module from within ASRouterParent. This will
get fixed in the next patch in the stack which moves the actors.
Differential Revision: https://phabricator.services.mozilla.com/D198871
This patch updates the `NotificationMessage` element in `notificationbox.js` so that it extends our newer `moz-message-bar` component instead of the deprecated `message-bar` component. Many of the changes are just dealing with the implications of making things async (so that we can ensure `moz-message-bar.mjs` gets imported). I tried to break out places where I modified related code and tests into separate patches to mitigate some of the review pain here.
This patch solves a longstanding issue where we were loading `in-content/common-shared.css` in the chrome since it gets used by the `message-bar` element. It also makes some small visual changes to our infobars (slight outline, icon colors, adds a bit of spacing).
Differential Revision: https://phabricator.services.mozilla.com/D189872
This patch updates the `NotificationMessage` element in `notificationbox.js` so that it extends our newer `moz-message-bar` component instead of the deprecated `message-bar` component. Many of the changes are just dealing with the implications of making things async (so that we can ensure `moz-message-bar.mjs` gets imported). I tried to break out places where I modified related code and tests into separate patches to mitigate some of the review pain here.
This patch solves a longstanding issue where we were loading `in-content/common-shared.css` in the chrome since it gets used by the `message-bar` element. It also makes some small visual changes to our infobars (slight outline, icon colors, adds a bit of spacing).
Differential Revision: https://phabricator.services.mozilla.com/D189872
- removes `about:firefoxview-next` route
- `about:firefoxview` now points to `firefoxview-next.html` (until we rename)
- remove pref for `browser.tabs.firefox-view-next`
- preserve pref for `browser.tabs.firefox-view-newIcon` as part of firefoxViewNext feature manifest (until experiment is over)
- whitelist unreferenced files in `browser_all_files_referenced.js` as they will be removed in child Bug 1869833
Differential Revision: https://phabricator.services.mozilla.com/D196093
- removes `about:firefoxview-next` route
- `about:firefoxview` now points to `firefoxview-next.html` (until we rename)
- remove pref for `browser.tabs.firefox-view-next`
- preserve pref for `browser.tabs.firefox-view-newIcon` as part of firefoxViewNext feature manifest (until experiment is over)
- whitelist unreferenced files in `browser_all_files_referenced.js` as they will be removed in child Bug 1869833
Differential Revision: https://phabricator.services.mozilla.com/D196093
This patch updates the `NotificationMessage` element in `notificationbox.js` so that it extends our newer `moz-message-bar` component instead of the deprecated `message-bar` component. Many of the changes are just dealing with the implications of making things async (so that we can ensure `moz-message-bar.mjs` gets imported). I tried to break out places where I modified related code and tests into separate patches to mitigate some of the review pain here.
This patch solves a longstanding issue where we were loading `in-content/common-shared.css` in the chrome since it gets used by the `message-bar` element. It also makes some small visual changes to our infobars (slight outline, icon colors, adds a bit of spacing).
Differential Revision: https://phabricator.services.mozilla.com/D189872