| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // 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 apps. |
| |
| // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change |
| // any fields in this file. |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| option retain_unknown_fields = true; |
| |
| package sync_pb; |
| |
| import "extension_specifics.proto"; |
| |
| // Settings related to push notifications for apps. |
| message AppNotificationSettings { |
| // DEPRECATED: Use oauth_client_id below. |
| // Whether or not the user has setup notifications at least once. |
| // The value for this field will start out false and will be set |
| // to true when the user accepts receiving notifications for the |
| // first time and then it will always remain true. |
| optional bool initial_setup_done = 1; |
| |
| // Whether or not the user has disabled notifications. |
| optional bool disabled = 2; |
| |
| // OAuth2 client id to which the user granted the notification permission. |
| // This field will start out empty. |
| // It will be set when the user accepts receiving notifications. |
| // This field is used when the user revokes the notifications permission. |
| // Note that it is never cleared after it was set once. Hence, the presence |
| // of this field can be used to determine if the user has setup notifications |
| // at least once for the given app. |
| optional string oauth_client_id = 3; |
| } |
| |
| // Properties of app sync objects. |
| // |
| // For now, an app is just an extension. We keep the two data types |
| // separate for future-proofing purposes. |
| message AppSpecifics { |
| // Extension data. |
| optional ExtensionSpecifics extension = 1; |
| |
| // Notification settings. |
| optional AppNotificationSettings notification_settings = 2; |
| |
| // This controls where on a page this application icon will appear. |
| optional string app_launch_ordinal = 3; |
| |
| // This specifics which page the application icon will appear on in the NTP. |
| // This values only provide the order within the application pages, not within |
| // all of the panels in the NTP. |
| optional string page_ordinal = 4; |
| |
| // The possible launch types for an app. |
| // This enum should be kept in sync with extensions::LaunchType. |
| enum LaunchType { |
| PINNED = 0; |
| REGULAR = 1; |
| FULLSCREEN = 2; |
| WINDOW = 3; |
| } |
| |
| // This describes how the extension should be launched. |
| optional LaunchType launch_type = 5; |
| |
| // This is the url of a bookmark app. If this exists, the app is a bookmark |
| // app. |
| optional string bookmark_app_url = 6; |
| |
| // This is the description of a bookmark app. |
| optional string bookmark_app_description = 7; |
| |
| // This is the color to use when generating bookmark app icons. The string is |
| // in #rrggbb or #rgb syntax, e.g. #d8d8d8. |
| optional string bookmark_app_icon_color = 8; |
| } |