blob: 0f6917542248db1a813fd7b91b7a668a333b924d [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.
// Use <code>chrome.pushMessaging</code> to enable apps and extensions to
// receive message data sent through
// <a href="cloudMessaging.html">Google Cloud Messaging</a>.
namespace pushMessaging {
dictionary Message {
// The subchannel the message was sent on;
// only values 0-3 are valid.
long subchannelId;
// The payload associated with the message, if any. This should not contain
// any personally identifiable information.
DOMString payload;
};
dictionary ChannelIdResult {
// The channel ID for this app to use for push messaging.
DOMString channelId;
};
callback ChannelIdCallback = void (ChannelIdResult channelId);
interface Functions {
// Retrieves the channel ID associated with this app or extension.
// Typically an app or extension will want to send this value
// to its application server so the server can use it
// to trigger push messages back to the app or extension.
// If the interactive flag is set, we will ask the user to log in
// when they are not already logged in.
static void getChannelId(optional boolean interactive,
ChannelIdCallback callback);
};
interface Events {
// Fired when a push message has been received.
// |message| : The details associated with the message.
static void onMessage(Message message);
};
};