blob: cc589c15a7d64b21e60c10dd305dd7eada3d47ad [file] [log] [blame]
This patch contains the device settings proto changes that were introduced in
the chromium repo per crrev.com/c/2565637. We unfortunately can't roll
protofiles right now due new dependencies that the browser side has introduced
which aren't available on the Chrome OS side yet (see crbug.com/1116244). This
patch is a temporary stop gap solution to allow work that depends on the proto
changes to land. Once protofiles can be properly upreved again, the patch is no
longer needed and should be dropped.
--- a/cloud/policy/proto/chrome_device_policy.proto
+++ b/cloud/policy/proto/chrome_device_policy.proto
@@ -552,11 +552,25 @@ message AllowRedeemChromeOsRegistrationOffersProto {
optional bool allow_redeem_offers = 1 [default = true];
}
-message StartUpFlagsProto {
- // Specifies the flags that should be applied to Google Chrome when it starts.
- // The specified flags are applied on the login screen only. Flags set via
- // this policy do not propagate into user sessions.
- repeated string flags = 1;
+message FeatureFlagsProto {
+ // Specifies switches that should be passed to Google Chrome when it starts.
+ // The specified switches are applied on the login screen only. Switches set
+ // via this policy do not propagate into user sessions.
+ // This is deprecated because it turned out that storing raw switches is
+ // problematic since Chrome can't easily tie switches back to feature flags to
+ // validate them. The |feature_flags| field below works in terms of feature
+ // flag names (i.e. chrome://flags items) instead and supersedes |switches|.
+ repeated string switches = 1 [deprecated = true];
+
+ // Specifies feature flags (i.e. chrome://flags items) that should be enabled
+ // when Chrome starts. The format of the individual entries matches the format
+ // chrome://flags uses for internal bookkeeping, i.e. either the flag name as
+ // listed on chrome://flags (for flags that only have a single choice besides
+ // the default) or the flag name followed by the index of the chosen option,
+ // separated by an '@' character (for flags with multiple choices). The
+ // specified feature flags are applied on the login screen only and don't
+ // propagate into the user session.
+ repeated string feature_flags = 2;
}
message UptimeLimitProto {
@@ -1763,7 +1777,7 @@ message ChromeDeviceSettingsProto {
optional SystemTimezoneProto system_timezone = 20;
optional DeviceLocalAccountsProto device_local_accounts = 21;
optional AllowRedeemChromeOsRegistrationOffersProto allow_redeem_offers = 22;
- optional StartUpFlagsProto start_up_flags = 23;
+ optional FeatureFlagsProto feature_flags = 23;
optional UptimeLimitProto uptime_limit = 24;
optional VariationsParameterProto variations_parameter = 25;
optional AttestationSettingsProto attestation_settings = 26;