commit | 272d9a2ea8f6bb26c32e35d0d89874edbcb70d3a | [log] [tgz] |
---|---|---|
author | Alison Gale <agale@chromium.org> | Fri Apr 26 19:30:02 2024 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Apr 26 19:42:24 2024 |
tree | c5e7a6638f2872910c5801544778e349a5f49a3f | |
parent | 682cbc62b31f33c522f129409dd13dde2f20e57b [diff] |
Migrate TODOs referencing old crbug IDs to the new issue tracker IDs The canonical bug format is TODO(crbug.com/<id>). TODOs of the following forms will all be migrated to the new format: - TODO(crbug.com/<old id>) - TODO(https://crbug.com/<old id>) - TODO(crbug/<old id>) - TODO(crbug/monorail/<old id>) - TODO(<old id>) - TODO(issues.chromium.org/<old id>) - TODO(https://issues.chromium.org/<old id>) - TODO(https://issues.chromium.org/u/1/issues/<old id>) - TODO(bugs.chromium.org/<old id>) Bug id mapping is sourced from go/chrome-on-buganizer-prod-issues. See go/crbug-todo-migration for details. #crbug-todo-migration Bug: b/321899722 Change-Id: I8a9934c8837b7e99594af4d63d4343128b70f7fe Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5493246 Auto-Submit: Alison Gale <agale@chromium.org> Owners-Override: Alison Gale <agale@chromium.org> Commit-Queue: Alison Gale <agale@chromium.org> Reviewed-by: Peter Boström <pbos@chromium.org> Cr-Commit-Position: refs/heads/main@{#1293200} NOKEYCHECK=True GitOrigin-RevId: 45c4058fd01d05e82e7bc6ced568f028d9b3b104
This directory contains proto definitions for communication with the device management server.
There are two protocol buffers defining the messages for user policies - chrome_settings.proto
and cloud_policy.proto
. Both files are auto-generated by the generate_policy_source.py script from policy_templates.json, which in turn is auto-generated from the individual policy yaml files in policy_definitions. This is all done as part of building Chrome.
The reason there are two files is a compromise between readability and performance.
chrome_settings.proto
This file lists all non-device policies including comments containing their detailed descriptions. Additionally every policy in this file has a distinct message type. For example, this is the message for the HomepageLocation
policy:
message HomepageLocationProto { optional PolicyOptions policy_options = 1; optional string HomepageLocation = 2; }
cloud_policy.proto
This file is generated for each target platform and it therefore contains only the policy messages that a certain platform supports. Additionally each field uses a generic type defined in policy_common_definitions.proto. For example this is the message for any string policy:
message StringPolicyProto { optional PolicyOptions policy_options = 1; optional string value = 2; }
The client code for each platform uses the more compact cloud_policy.proto
to parse the policy blobs it receives from the device management server. On the other hand, the device management server needs to know of all the policies that exist for all the platforms, therefore chrome_settings.proto
is what the server code uses.
The two files are compatible and when the messages are serialized their binary content is equivalent. CloudPolicyProtoTest.VerifyProtobufEquivalence browser test makes sure that no regressions are introduced here.