| Index: ppapi/api/ppp_message_handler.idl
|
| diff --git a/ppapi/api/ppp_message_handler.idl b/ppapi/api/ppp_message_handler.idl
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d08afcf9f067cfbf0bb80644671cadbc3eea0a1d
|
| --- /dev/null
|
| +++ b/ppapi/api/ppp_message_handler.idl
|
| @@ -0,0 +1,70 @@
|
| +/* Copyright 2014 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.
|
| + */
|
| +
|
| +/**
|
| + * This file defines the <code>PPP_MessageHandler</code> interface that plugins
|
| + * can implement and register using PPB_Messaging::RegisterMessageHandler in
|
| + * order to handle messages sent from JavaScript via postMessage() or
|
| + * postMessageAndAwaitResponse().
|
| + */
|
| +
|
| +label Chrome {
|
| + [channel=none] M37 = 0.1
|
| +};
|
| +
|
| +/**
|
| + * The <code>PPP_MessageHandler</code> interface is implemented by the plugin
|
| + * if the plugin wants to receive messages from a thread other than the main
|
| + * Pepper thread, or if the plugin wants to handle blocking messages which
|
| + * JavaScript may send via postMessageAndAwaitResponse().
|
| + *
|
| + * This interface struct should not be returned by PPP_GetInterface; instead it
|
| + * must be passed as a parameter to PPB_Messaging::RegisterMessageHandler.
|
| + */
|
| +[no_interface_string]
|
| +interface PPP_MessageHandler {
|
| + /**
|
| + * Invoked as a result of JavaScript invoking postMessage() on the plugin's
|
| + * DOM element.
|
| + *
|
| + * @param[in] instance A <code>PP_Instance</code> identifying one instance
|
| + * of a module.
|
| + * @param[in] user_data is the same pointer which was provided by a call to
|
| + * RegisterMessageHandler.
|
| + * @param[in] message A copy of the parameter that JavaScript provided to
|
| + * postMessage().
|
| + */
|
| + void HandleMessage([in] PP_Instance instance,
|
| + [in] mem_t user_data,
|
| + [in] PP_Var message);
|
| + /**
|
| + * Invoked as a result of JavaScript invoking postMessageAndAwaitResponse()
|
| + * on the plugin's DOM element.
|
| + *
|
| + * @param[in] instance A <code>PP_Instance</code> identifying one instance
|
| + * of a module.
|
| + * @param[in] user_data is the same pointer which was provided by a call to
|
| + * RegisterMessageHandler.
|
| + * @param[in] message is a copy of the parameter that JavaScript provided
|
| + * to postMessageAndAwaitResponse.
|
| + * @return will be copied to a JavaScript object which is returned as
|
| + * the result of postMessageAndAwaitResponse to the invoking JavaScript.
|
| + */
|
| + PP_Var HandleBlockingMessage([in] PP_Instance instance,
|
| + [inout] mem_t user_data,
|
| + [in] PP_Var message);
|
| + /**
|
| + * Invoked when the handler object is no longer needed. After this, no more
|
| + * calls will be made which pass this same value for <code>instance</code>
|
| + * and <code>user_data</code>.
|
| + *
|
| + * @param[in] instance A <code>PP_Instance</code> identifying one instance
|
| + * of a module.
|
| + * @param[in] user_data is the same pointer which was provided by a call to
|
| + * RegisterMessageHandler.
|
| + */
|
| + void Destroy([in] PP_Instance instance, [inout] mem_t user_data);
|
| +};
|
| +
|
|
|