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.
5 // Sync protocol datatype extension for app notifications.
7 // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change
8 // any fields in this file.
12 option optimize_for = LITE_RUNTIME;
13 option retain_unknown_fields = true;
17 // Properties of an app notification.
19 // An App Notification, to be delivered from Chrome Apps to the
20 // Chrome browser through the Notification API.
21 message AppNotification {
22 // Globally unique id. This is more robust for uniquely identifying each
23 // notification and hence gives us flexibility in the future. In absence
24 // of this, unique id would be (app_id, creation_timestamp_ms). But that
25 // relies on creation_timestamp_ms being high resolution and is not
26 // globally unique - only unique for a given user.
27 optional string guid = 1;
28 // Metadata, not shown directly to the user.
29 // The unique App Id, as created by the webstore and used to
30 // delegate messages to the applications. This is defined as 32 characters
31 optional string app_id = 2;
32 // Timestamp when the message was created in milliseconds.
33 // This is seperate from ctime as this is only set by the application.
34 optional int64 creation_timestamp_ms = 3;
36 // Payload - these fields are visible to the user content is defined by the
37 // app. The fields are described in:
38 // chrome/browser/extensions/app_notification.h
39 optional string title = 4;
40 optional string body_text = 5;
41 optional string link_url = 6;
42 optional string link_text = 7;