• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
10syntax = "proto2";
11
12option optimize_for = LITE_RUNTIME;
13option retain_unknown_fields = true;
14
15package sync_pb;
16
17import "extension_specifics.proto";
18
19// Settings related to push notifications for apps.
20message 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.
45message 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  // The possible launch types for an app.
61  // This enum should be kept in sync with extensions::LaunchType.
62  enum LaunchType {
63    PINNED = 0;
64    REGULAR = 1;
65    FULLSCREEN = 2;
66    WINDOW = 3;
67  }
68
69  // This describes how the extension should be launched.
70  optional LaunchType launch_type = 5;
71
72  // This is the url of a bookmark app. If this exists, the app is a bookmark
73  // app.
74  optional string bookmark_app_url = 6;
75
76  // This is the description of a bookmark app.
77  optional string bookmark_app_description = 7;
78}
79