Native Client

PPB_Messaging Struct Reference

The PPB_Messaging interface is implemented by the browser and is related to sending messages to JavaScript message event listeners on the DOM element associated with specific module instance. More...


Detailed Description

The PPB_Messaging interface is implemented by the browser and is related to sending messages to JavaScript message event listeners on the DOM element associated with specific module instance.

Data Fields List

void(* PostMessage )(PP_Instance instance, struct PP_Var message)

Data Fields Details

void(* PPB_Messaging::PostMessage)(PP_Instance instance, struct PP_Var message)

PostMessage() asynchronously invokes any listeners for message events on the DOM element for the given module instance.

A call to PostMessage() will not block while the message is processed.

Parameters:
[in]instanceA PP_Instance identifying one instance of a module.
[in]messageA PP_Var containing the data to be sent to JavaScript. Message can have a numeric, boolean, or string value; arrays and dictionaries are not yet supported. Ref-counted var types are copied, and are therefore not shared between the module instance and the browser.

Listeners for message events in JavaScript code will receive an object conforming to the HTML 5 MessageEvent interface. Specifically, the value of message will be contained as a property called data in the received MessageEvent.

This messaging system is similar to the system used for listening for messages from Web Workers. Refer to http://www.whatwg.org/specs/web-workers/current-work/ for further information.

Example:

 <body>
   <object id="plugin"
           type="application/x-ppapi-postMessage-example"/>
   <script type="text/javascript">
     var plugin = document.getElementById('plugin');
     plugin.addEventListener("message",
                             function(message) { alert(message.data); },
                             false);
   </script>
 </body>

The module instance then invokes PostMessage() as follows:

  char hello_world[] = "Hello world!";
  PP_Var hello_var = ppb_var_interface->VarFromUtf8(instance,
                                                    hello_world,
                                                    sizeof(hello_world));
  ppb_messaging_interface->PostMessage(instance, hello_var); // Copies var.
  ppb_var_interface->Release(hello_var);

The browser will pop-up an alert saying "Hello world!"


The documentation for this struct was generated from the following file:

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.