commit | 23ce9a2500588ad71ce3cf6d8356ef5df393cab2 | [log] [tgz] |
---|---|---|
author | Sven Zheng <svenzheng@google.com> | Fri Jan 17 23:31:09 2025 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Jan 17 23:31:09 2025 |
tree | 81b371e7d77400c43ac1aa78756502efe138125a | |
parent | a1d255bd12be38b4585c8936905a8fde3f396314 [diff] |
Reland "Android: Support feedback with variations state" This is a reland of commit 68ecb3024bdbd402c364c218333bc9e044e75962 What's changed in reland: added chromecast dependency. See diff between ps1 and latest. Initial failure: https://ci.chromium.org/ui/p/chromium/builders/ci/android-cast-arm-rel/5691/overview I ran mega CQ and believe I fixed all the builders. Original change's description: > Android: Support feedback with variations state > > When user file a feedback report, also attach Chrome variations state. > This would be useful for Chrome developers to reproduce an issue that > was caused by experiments. > > When 'Include system logs' is checked, and the experiment is on, user > can see 'variations_state' tab in the 'System information' under > 'View the information we collect'. And it will be uploaded if user > send the feedback. > > On the backend, it will be saved as variations_state.gz, which is a > gzipped, base64 encoded, encrypted variations state string. A tool at > http://go/finch-listnr will be used to decrypt the data. > This is different with desktop implementations where we upload a bin > file. 2 reasons: > 1 Any data go through the API will show up in 'System information'. > So binary data will show as garbled text. Also see the internal cl > crrev.com/i/7929308, the API addPsbdForSilentFeedback mimeType can > only be (text/plain, text/html). That's why base64 is used. > 2 All data is gzipped. We can not control this behavior. > > Creates a new static library for 'variations_associated_data' to avoid > dependency cycle. There is a cycle that is hard to avoid: > variations_associated_data_android.cc > (//components/variations:variations) -> variations_command_line.h/cc > variations_command_line.cc -> field_trial_util.h/cc > field_trial_util.cc -> //components/variations:variations > Unless we move all 3 files to //components/variations:variations, it's > hard to avoid. So move variations_associated_data_android.cc to a new > target. > > Design doc: http://go/finch-listnr-design. > Related internal cl: http://crrev.com/i/7929308 > > Test: Tested locally that the uploaded file can be decrypted with dev key. > Bug: 373470046 > Low-Coverage-Reason: TRIVIAL_CHANGE simple interface definition > Change-Id: Idb7d3553de65a249a8abe0b4978e07d20ea07e28 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6114490 > Reviewed-by: Richard (Torne) Coles <torne@chromium.org> > Reviewed-by: Theresa Sullivan <twellington@chromium.org> > Commit-Queue: Sven Zheng <svenzheng@chromium.org> > Reviewed-by: Alexei Svitkine <asvitkine@chromium.org> > Cr-Commit-Position: refs/heads/main@{#1406269} Bug: 373470046 Low-Coverage-Reason: TRIVIAL_CHANGE simple interface definition Change-Id: Iab762c9825e61d32d0f4ab177644db7c7389d4e8 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6175182 Reviewed-by: Richard (Torne) Coles <torne@chromium.org> Commit-Queue: Sean Topping <seantopping@chromium.org> Reviewed-by: Alexei Svitkine <asvitkine@chromium.org> Reviewed-by: Theresa Sullivan <twellington@chromium.org> Auto-Submit: Sven Zheng <svenzheng@chromium.org> Reviewed-by: Sean Topping <seantopping@chromium.org> Cr-Commit-Position: refs/heads/main@{#1408209}
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.