Commit Graph

221 Commits

Author SHA1 Message Date
Beth Rennie
c8b5015aca Bug 1961629 - Use ExperimentFeature.getEnrollmentMetadata() in browser/components/asrouter r=omc-reviewers,aminomancer
Differential Revision: https://phabricator.services.mozilla.com/D246149
2025-04-29 11:28:57 +00:00
Meg Viar
81929eb72f Bug 1960078 - Add universal type to InfoBar to show notification across all current and new windows r=omc-reviewers,mimi
Differential Revision: https://phabricator.services.mozilla.com/D245309
2025-04-23 20:58:27 +00:00
negin
05fbc8e569 Bug 1930250 - Adds AppMenu configuration and styling for 'row' layout r=omc-reviewers,mconley,emcminn
Adds configuration for row layout design that we'd like to eventually rollout. See [figma](https://www.figma.com/design/qe9yX8x51jjbt6DJYgayg2/Device-Migration--Account-and-Multi-Device-Adoption-?node-id=8208-4895&m=dev)

{F19072665}

{F19072664}

{F19072663}

Differential Revision: https://phabricator.services.mozilla.com/D246145
2025-04-23 19:50:32 +00:00
Niklas Baumgardner
7276800327 Bug 1953884 - Eagerly create the profiles shared database. r=profiles-reviewers,mossop,jhirsch,firefox-desktop-core-reviewers ,omc-reviewers,emcminn
Differential Revision: https://phabricator.services.mozilla.com/D244621
2025-04-23 15:20:14 +00:00
Beth Rennie
39035fa485 Bug 1961036 - Remove ExperimentAPI.getExperiment r=relud,mconley,nimbus-reviewers,omc-reviewers,home-newtab-reviewers,aminomancer,chumphreys
All the callers of this function in tree can be replaced with
`get{Experiment,Rollout}MetaData`.

Differential Revision: https://phabricator.services.mozilla.com/D245985
2025-04-23 00:13:37 +00:00
Joel Maher
397e8ec3f4 Bug 1961608 - Green up macosx 15.30. r=aryx,necko-reviewers,extension-reviewers,media-playback-reviewers,credential-management-reviewers,sync-reviewers,anti-tracking-reviewers,sessionstore-reviewers,places-reviewers,omc-reviewers,profiles-reviewers,pdahiya,alwu,jhirsch,mtigley,skhamis,timhuang,valentin,robwu,nsharpley
Differential Revision: https://phabricator.services.mozilla.com/D246100
2025-04-22 18:12:28 +00:00
Meg Viar
3651f417fc Bug 1961230 - Allow for plain text after infobar links with optional spacing before and after r=omc-reviewers,jprickett
We want to be able to create the appears of links being embedded in the content text of an infobar.

Differential Revision: https://phabricator.services.mozilla.com/D245969
2025-04-22 14:05:36 +00:00
pstanciu
c17bdcd640 Backed out changeset 118838e56e20 (bug 1961230) for causing failures on browser_asrouter_infobar.js CLOSED TREE 2025-04-22 16:43:03 +03:00
Meg Viar
685be9e86c Bug 1961230 - Allow for plain text after infobar links with optional spacing before and after r=omc-reviewers,jprickett
We want to be able to create the appears of links being embedded in the content text of an infobar.

Differential Revision: https://phabricator.services.mozilla.com/D245969
2025-04-22 12:34:24 +00:00
Beth Rennie
4981fe1c19 Bug 1957515 - Merge ExperimentFakes and ExperimentTestUtils r=nimbus-reviewers,emcminn,omc-reviewers
All the (relevant) methods of ExperimentFakes and ExperimentTestUtils
are now defined on a new object called NimbusTestUtils. For convenience,
the old aliases still work, but they will be removed in a future bug.

There are also some new goodies, like
`NimbusTestUtils.assert.storeIsEmpty`, which is a port of a method from
our head.js files, and `NimbusTestUtils.removeStore`. This does require
you to give NimbusTestUtils access to the test scope (via
`NimbusTestUtils.init(this)`), but it lets us do actual assertions
instead of just throwing errors.

