| // Copyright 2012 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 themes. | |
| // 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/theme_types.proto"; | |
| // Properties of theme sync objects. | |
| message ThemeSpecifics { | |
| // Set iff a theme extension exists, in which case, all custom_ fields should | |
| // be present. This is false for all other theme types (for example, | |
| // autogenerated or user color theme). If not set, all custom_* fields | |
| // should be omitted. | |
| optional bool use_custom_theme = 1; | |
| // This field is only relevant on platforms that have a distinction between | |
| // the system theme and the default theme, but other platforms must be careful | |
| // to pass through the value of this flag. | |
| // | |
| // If true, we use the system theme by default (i.e., when we don't use a | |
| // custom theme) for platforms that make a distinction between the default | |
| // theme and the system theme. Has no effect if use_custom_theme is true. | |
| optional bool use_system_theme_by_default = 2; | |
| // Extension specific fields. Ignored unless `use_custom_theme` is true. | |
| optional string custom_theme_name = 3; | |
| optional string custom_theme_id = 4; | |
| optional string custom_theme_update_url = 5; | |
| message AutogeneratedColorTheme { | |
| // SkColor used to autogenerate theme. | |
| optional uint32 color = 1; | |
| } | |
| message Empty {} | |
| // The browser-built color theme can be either be autogenerated, | |
| // user-selected, or grayscale. | |
| oneof color { | |
| AutogeneratedColorTheme autogenerated_color_theme = 6; | |
| UserColorTheme user_color_theme = 7; | |
| Empty grayscale_theme_enabled = 8; | |
| } | |
| enum BrowserColorScheme { | |
| BROWSER_COLOR_SCHEME_UNSPECIFIED = 0; | |
| SYSTEM = 1; | |
| LIGHT = 2; | |
| DARK = 3; | |
| } | |
| optional BrowserColorScheme browser_color_scheme = 9; | |
| optional NtpCustomBackground ntp_background = 10; | |
| } |