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 apps. 6 7 // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change 8 // any fields in this file. 9 10 syntax = "proto2"; 11 12 option optimize_for = LITE_RUNTIME; 13 option retain_unknown_fields = true; 14 15 package sync_pb; 16 17 import "extension_specifics.proto"; 18 19 // Settings related to push notifications for apps. 20 message AppNotificationSettings { 21 // DEPRECATED: Use oauth_client_id below. 22 // Whether or not the user has setup notifications at least once. 23 // The value for this field will start out false and will be set 24 // to true when the user accepts receiving notifications for the 25 // first time and then it will always remain true. 26 optional bool initial_setup_done = 1; 27 28 // Whether or not the user has disabled notifications. 29 optional bool disabled = 2; 30 31 // OAuth2 client id to which the user granted the notification permission. 32 // This field will start out empty. 33 // It will be set when the user accepts receiving notifications. 34 // This field is used when the user revokes the notifications permission. 35 // Note that it is never cleared after it was set once. Hence, the presence 36 // of this field can be used to determine if the user has setup notifications 37 // at least once for the given app. 38 optional string oauth_client_id = 3; 39 } 40 41 // Properties of app sync objects. 42 // 43 // For now, an app is just an extension. We keep the two data types 44 // separate for future-proofing purposes. 45 message AppSpecifics { 46 // Extension data. 47 optional ExtensionSpecifics extension = 1; 48 49 // Notification settings. 50 optional AppNotificationSettings notification_settings = 2; 51 52 // This controls where on a page this application icon will appear. 53 optional string app_launch_ordinal = 3; 54 55 // This specifics which page the application icon will appear on in the NTP. 56 // This values only provide the order within the application pages, not within 57 // all of the panels in the NTP. 58 optional string page_ordinal = 4; 59 } 60 61