Nimbus' browser and xpcshell tests have been updated to use these new
helpers by replacing the internals of `assertEmptyStore` in each head.js
file with calls to them. They will be cleaned up to remove the wrapper
in a follow-up.

Additionally, `NimbusTestUtils.factories.recipe` will now return a
recipe that will *always* enroll. `ExperimentFakes.recipe` returns a
recipe that would only enroll 10% of the time and most tests that were
using `ExperimentFakes.recipe` were replacing that `bucketConfig` with
one that guaranteed enrollment. Existing callers do not have to change
until we migrate everything to `NimbusTestUtils`.

Differential Revision: https://phabricator.services.mozilla.com/D244960
2025-04-14 19:40:51 +00:00
Jason Prickett
8b6faaef37 Bug 1953834 - Add profile group id to asrouter targeting r=omc-reviewers,mviar
Differential Revision: https://phabricator.services.mozilla.com/D244229
2025-04-14 18:01:54 +00:00
Gijs Kruitbosch
75052d346a Bug 1958070 - move DefaultBrowserCheck to its own file, r=omc-reviewers,firefox-desktop-core-reviewers ,mossop,hanna_a
Differential Revision: https://phabricator.services.mozilla.com/D244422
2025-04-14 14:04:33 +00:00
Meg Viar
0c85630592 Bug 1958972 - Add dismissable property configurable for infobars r=reusable-components-reviewers,omc-reviewers,emcminn,hanna_a,hjones
Differential Revision: https://phabricator.services.mozilla.com/D244668
2025-04-09 14:22:08 +00:00
Beth Rennie
149d1a110f Bug 1955169 - Simplify recording of enrollment status telemetry r=omc-reviewers,nimbus-reviewers,aminomancer,chumphreys,application-update-reviewers,nalexander
Previously we were recording enrollment status telemetry everywhere we
were calling into `enroll` and `_unenroll` from onRecipe and
`updateEnrollment`. Now we record the enrollment status telemetry from
inside `NimbusTelemetry.recordEnrollment` and
`NimbusTelemetry.recordUnenrollment`, so that the enrollment status
telemetry is recorded from *every* enrollment event, not just during
`RemoteSettingsExperimentLoader.updateRecipes()`.

To help with this, a new helper has been added, `UnenrollmentCause`,
which carries all the metadata required to unenroll from an experiment
(similar how `CheckRecipeResult` carries all the metadata for enrollment
and updating enrollment) and to submit the corresponding telemetry. Now
instead of calling `unenroll()` with a reason string, you must call it
with an object returned from one of the `UenrollmentCause` utilities.
All tests that were calling `unenroll()` with a string like
"test" or "cleanup" have been updated to remove the reason string. When
it is not present, the `UnenrollmentCause` will default to an "unknown"
reason, which is good enough for test cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D243212
2025-04-06 01:02:21 +00:00
Shane Hughes
68848bd409 Bug 1931454 - Allow feature callouts to have multiple screens without requiring a tour pref. r=omc-reviewers,mviar
This adds a new `advance_screens` pseudo-action to the `feature_callout`
messaging system template, which can be added to any action in the same
way `navigate` is used currently. This should generally be used instead
of `navigate`, which only advances the inner content but not the outer
wrapper, the anchor, the page event listeners, and other state relevant
for panel callouts.

Some callouts want to show even if the `cfr.features` pref is disabled,
such as surveys and important onboarding messages, and hard-coding that
check in FeatureCallout is heavy-handed as we already have better ways
to do it. Most callouts belong to the `cfr` group, which locks them
behind the features pref. Any that can't use groups, like the PDF
annotations callouts, can check the pref directly in their targeting.

Aside from blocking messages that don't want to be blocked by that pref,
it also results in a weird behavior where, if the pref changes while the
callout is still open (pretty unlikely), the callout will hide when you
click "next" instead of advancing to the next screen. If you clicked the
Next button, it should show you the next screen, even if you somehow
blocked the message by pref before clicking.

So it's cleaner to just let ASRouter handle that in the targeting phase.
If the pref changes while a message is showing, then we'll just leave it
open, and it won't apply until targeting is checked.

