Roll src/third_party/WebKit 9b9eaa4:bacacfe (svn 190852:190857)
[chromium-blink-merge.git] / sync / protocol / app_notification_specifics.proto
blob58436c7ad004380eaccdaf2b3e2d65f7c4b9efe2
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 app notifications.
7 // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change
8 // any fields in this file.
10 syntax = "proto2";
12 option optimize_for = LITE_RUNTIME;
13 option retain_unknown_fields = true;
15 package sync_pb;
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;