1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
// 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.
//
// Sync protocol datatype extension for shared tab groups and tabs.
// If you change or add any fields in this file, update proto_visitors.h and
// potentially proto_enum_conversions.{h, cc}.
syntax = "proto2";
option java_multiple_files = true;
option java_package = "org.chromium.components.sync.protocol";
option optimize_for = LITE_RUNTIME;
package sync_pb;
import "components/sync/protocol/unique_position.proto";
// LINT.IfChange(SharedTabGroupDataSpecifics)
message SharedTabGroupDataSpecifics {
// Unique identifier for this entity.
optional string guid = 1;
oneof entity {
SharedTabGroup tab_group = 3;
SharedTab tab = 4;
}
optional int64 update_time_windows_epoch_micros = 5;
// A mechanism to identify the client version that wrote this specifics.
// Designed to aid business logic when reading newly added fields that
// didn't exist in older clients.
// The client version must be incremented whenever a new field is added to the
// specifics.
optional int32 version = 6;
reserved 2;
}
message SharedTabGroup {
// The displayed title of the group, shown on the tab group.
optional string title = 1;
// These colors map to tab_groups::TabGroupColorId. They DO NOT match the enum
// integer values due to "kGrey" being in the "Unspecified" field.
enum Color {
UNSPECIFIED = 0;
GREY = 1;
BLUE = 2;
RED = 3;
YELLOW = 4;
GREEN = 5;
PINK = 6;
PURPLE = 7;
CYAN = 8;
ORANGE = 9;
}
// The color of the tab group, mapped to tab_groups::TabGroupColorId.
optional Color color = 2;
// Saved tab group GUID from which this shared tab group was created.
optional string originating_tab_group_guid = 3;
}
message SharedTab {
// The URL of the page.
optional string url = 1;
// The title of the page.
optional string title = 2;
// The GUID of the SharedTabGroup this is a member of.
optional string shared_tab_group_guid = 4;
// The UniquePosition within a SharedTabGroup.
optional UniquePosition unique_position = 5;
reserved 3;
reserved "favicon_url";
}
// LINT.ThenChange(//components/saved_tab_groups/internal/shared_tab_group_data_sync_bridge.cc:TrimAllSupportedFieldsFromRemoteSpecifics)
|