It's appropriate to make the change here, because this patch adds a new
screen advancement scheme, separate from the tour pref system. Since
we're reproducing the advancement logic, we're forced to decide whether
to reproduce the feature pref check in this new scheme. I realized 99%
of the time it's doing nothing, and in the rare cases where it does have
an effect that differs from the regular pref targeting, it's a negative
effect. And at that point, we might as well rip the bandaid off all at
once, to keep everything consistent.

Additionally, while adding documentation for this new feature, I also
corrected some existing errors in the documentation.

Differential Revision: https://phabricator.services.mozilla.com/D229084
2025-04-04 08:27:57 +00:00
Butkovits Atila
aeba1d05c8 Backed out 5 changesets (bug 1955169) for causing failures at test_nimbusTelemetry.js. CLOSED TREE
Backed out changeset c4164da0418a (bug 1955169)
Backed out changeset aec590ec0dcc (bug 1955169)
Backed out changeset 527cbe48536b (bug 1955169)
Backed out changeset dec22291ce40 (bug 1955169)
Backed out changeset 7523c66cf741 (bug 1955169)
2025-04-02 23:07:11 +03:00
Beth Rennie
884ce25bd3 Bug 1955169 - Simplify recording of enrollment status telemetry r=omc-reviewers,nimbus-reviewers,aminomancer,chumphreys,application-update-reviewers,nalexander
Previously we were recording enrollment status telemetry everywhere we
were calling into `enroll` and `_unenroll` from onRecipe and
`updateEnrollment`. Now we record the enrollment status telemetry from
inside `NimbusTelemetry.recordEnrollment` and
`NimbusTelemetry.recordUnenrollment`, so that the enrollment status
telemetry is recorded from *every* enrollment event, not just during
`RemoteSettingsExperimentLoader.updateRecipes()`.

To help with this, a new helper has been added, `UnenrollmentCause`,
which carries all the metadata required to unenroll from an experiment
(similar how `CheckRecipeResult` carries all the metadata for enrollment
and updating enrollment) and to submit the corresponding telemetry. Now
instead of calling `unenroll()` with a reason string, you must call it
with an object returned from one of the `UenrollmentCause` utilities.
All tests that were calling `unenroll()` with a string like
"test" or "cleanup" have been updated to remove the reason string. When
it is not present, the `UnenrollmentCause` will default to an "unknown"
reason, which is good enough for test cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D243212
2025-04-02 17:08:23 +00:00
Joel Maher
34dc8fc793 Bug 1957450 - cleanup chrome.toml files to remove old conditions and standardize remaining conditions. r=aryx,devtools-reviewers,fxview-reviewers,profiler-reviewers,omc-reviewers,migration-reviewers,backup-reviewers,julienw,nchevobbe,mconley,pdahiya,nsharpley
Differential Revision: https://phabricator.services.mozilla.com/D243709
2025-04-01 21:16:45 +00:00
Cosmin Sabou
76d33e1b6c Backed out 5 changesets (bug 1955169) for causing xpcshell failures on test_RemoteSettingsExperimentLoader_updateRecipes. CLOSED TREE
Backed out changeset 2260624d1529 (bug 1955169)
Backed out changeset 6f249fd9c97e (bug 1955169)
Backed out changeset 04666fa6a9a4 (bug 1955169)
Backed out changeset 6c18b6e1178a (bug 1955169)
Backed out changeset 669a93c90421 (bug 1955169)
2025-03-31 22:51:10 +03:00
Beth Rennie
f0fb022626 Bug 1955169 - Simplify recording of enrollment status telemetry r=omc-reviewers,nimbus-reviewers,aminomancer,chumphreys,application-update-reviewers,nalexander
Previously we were recording enrollment status telemetry everywhere we
were calling into `enroll` and `_unenroll` from onRecipe and
`updateEnrollment`. Now we record the enrollment status telemetry from
inside `NimbusTelemetry.recordEnrollment` and
`NimbusTelemetry.recordUnenrollment`, so that the enrollment status
telemetry is recorded from *every* enrollment event, not just during
`RemoteSettingsExperimentLoader.updateRecipes()`.

