
A previous CL crrev.com/c/5855480 disallowed more than one Key Provider from indicating that it is OSCrypt Sync compatible. However, as it turns out, on Linux, we might wish to have more than one Key Provider signal OSCrypt Sync compatibility e.g. a key provider for the 'v10' fixed key and a key provider for the 'v11' encryption scheme. This CL therefore reverts crrev.com/c/5855480 and adds an alternative implementation that supports this. A second field is added to store the default key to be used if an OSCrypt Sync compatible Encryptor is needed. This can be populated during the receipt of the keys by only setting it for keys that indicate they are OSCrypt Sync compatible. This can then be used during the Clone() operation if the `kEncryptSyncCompat` `Option` is specified, which simplifies the Clone() significantly. A few tests need minor structural changes. An existing test is augmented to use two variants of Key Provider names, to make sure that the order of the elements in the std::map make no difference to behavior. BUG=40241934 Change-Id: If0b158adfc44d648594f3688a9465fc7471754f6 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6221699 Commit-Queue: Will Harris <wfh@chromium.org> Reviewed-by: Alex Gough <ajgo@chromium.org> Cr-Commit-Position: refs/heads/main@{#1415175}
Chromium
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.