| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 PPAPI_PROXY_HOST_DISPATCHER_H_ | 5 #ifndef PPAPI_PROXY_HOST_DISPATCHER_H_ |
| 6 #define PPAPI_PROXY_HOST_DISPATCHER_H_ | 6 #define PPAPI_PROXY_HOST_DISPATCHER_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
| 13 #include "base/process.h" | 13 #include "base/process.h" |
| 14 #include "ppapi/c/pp_instance.h" | 14 #include "ppapi/c/pp_instance.h" |
| 15 #include "ppapi/proxy/dispatcher.h" | 15 #include "ppapi/proxy/dispatcher.h" |
| 16 #include "ppapi/proxy/plugin_var_tracker.h" | 16 #include "ppapi/proxy/plugin_var_tracker.h" |
| 17 #include "ppapi/shared_impl/function_group_base.h" |
| 17 | 18 |
| 18 struct PPB_Proxy_Private; | 19 struct PPB_Proxy_Private; |
| 19 struct PPB_Var_Deprecated; | 20 struct PPB_Var_Deprecated; |
| 20 | 21 |
| 21 namespace base { | 22 namespace base { |
| 22 class WaitableEvent; | 23 class WaitableEvent; |
| 23 } | 24 } |
| 24 | 25 |
| 25 namespace IPC { | 26 namespace IPC { |
| 26 class SyncChannel; | 27 class SyncChannel; |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 INTERFACE_UNQUERIED = 0, // Must be 0 so memset(0) will clear the list. | 109 INTERFACE_UNQUERIED = 0, // Must be 0 so memset(0) will clear the list. |
| 109 INTERFACE_SUPPORTED, | 110 INTERFACE_SUPPORTED, |
| 110 INTERFACE_UNSUPPORTED | 111 INTERFACE_UNSUPPORTED |
| 111 }; | 112 }; |
| 112 PluginInterfaceSupport plugin_interface_support_[INTERFACE_ID_COUNT]; | 113 PluginInterfaceSupport plugin_interface_support_[INTERFACE_ID_COUNT]; |
| 113 | 114 |
| 114 // All target proxies currently created. These are ones that receive | 115 // All target proxies currently created. These are ones that receive |
| 115 // messages. They are created on demand when we receive messages. | 116 // messages. They are created on demand when we receive messages. |
| 116 scoped_ptr<InterfaceProxy> target_proxies_[INTERFACE_ID_COUNT]; | 117 scoped_ptr<InterfaceProxy> target_proxies_[INTERFACE_ID_COUNT]; |
| 117 | 118 |
| 119 // Function proxies created for "new-style" FunctionGroups. |
| 120 // TODO(brettw) this is in progress. It should be merged with the target |
| 121 // proxies so there is one list to consult. |
| 122 scoped_ptr< ::ppapi::shared_impl::FunctionGroupBase > |
| 123 function_proxies_[INTERFACE_ID_COUNT]; |
| 124 |
| 118 // Guaranteed non-NULL. | 125 // Guaranteed non-NULL. |
| 119 const PPB_Proxy_Private* ppb_proxy_; | 126 const PPB_Proxy_Private* ppb_proxy_; |
| 120 | 127 |
| 121 // Set to true when the plugin is in a state that it can be reentered by a | 128 // Set to true when the plugin is in a state that it can be reentered by a |
| 122 // sync message from the host. We allow reentrancy only when we're processing | 129 // sync message from the host. We allow reentrancy only when we're processing |
| 123 // a sync message from the renderer that is a scripting command. When the | 130 // a sync message from the renderer that is a scripting command. When the |
| 124 // plugin is in this state, it needs to accept reentrancy since scripting may | 131 // plugin is in this state, it needs to accept reentrancy since scripting may |
| 125 // ultimately call back into the plugin. | 132 // ultimately call back into the plugin. |
| 126 bool allow_plugin_reentrancy_; | 133 bool allow_plugin_reentrancy_; |
| 127 | 134 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 142 private: | 149 private: |
| 143 HostDispatcher* dispatcher_; | 150 HostDispatcher* dispatcher_; |
| 144 | 151 |
| 145 DISALLOW_COPY_AND_ASSIGN(ScopedModuleReference); | 152 DISALLOW_COPY_AND_ASSIGN(ScopedModuleReference); |
| 146 }; | 153 }; |
| 147 | 154 |
| 148 } // namespace proxy | 155 } // namespace proxy |
| 149 } // namespace pp | 156 } // namespace pp |
| 150 | 157 |
| 151 #endif // PPAPI_PROXY_HOST_DISPATCHER_H_ | 158 #endif // PPAPI_PROXY_HOST_DISPATCHER_H_ |
| OLD | NEW |