Index: webkit/plugins/ppapi/message_channel.h |
=================================================================== |
--- webkit/plugins/ppapi/message_channel.h (revision 79289) |
+++ webkit/plugins/ppapi/message_channel.h (working copy) |
@@ -5,6 +5,7 @@ |
#ifndef WEBKIT_PLUGINS_PPAPI_MESSAGE_CHANNEL_H_ |
#define WEBKIT_PLUGINS_PPAPI_MESSAGE_CHANNEL_H_ |
+#include "base/task.h" |
#include "third_party/npapi/bindings/npruntime.h" |
#include "webkit/plugins/ppapi/resource.h" |
@@ -44,7 +45,11 @@ |
explicit MessageChannel(PluginInstance* instance); |
~MessageChannel(); |
+ // Post a message to the onmessage handler for this channel's instance |
+ // asynchronously. |
void PostMessageToJavaScript(PP_Var message_data); |
+ // Post a message to the PPP_Instance HandleMessage function for this |
+ // channel's instance. |
void PostMessageToNative(PP_Var message_data); |
// Return the NPObject* to which we should forward any calls which aren't |
@@ -81,8 +86,22 @@ |
// to a JavaScript target. |
NPVariant onmessage_invoker_; |
+ // A function which evaluates the JavaScript code for onmessage_invoker_ and |
+ // makes onmessage_invoker_ a callable NPVariant for that function. Returns |
+ // true on success, false otherwise. |
bool EvaluateOnMessageInvoker(); |
+ // Post a message to the onmessage handler for this channel's instance |
+ // synchronously. This is used by PostMessageToJavaScript. |
+ void PostMessageToJavaScriptImpl(PP_Var message_data); |
+ // Post a message to the PPP_Instance HandleMessage function for this |
+ // channel's instance. This is used by PostMessageToNative. |
+ void PostMessageToNativeImpl(PP_Var message_data); |
+ |
+ // Hold a ScopedRunnableMethodFactory so that when this MessageChannel is |
+ // destroyed, any pending tasks (a.k.a. messages in the queue) will not fire. |
+ ScopedRunnableMethodFactory<MessageChannel> method_factory_; |
+ |
DISALLOW_COPY_AND_ASSIGN(MessageChannel); |
}; |