| // 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; |
| |
| // 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 UserColorTheme { |
| enum BrowserColorVariant { |
| BROWSER_COLOR_VARIANT_UNSPECIFIED = 0; |
| SYSTEM = 1; |
| TONAL_SPOT = 2; |
| NEUTRAL = 3; |
| VIBRANT = 4; |
| EXPRESSIVE = 5; |
| } |
| optional uint32 color = 1; |
| optional BrowserColorVariant browser_color_variant = 2; |
| } |
| |
| 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; |
| |
| // Custom NTP background info. |
| message NtpCustomBackground { |
| // Background image url. |
| optional string url = 1; |
| // Attribution strings for the image. |
| optional string attribution_line_1 = 2; |
| optional string attribution_line_2 = 3; |
| // Url to learn more info about the image. |
| optional string attribution_action_url = 4; |
| // Id of the collection being used. |
| optional string collection_id = 5; |
| // Token to get the next image from collection and avoid duplicates. |
| optional string resume_token = 6; |
| // Timestamp after which the next image should be fetched from the |
| // collection. |
| optional int64 refresh_timestamp_unix_epoch_seconds = 7; |
| // Main color of the image. |
| optional uint32 main_color = 8; |
| } |
| optional NtpCustomBackground ntp_background = 10; |
| } |