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. 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 17// Properties of an app notification. 18 19// An App Notification, to be delivered from Chrome Apps to the 20// Chrome browser through the Notification API. 21message 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; 35 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; 43} 44 45