To help with this, a new helper has been added, `UnenrollmentCause`,
which carries all the metadata required to unenroll from an experiment
(similar how `CheckRecipeResult` carries all the metadata for enrollment
and updating enrollment) and to submit the corresponding telemetry. Now
instead of calling `unenroll()` with a reason string, you must call it
with an object returned from one of the `UenrollmentCause` utilities.
All tests that were calling `unenroll()` with a string like
"test" or "cleanup" have been updated to remove the reason string. When
it is not present, the `UnenrollmentCause` will default to an "unknown"
reason, which is good enough for test cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D243212
2025-03-31 18:54:05 +00:00
Goloman Adrian
642c75059d Backed out 5 changesets (bug 1955169) for causing xpc failures @test_ExperimentManager_enroll.js.
Backed out changeset a07069ddb118 (bug 1955169)
Backed out changeset c717d831bbc4 (bug 1955169)
Backed out changeset 32059aa54193 (bug 1955169)
Backed out changeset ac2b71a2ef17 (bug 1955169)
Backed out changeset 64ae848c4a2b (bug 1955169)
2025-03-28 00:07:39 +02:00
Beth Rennie
245c8b795e Bug 1955169 - Simplify recording of enrollment status telemetry r=omc-reviewers,nimbus-reviewers,aminomancer,chumphreys
Previously we were recording enrollment status telemetry everywhere we
were calling into `enroll` and `_unenroll` from onRecipe and
`updateEnrollment`. Now we record the enrollment status telemetry from
inside `NimbusTelemetry.recordEnrollment` and
`NimbusTelemetry.recordUnenrollment`, so that the enrollment status
telemetry is recorded from *every* enrollment event, not just during
`RemoteSettingsExperimentLoader.updateRecipes()`.

To help with this, a new helper has been added, `UnenrollmentCause`,
which carries all the metadata required to unenroll from an experiment
(similar how `CheckRecipeResult` carries all the metadata for enrollment
and updating enrollment) and to submit the corresponding telemetry. Now
instead of calling `unenroll()` with a reason string, you must call it
with an object returned from one of the `UenrollmentCause` utilities.
All tests that were calling `unenroll()` with a string like
"test" or "cleanup" have been updated to remove the reason string. When
it is not present, the `UnenrollmentCause` will default to an "unknown"
reason, which is good enough for test cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D243212
2025-03-27 20:22:21 +00:00
Florian Quèze
2ea57560fd Bug 1950710 - Migrate histograms to use Glean APIs for MS_MESSAGE_REQUEST_TIME_MS, r=chutten,omc-reviewers,mviar.
Differential Revision: https://phabricator.services.mozilla.com/D242518
2025-03-26 14:41:10 +00:00
Jason Prickett
9e27050c4b Bug 1955715 - update addonsInfo asrouter targeting to include if user has installed addons r=omc-reviewers,mviar
Differential Revision: https://phabricator.services.mozilla.com/D242819
2025-03-25 18:21:07 +00:00
Nathan Barrett
3df69e20a2 Bug 1951426 - Request messages from OMC in newtab r=home-newtab-reviewers,omc-reviewers,mconley,aminomancer,maxx
Differential Revision: https://phabricator.services.mozilla.com/D240175
2025-03-25 14:34:05 +00:00
Stanca Serban
92c3bbb32a Backed out 4 changesets (bug 1954848, bug 1951426, bug 1951782, bug 1953632) for causing xpcshell failures in test_NewTabMessaging.js. CLOSED TREE
Backed out changeset b2ee50813323 (bug 1954848)
Backed out changeset 211563f87799 (bug 1953632)
Backed out changeset 5003a2a06685 (bug 1951782)
Backed out changeset 4a882623c86d (bug 1951426)
2025-03-24 20:46:17 +02:00
Nathan Barrett
84c498dc3b Bug 1951426 - Request messages from OMC in newtab r=home-newtab-reviewers,omc-reviewers,mconley,aminomancer,maxx
Differential Revision: https://phabricator.services.mozilla.com/D240175
2025-03-24 17:42:04 +00:00
Beth Rennie
ab06202815 Bug 1953530 - Move most Nimbus telemetry code into a single module r=nimbus-reviewers,chumphreys,omc-reviewers,aminomancer
This patch does not change the targeting context telemetry as it is
sufficiently complicated and isolated from the rest of the telemetry.

