Bug 1997373 - Store original pref values for Fenix Gecko integration
This patch begins storing a PreviousState on ExperimentEnrollment when it is of type EnrollmentStatus::Enrolled. It also introduces PreviousState::GeckoPref to hold Gecko original preference values for Gecko pref based experiments.
The public APIs it opens are registerPreviousGeckoPrefStates and getPreviousState.
The goal of this patch is to appropriately store the original Gecko preference value to help when exiting an experiment.
Current idea is that it will be set similarly as unenrollForGeckoPref in this patch D257390, but for the positive case. Bug 2003370 will use this to properly consume these values when appropriate.
Pull Request checklist
-
Breaking changes: This PR follows our breaking change policy
- [X] This PR follows the breaking change policy:
- This PR has no breaking API changes, or
- There are corresponding PRs for our consumer applications that resolve the breaking changes and have been approved
- [X] This PR follows the breaking change policy:
- [x] Quality: This PR builds and tests run cleanly
- Note:
- For changes that need extra cross-platform testing, consider adding
[ci full]to the PR title. - If this pull request includes a breaking change, consider cutting a new release after merging.
- For changes that need extra cross-platform testing, consider adding
- Note:
- [X] Tests: This PR includes thorough tests or an explanation of why it does not
- [X] Changelog: This PR includes a changelog entry in CHANGELOG.md or an explanation of why it does not need one
- Any breaking changes to Swift or Kotlin binding APIs are noted explicitly
- [X] Dependencies: This PR follows our dependency management guidelines
- Any new dependencies are accompanied by a summary of the due diligence applied in selecting them.
Hi @jeddai and @freshstrangemusic ,
Please take a look at this when you have a chance! I don't have the right repo access to request in the Reviewers panel.
First draft comments should be addressed now, thanks!