chromium/components/variations/proto/client_variations.proto

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;
option java_package = "org.chromium.components.variations";

package variations;

// A list of all of the Google-visible variations that are active on the local
// client. These variations are included in network requests sent to Google: the
// proto contents are serialized, B64 encoded, and sent to Google web properties
// as part of the X-Client-Data request header. You can view the exact data sent
// from your client via the Developer Tools UI:
// https://developer.chrome.com/blog/new-in-devtools-86#x-client-data.
//
// On Android Chrome, in certain cases these Google-visible variations may also
// be sent to Google apps when cross-app communication occurs to support a
// Chrome feature – for example, when searching with Google Lens. This
// information is used to better understand how Chrome variations affect that
// feature – for example, Chrome memory usage change could affect how long it
// takes an action in the Google app to complete.
//
// NOTE: If you update this proto, you'll also need to rebuild the JS parser for
// devtools. See //components/variations/proto/devtools/BUILD.gn for details.
message ClientVariations {
  // Active Google-visible variation IDs on this client. These are reported for
  // analysis, but do not directly affect any server-side behavior.
  repeated int32 variation_id = 1;

  // Active Google-visible variation IDs on this client that trigger server-side
  // behavior. These are reported for analysis *and* directly affect server-side
  // behavior.
  repeated int32 trigger_variation_id = 3;
}