chromium/components/saved_tab_groups/proto/saved_tab_group_data.proto

// 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.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package tab_groups.proto;

import "components/sync/protocol/saved_tab_group_specifics.proto";
import "components/saved_tab_groups/proto/local_tab_group_data.proto";

// Message stored in the DataTypeStore, encapsulating both synced
// tab group data (SavedTabGroupSpecifics) and local-only metadata.
message SavedTabGroupData {
  // Version of this proto.
  optional int64 version = 1;

  // Data from sync, contains either a SavedTabGroup or SavedTabGroupTab
  // (determined by the "entity" oneof field within).
  optional sync_pb.SavedTabGroupSpecifics specifics = 2;

  // Local-only metadata for the tab group. Only populated if the 'specifics'
  // field contains a SavedTabGroup entity.
  optional LocalTabGroupData local_tab_group_data = 3;
}