Differential Revision: https://phabricator.services.mozilla.com/D241325
2025-03-21 17:53:20 +00:00
Goloman Adrian
ac2cd44a24 Backed out 4 changesets (bug 1953632, bug 1951782, bug 1951426, bug 1954848) for causing build bustages. CLOSED TREE
Backed out changeset 6825e2911771 (bug 1954848)
Backed out changeset 56f68e9e9ab5 (bug 1953632)
Backed out changeset bda4413155d7 (bug 1951782)
Backed out changeset 04623acb0ff2 (bug 1951426)
2025-03-21 20:38:15 +02:00
Nathan Barrett
3957775da8 Bug 1951426 - Request messages from OMC in newtab r=home-newtab-reviewers,omc-reviewers,mconley,aminomancer
Differential Revision: https://phabricator.services.mozilla.com/D240175
2025-03-21 15:26:34 +00:00
Stanca Serban
81fcbe2dae Backed out 2 changesets (bug 1953530) for causing mochitests failures in browser_asrouter_experimentsAPILoader.js.
Backed out changeset 40e98c849875 (bug 1953530)
Backed out changeset fc38ba906d3f (bug 1953530)
2025-03-21 03:44:47 +02:00
Beth Rennie
af8fe3e1c9 Bug 1953530 - Move most Nimbus telemetry code into a single module r=nimbus-reviewers,chumphreys,omc-reviewers,aminomancer
This patch does not change the targeting context telemetry as it is
sufficiently complicated and isolated from the rest of the telemetry.

Differential Revision: https://phabricator.services.mozilla.com/D241325
2025-03-20 16:21:40 +00:00
Stanca Serban
4380403c09 Backed out 4 changesets (bug 1951426, bug 1954848, bug 1953632, bug 1951782) for causing Node tests failures. CLOSED TREE
Backed out changeset 2a8c811ce373 (bug 1954848)
Backed out changeset 04b8c4b9620a (bug 1953632)
Backed out changeset b51759b5f846 (bug 1951782)
Backed out changeset fc971f683077 (bug 1951426)
2025-03-20 23:36:40 +02:00
Nathan Barrett
9e01a2ba3e Bug 1951426 - Request messages from OMC in newtab r=home-newtab-reviewers,omc-reviewers,mconley,aminomancer
Differential Revision: https://phabricator.services.mozilla.com/D240175
2025-03-20 14:12:21 +00:00
Jason Prickett
d51e46b708 Bug 1953129 - Cap totalSearches pref at 100 r=omc-reviewers,urlbar-reviewers,mviar,jteow
Differential Revision: https://phabricator.services.mozilla.com/D241671
2025-03-18 23:08:15 +00:00
Shane Hughes
e7f24e223a Bug 1948423 - Skip targeting and trigger listener creation for messages with skip_in_tests. r=omc-reviewers,negin
Differential Revision: https://phabricator.services.mozilla.com/D238374
2025-03-07 04:36:57 +00:00
hanna.alemu
bf18e2022a Bug 1934718 - Update NimbusRolloutMessageProvider with messaging rollouts in Fx136 r=omc-reviewers,pdahiya
Differential Revision: https://phabricator.services.mozilla.com/D239439
2025-02-27 01:58:29 +00:00
Gregory Pappas
2300895022 Bug 1750304 - Move isChinaRepack out of AppConstants r=settings-reviewers,home-newtab-reviewers,Gijs,pdahiya,omc-reviewers,mossop,mconley
AppConstants seems like the wrong place for this method

