| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CONTENT_RENDERER_PEPPER_MESSAGE_CHANNEL_H_ | 5 #ifndef CONTENT_RENDERER_PEPPER_MESSAGE_CHANNEL_H_ |
| 6 #define CONTENT_RENDERER_PEPPER_MESSAGE_CHANNEL_H_ | 6 #define CONTENT_RENDERER_PEPPER_MESSAGE_CHANNEL_H_ |
| 7 | 7 |
| 8 #include <deque> | 8 #include <deque> |
| 9 #include <list> | 9 #include <list> |
| 10 #include <map> | 10 #include <map> |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 explicit MessageChannel(PepperPluginInstanceImpl* instance); | 53 explicit MessageChannel(PepperPluginInstanceImpl* instance); |
| 54 ~MessageChannel(); | 54 ~MessageChannel(); |
| 55 | 55 |
| 56 // Post a message to the onmessage handler for this channel's instance | 56 // Post a message to the onmessage handler for this channel's instance |
| 57 // asynchronously. | 57 // asynchronously. |
| 58 void PostMessageToJavaScript(PP_Var message_data); | 58 void PostMessageToJavaScript(PP_Var message_data); |
| 59 | 59 |
| 60 // Post a message to the plugin's HandleMessage function for this channel's | 60 // Post a message to the plugin's HandleMessage function for this channel's |
| 61 // instance. | 61 // instance. |
| 62 void PostMessageToNative(const NPVariant* message_data); | 62 void PostMessageToNative(const NPVariant* message_data); |
| 63 // Post a message to the plugin's HandleBlocking Message function for this |
| 64 // channel's instance synchronously, and return a result. |
| 65 void PostBlockingMessageToNative(const NPVariant* message_data, |
| 66 NPVariant* np_result); |
| 63 | 67 |
| 64 // Return the NPObject* to which we should forward any calls which aren't | 68 // Return the NPObject* to which we should forward any calls which aren't |
| 65 // related to postMessage. Note that this can be NULL; it only gets set if | 69 // related to postMessage. Note that this can be NULL; it only gets set if |
| 66 // there is a scriptable 'InstanceObject' associated with this channel's | 70 // there is a scriptable 'InstanceObject' associated with this channel's |
| 67 // instance. | 71 // instance. |
| 68 NPObject* passthrough_object() { return passthrough_object_; } | 72 NPObject* passthrough_object() { return passthrough_object_; } |
| 69 void SetPassthroughObject(NPObject* passthrough); | 73 void SetPassthroughObject(NPObject* passthrough); |
| 70 | 74 |
| 71 NPObject* np_object() { return np_object_; } | 75 NPObject* np_object() { return np_object_; } |
| 72 | 76 |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 // This is used to ensure pending tasks will not fire after this object is | 139 // This is used to ensure pending tasks will not fire after this object is |
| 136 // destroyed. | 140 // destroyed. |
| 137 base::WeakPtrFactory<MessageChannel> weak_ptr_factory_; | 141 base::WeakPtrFactory<MessageChannel> weak_ptr_factory_; |
| 138 | 142 |
| 139 DISALLOW_COPY_AND_ASSIGN(MessageChannel); | 143 DISALLOW_COPY_AND_ASSIGN(MessageChannel); |
| 140 }; | 144 }; |
| 141 | 145 |
| 142 } // namespace content | 146 } // namespace content |
| 143 | 147 |
| 144 #endif // CONTENT_RENDERER_PEPPER_MESSAGE_CHANNEL_H_ | 148 #endif // CONTENT_RENDERER_PEPPER_MESSAGE_CHANNEL_H_ |
| OLD | NEW |