This makes the AboutNewTabChild DOMContentLoaded event handler capturing in
order to ensure that it injects the contentTheme.js script before the
LightweightThemeChild fires its LightweightTheme:Set event. This worked
before by virtue of actor registration order (which this patch changes).
Differential Revision: https://phabricator.services.mozilla.com/D234590
Add ability to show the preonboarding modal on every startup until a configured "interactionPref" is set to true, typically via interaction with the primary CTA.
Differential Revision: https://phabricator.services.mozilla.com/D234406
- Add `preonboarding` Nimbus feature for showing a window modal over about:welcome that cannot be dismissed via ESC
- Include the ability to suppress showing the privacy notice tab on first run using a variable under the new `preonboarding` feature
- Remove legacy `showModal` related `aboutwelcome` Nimbus feature variables (these are not in use and were for [[ https://experimenter.services.mozilla.com/nimbus/window-modal-vs-tab-modal/summary | an old experiment ]])
Differential Revision: https://phabricator.services.mozilla.com/D234039
- Add `preonboarding` Nimbus feature for showing a window modal over about:welcome that cannot be dismissed via ESC
- Include the ability to suppress showing the privacy notice tab on first run using a variable under the new `preonboarding` feature
- Remove legacy `showModal` related `aboutwelcome` Nimbus feature variables (these are not in use and were for [[ https://experimenter.services.mozilla.com/nimbus/window-modal-vs-tab-modal/summary | an old experiment ]])
Differential Revision: https://phabricator.services.mozilla.com/D234039
This commit makes the usage reporting preference inherit the general
data reporting preference for existing Firefox users. New Firefox
users will use the default usage reporting preference value, which is
enabled by default. Future onboarding changes will likely impact the
default usage reporting preference value.
Differential Revision: https://phabricator.services.mozilla.com/D232569
This commit "splits the difference", putting as much behaviour as
convenient into a new `UsageReporting` module while still connecting to
`TelemetryControllerParent`. The latter connection keeps testing
consistent; tests can assume that preference listeners, etc, are
registered.
The usage ID is preserved sibling to other client IDs in the "data
reporting state" bundle. In the future, it might make sense to keep
the usage ID only as a Glean metric, but that might require a
migration and some code restructuring. For expedience, I will keep
the existing implementation.
Differential Revision: https://phabricator.services.mozilla.com/D231995
* Sends a `CloseShoppingSidebar` message on clicking the shopping header close button to allow the `ReviewCheckerParent` to close the sidebar.
Differential Revision: https://phabricator.services.mozilla.com/D228281
This patch updates the logic that prevents about:welcome from showing when the Nimbus `aboutWelcome` `showModal` variable is set to true. If separate screens for the modal are provided, it can now be shown on top of the default onboarding flow in about:welcome.
A `requireAction` variable that sets the modal to be a window modal requiring action (other than pressing ESC) to dismiss is also added to the `aboutWelcome` Nimbus feature
Differential Revision: https://phabricator.services.mozilla.com/D230185
We submit the ping with at least 24 hours delay in between to not spam with pings. When we receive a new captcha event,
we'll check the last submission time and submit the ping if it's been more than 24 hours since the last submission.
Differential Revision: https://phabricator.services.mozilla.com/D226023
- Update `AboutWelcomeShopping` actors to include the sidebar review checker message manager group.
- Update `AWSetProductURL` to handle when a URL is not passed, which will happen on non-product pages.
Differential Revision: https://phabricator.services.mozilla.com/D223431
We submit the ping with at least 24 hours delay in between to not spam with pings. When we receive a new captcha event,
we'll check the last submission time and submit the ping if it's been more than 24 hours since the last submission.
Differential Revision: https://phabricator.services.mozilla.com/D226023
- Adds a remote content browser to contain `about:shoppingsidebar` in `review-checker.xhtml` and update the Review Checker sidebar to use that wrapper document.
- Adds ReviewChecker actors for the sidebar Review Checker panel.
- ReviewCheckerParent is a simplified version of the ShoppingSidebarParent as it does not need to handle the state of the sidebar opening or closing.
- ReviewCheckerChild is just extends ShoppingSidebarChild for now, though it will need to be separate in the future.
- Adds a browser.shopping.experience2023.shoppingSidebar boolean pref to disable ShoppingSidebar actors when they are not needed.
- Fixes `AbortError` error handling when the outer sidebar browser is removed.
Note that any auto-opening or closing behavior will need to be added afterwards, as these actors are not around to check product urls when the sidebar is closed.
Differential Revision: https://phabricator.services.mozilla.com/D222840
There are probably other simplifications that can be done after this on the
windows side of things, but I tried to keep this minimal.
Differential Revision: https://phabricator.services.mozilla.com/D229765
These only do something on Windows, and after windows 7 they are not
useful at all.
If this has no fallout I plan to simplify the code further in a
follow-up (we can basically make this a boolean attribute again or so).
Differential Revision: https://phabricator.services.mozilla.com/D228528
There are probably other simplifications that can be done after this on the
windows side of things, but I tried to keep this minimal.
Differential Revision: https://phabricator.services.mozilla.com/D229765
These only do something on Windows, and after windows 7 they are not
useful at all.
If this has no fallout I plan to simplify the code further in a
follow-up (we can basically make this a boolean attribute again or so).
Differential Revision: https://phabricator.services.mozilla.com/D228528
* Adds a `remoteType` attribute to the config when registering a sidebar to opt-in to using a remote content process when displaying that sidebar panel.
* Moves loading URLs into a `SidebarController._loadUrl` method, which can be passed a remoteType if the sidebar contents should be displayed in a remote content process. If needed it will replace the sidebar browser element with a remote or non-remote browser to match the remoteType passed.
* Adds browser load listeners methods, a `SidebarController._hasLoaded` promise for non-remote loading and a `SidebarController._hasProgressStopped` promise if the browser is remote.
* Adds a setter for `SidebarController.browser`.
* Adds a `shopping-sidebar` message manager group to avoid actor conflict.
Differential Revision: https://phabricator.services.mozilla.com/D223961
* Adds a `remoteType` attribute to the config when registering a sidebar to opt-in to using a remote content process when displaying that sidebar panel.
* Moves loading URLs into a `SidebarController._loadUrl` method, which can be passed a remoteType if the sidebar contents should be displayed in a remote content process. If needed it will replace the sidebar browser element with a remote or non-remote browser to match the remoteType passed.
* Adds browser load listeners methods, a `SidebarController._hasLoaded` promise for non-remote loading and a `SidebarController._hasProgressStopped` promise if the browser is remote.
* Adds a setter for `SidebarController.browser`.
* Adds a `shopping-sidebar` message manager group to avoid actor conflict.
Differential Revision: https://phabricator.services.mozilla.com/D223961
This also removes some tests of `MOZ_SELECTABLE_PROFILES` from `browser/components/profiles` files
where the test is pointless because that test is excluded from the build if `MOZ_SELECTABLE_PROFILES`
is unset.
Differential Revision: https://phabricator.services.mozilla.com/D227372
This also removes some tests of `MOZ_SELECTABLE_PROFILES` from `browser/components/profiles` files
where the test is pointless because that test is excluded from the build if `MOZ_SELECTABLE_PROFILES`
is unset.
Differential Revision: https://phabricator.services.mozilla.com/D227372
This also removes some tests of `MOZ_SELECTABLE_PROFILES` from `browser/components/profiles` files
where the test is pointless because that test is excluded from the build if `MOZ_SELECTABLE_PROFILES`
is unset.
Differential Revision: https://phabricator.services.mozilla.com/D227372
This also removes some tests of `MOZ_SELECTABLE_PROFILES` from `browser/components/profiles` files
where the test is pointless because that test is excluded from the build if `MOZ_SELECTABLE_PROFILES`
is unset.
Differential Revision: https://phabricator.services.mozilla.com/D227372
This also removes some tests of `MOZ_SELECTABLE_PROFILES` from `browser/components/profiles` files
where the test is pointless because that test is excluded from the build if `MOZ_SELECTABLE_PROFILES`
is unset.
Differential Revision: https://phabricator.services.mozilla.com/D227372