commit | c1a31b1aeb343867b3f835aa50cccadc4b7569b0 | [log] [tgz] |
---|---|---|
author | Caitlin Fischer <caitlinfischer@google.com> | Tue Feb 08 19:40:32 2022 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Feb 08 19:40:32 2022 |
tree | 316bc224901d7a58bed1f5c0531753c8fbca29b0 | |
parent | 072b6bf1b7db7f8b8cf2e2e3127a98a6b859d7bb [diff] |
Have Chrome apply client-side defaults when the safe seed is empty. More specifically, if Variations Safe Mode is triggered (see SafeSeedManager::ShouldRunInSafeMode()) and the safe seed is empty, then this change makes Chrome apply client-side defaults (e.g. DISABLED_BY_DEFAULT). The status quo behavior has Chrome continue to apply the regular variations seed when the safe seed should be used but is empty. This is problematic because a client (a) whose regular seed has an experiment that renders Chrome unusable and (b) whose safe seed is empty will be stuck in a bad state. New clients, in particular, have empty safe seeds. This change also updates a relevant enum: SeedUsage. kCorruptedSeedNotUsed (value 2) is renamed kUnloadableRegularSeedNotUsed. This is a more accurate description since corrupted regular seeds, regular seeds with invalid signatures, and empty regular seeds were and still are associated with this enumerator. There are no changes to the kinds of regular seeds being associated with kUnloadableRegularSeedNotUsed (né kCorruptedSeedNotUsed). The following enums are deprecated: * kCorruptedSafeSeedNotUsed (value 5), * kRegularSeedUsedAfterEmptySafeSeedLoaded (value 6), * kExpiredRegularSeedNotUsedAfterEmptySafeSeedLoaded (value 7), and * kCorruptedRegularSeedNotUsedAfterEmptySafeSeedLoaded (value 8). The enumerators with values 6 to 8 are no longer applicable since regular seeds will no longer be applied if Chrome tries to trigger Variations Safe Mode and encounters an empty safe seed. kCorruptedSafeSeedNotUsed was associated with safe seeds with invalid signatures and corrupted safe seeds. It was not associated with empty safe seeds. Going forward, empty safe seeds, corrupted safe seeds, and safe seeds with invalid signatures will be treated in the same way: they will not be applied. Instead of reusing kCorruptedSafeSeedNotUsed, we replace it with kUnloadedSafeSeedNotUsed as it would be confusing for kCorruptedSafeSeedNotUsed to be associated with different kinds of safe seeds before and after M100. Bug: 1216953 Change-Id: I835cba158c5ea1cc36498699e6b78cfe70d7209b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3438766 Reviewed-by: Alexei Svitkine <asvitkine@chromium.org> Reviewed-by: Mark Pearson <mpearson@chromium.org> Commit-Queue: Caitlin Fischer <caitlinfischer@google.com> Cr-Commit-Position: refs/heads/main@{#968491}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.