blob: 753e6acb8701e8dc2b69978258afafb868540d56 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Sync protocol datatype extension for app notifications.
// If you change or add any fields in this file, update proto_visitors.h and
// potentially proto_enum_conversions.{h, cc}.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package sync_pb;
// Properties of an app notification.
// An App Notification, to be delivered from Chrome Apps to the
// Chrome browser through the Notification API.
message AppNotification {
// Globally unique id. This is more robust for uniquely identifying each
// notification and hence gives us flexibility in the future. In absence
// of this, unique id would be (app_id, creation_timestamp_ms). But that
// relies on creation_timestamp_ms being high resolution and is not
// globally unique - only unique for a given user.
optional string guid = 1;
// Metadata, not shown directly to the user.
// The unique App Id, as created by the webstore and used to
// delegate messages to the applications. This is defined as 32 characters
optional string app_id = 2;
// Timestamp when the message was created in milliseconds.
// This is seperate from ctime as this is only set by the application.
optional int64 creation_timestamp_ms = 3;
// Payload - these fields are visible to the user content is defined by the
// app. The fields are described in:
// chrome/browser/extensions/app_notification.h
optional string title = 4;
optional string body_text = 5;
optional string link_url = 6;
optional string link_text = 7;
}