1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4//
5// Sync protocol datatype extension for themes.
6
7// If you change or add any fields in this file, update proto_visitors.h and
8// potentially proto_enum_conversions.{h, cc}.
9
10syntax = "proto2";
11
12option java_multiple_files = true;
13option java_package = "org.chromium.components.sync.protocol";
14
15option optimize_for = LITE_RUNTIME;
16
17package sync_pb;
18
19// Properties of theme sync objects.
20message ThemeSpecifics {
21  // If set, we're using a extension and all custom_* fields should be
22  // present.  If not set, and all custom_* fields should be omitted.
23  optional bool use_custom_theme = 1;
24
25  // This field is only set (i.e., not cleared) on platforms that have
26  // a distinction between the system theme and the default theme, but
27  // other platforms must be careful to pass through the set state (not
28  // just the value) of this flag.
29  //
30  // If true, we use the system theme by default (i.e., when we don't use
31  // a custom theme) for platforms that make a distinction between the
32  // default theme and the system theme.  Has no effect if use_custom_theme
33  // is set.
34  optional bool use_system_theme_by_default = 2;
35
36  // TODO(gayane): Migrate custom_* fields to a separate message.
37  // Extension specific fields. Ignored if |autogenerated_theme| is set.
38  optional string custom_theme_name = 3;
39  optional string custom_theme_id = 4;
40  optional string custom_theme_update_url = 5;
41
42  message AutogeneratedTheme {
43    // SkColor used to autogenerate theme.
44    optional uint32 color = 1;
45  }
46
47  // If set, autogenerated theme is used.
48  optional AutogeneratedTheme autogenerated_theme = 6;
49}
50