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

// This file was exported from google3, do not edit manually.
// See README.chromium for details.

edition = "2023";

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

package ukm;

// Tracks what WebDX features are used on a webpage load.
//
// What we call "high level" web feature here is known as "WebDX feature" or
// "web feature" for short in the Chromium codebase and rest of the UKM
// implementation. These terms refer to the exact same concept. This proto was
// landed before the term "WebDX" was decided upon and became widely accepted.
// Since the proto name is persisted in the table schema and can't be easily
// changed, we're keeping this name as is.
//
// Next tag: 5
message HighLevelWebFeatures {
  // Encoding of a subset of web features used on a webpage, as a bit
  // vector to save storage space.
  bytes bit_vector = 1;

  // The id of the Source that these web feature usage data is associated with.
  int64 source_id = 2;

  // Version of the encoding used. When WebFeature enum values have changed or
  // been renumbered, the version number should be incremented. This is for
  // supporting parsing of different encoding versions server-side.
  uint32 encoding_version = 3 [default = 0];

  // Deprecated fields.
  reserved max_index;
  reserved 4;
}