Differential Revision: https://phabricator.services.mozilla.com/D239276
2025-02-25 20:46:37 +00:00
negin
3d8c9dcaaf Bug 1919598 - Avoid creating a notification box during activeNotifications r=omc-reviewers,pdahiya
Differential Revision: https://phabricator.services.mozilla.com/D238817
2025-02-21 23:05:26 +00:00
Goloman Adrian
3624802d33 Backed out changeset 8b98d8d87760 (bug 1948423) for causing bc failures @browser_foxdoodle_set_default.js. CLOSED TREE 2025-02-20 06:56:38 +02:00
Shane Hughes
378d8ec5e5 Bug 1948423 - Skip targeting and trigger listener creation for messages with skip_in_tests. r=omc-reviewers,negin
Differential Revision: https://phabricator.services.mozilla.com/D238374
2025-02-20 03:03:45 +00:00
Punam Dahiya
1fd0f99f8e Bug 1940816 - Put newtab chrome and resource assets under chrome://newtab and resource://newtab r=home-newtab-reviewers,omc-reviewers,mconley,credential-management-reviewers,marco,emcminn,valentin,dimi CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D236880
2025-02-10 17:55:34 +00:00
Norisz Fay
29170cefc4 Backed out changeset 5785f202084e (bug 1940816) for causing Bpgo bustage CLOSED TREE 2025-02-11 06:11:10 +02:00
Punam Dahiya
7059cde7b0 Bug 1940816 - Put newtab chrome and resource assets under chrome://newtab and resource://newtab r=home-newtab-reviewers,omc-reviewers,mconley,credential-management-reviewers,marco,emcminn,valentin,dimi
Differential Revision: https://phabricator.services.mozilla.com/D236880
2025-02-10 17:55:34 +00:00
Emily McMinn
967f0a3050 Bug 1946512 - Add automated test for alltabsButtonAreaType r=omc-reviewers,mviar
Differential Revision: https://phabricator.services.mozilla.com/D237113
2025-02-06 22:52:43 +00:00
Mike Conley
6db006549f Bug 1938452 - Update a bunch of non-permalink references to browser/extensions/newtab. r=sylvestre,search-reviewers,tabbrowser-reviewers,omc-reviewers,android-reviewers,home-newtab-reviewers,frontend-codestyle-reviewers,mcheang,pdahiya,thecount,dao,pollymce
Differential Revision: https://phabricator.services.mozilla.com/D233874
2025-02-03 16:45:33 +00:00
Mike Conley
0cab9e0390 Bug 1938452 - Move newtab tests to browser/extensions/newtab. r=home-newtab-reviewers,omc-reviewers,frontend-codestyle-reviewers,pdahiya,thecount
This doesn't move test_AboutNewTab.js, as this test exercises the AboutNewTab
module under browser/modules/ and the AboutNewTabService component under
browser/components/newtab.

Differential Revision: https://phabricator.services.mozilla.com/D233873
2025-02-03 16:45:33 +00:00
Alexandru Marc
88e7c19d5c Backed out 10 changesets (bug 1938452) for causing node failures CLOSED TREE
Backed out changeset f6a771e83261 (bug 1938452)
Backed out changeset 69f385bc90ce (bug 1938452)
Backed out changeset 9c8837fc4805 (bug 1938452)
Backed out changeset c9737e213e42 (bug 1938452)
Backed out changeset ac0a50aaf347 (bug 1938452)
Backed out changeset f1f41e902e36 (bug 1938452)
Backed out changeset aef74a3d077d (bug 1938452)
Backed out changeset 8ca1a633192a (bug 1938452)
Backed out changeset 88df910fa038 (bug 1938452)
Backed out changeset cd4fdafb2594 (bug 1938452)
2025-02-03 18:28:59 +02:00
Mike Conley
661a090489 Bug 1938452 - Update a bunch of non-permalink references to browser/extensions/newtab. r=sylvestre,search-reviewers,tabbrowser-reviewers,omc-reviewers,android-reviewers,home-newtab-reviewers,frontend-codestyle-reviewers,mcheang,pdahiya,thecount,dao,pollymce
Differential Revision: https://phabricator.services.mozilla.com/D233874
2025-02-03 15:07:11 +00:00
Mike Conley
5cc1e5190e Bug 1938452 - Move newtab tests to browser/extensions/newtab. r=home-newtab-reviewers,omc-reviewers,frontend-codestyle-reviewers,pdahiya,thecount
This doesn't move test_AboutNewTab.js, as this test exercises the AboutNewTab
module under browser/modules/ and the AboutNewTabService component under
browser/components/newtab.

Differential Revision: https://phabricator.services.mozilla.com/D233873
2025-02-03 15:07:10 +00:00