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_BROWSER_PPAPI_PLUGIN_PROCESS_HOST_H_ | 5 #ifndef CONTENT_BROWSER_PPAPI_PLUGIN_PROCESS_HOST_H_ |
6 #define CONTENT_BROWSER_PPAPI_PLUGIN_PROCESS_HOST_H_ | 6 #define CONTENT_BROWSER_PPAPI_PLUGIN_PROCESS_HOST_H_ |
7 | 7 |
8 #include <string> | |
9 #include <queue> | 8 #include <queue> |
| 9 #include <vector> |
10 | 10 |
11 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
12 #include "base/file_path.h" | 12 #include "base/file_path.h" |
13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
15 #include "base/process.h" | 15 #include "base/process.h" |
| 16 #include "base/string16.h" |
16 #include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h" | 17 #include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h" |
17 #include "content/browser/renderer_host/pepper/pepper_message_filter.h" | 18 #include "content/browser/renderer_host/pepper/pepper_message_filter.h" |
18 #include "content/public/browser/browser_child_process_host_delegate.h" | 19 #include "content/public/browser/browser_child_process_host_delegate.h" |
19 #include "content/public/browser/browser_child_process_host_iterator.h" | 20 #include "content/public/browser/browser_child_process_host_iterator.h" |
20 #include "ipc/ipc_sender.h" | 21 #include "ipc/ipc_sender.h" |
21 #include "ppapi/shared_impl/ppapi_permissions.h" | 22 #include "ppapi/shared_impl/ppapi_permissions.h" |
22 | 23 |
23 namespace net { | 24 namespace net { |
24 class HostResolver; | 25 class HostResolver; |
25 } | 26 } |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 // the plugin. | 88 // the plugin. |
88 static void DidCreateOutOfProcessInstance( | 89 static void DidCreateOutOfProcessInstance( |
89 int plugin_process_id, | 90 int plugin_process_id, |
90 int32 pp_instance, | 91 int32 pp_instance, |
91 const PepperRendererInstanceData& instance_data); | 92 const PepperRendererInstanceData& instance_data); |
92 | 93 |
93 // The opposite of DIdCreate... above. | 94 // The opposite of DIdCreate... above. |
94 static void DidDeleteOutOfProcessInstance(int plugin_process_id, | 95 static void DidDeleteOutOfProcessInstance(int plugin_process_id, |
95 int32 pp_instance); | 96 int32 pp_instance); |
96 | 97 |
| 98 // Returns the instances that match the specified process name. |
| 99 // It can only be called on the IO thread. |
| 100 static void FindByName(const string16& name, |
| 101 std::vector<PpapiPluginProcessHost*>* hosts); |
| 102 |
97 // IPC::Sender implementation: | 103 // IPC::Sender implementation: |
98 virtual bool Send(IPC::Message* message) OVERRIDE; | 104 virtual bool Send(IPC::Message* message) OVERRIDE; |
99 | 105 |
100 // Opens a new channel to the plugin. The client will be notified when the | 106 // Opens a new channel to the plugin. The client will be notified when the |
101 // channel is ready or if there's an error. | 107 // channel is ready or if there's an error. |
102 void OpenChannelToPlugin(Client* client); | 108 void OpenChannelToPlugin(Client* client); |
103 | 109 |
104 const FilePath& plugin_path() const { return plugin_path_; } | 110 const FilePath& plugin_path() const { return plugin_path_; } |
105 const FilePath& profile_data_directory() const { | 111 const FilePath& profile_data_directory() const { |
106 return profile_data_directory_; | 112 return profile_data_directory_; |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 public: | 187 public: |
182 PpapiBrokerProcessHostIterator() | 188 PpapiBrokerProcessHostIterator() |
183 : BrowserChildProcessHostTypeIterator< | 189 : BrowserChildProcessHostTypeIterator< |
184 PpapiPluginProcessHost>(PROCESS_TYPE_PPAPI_BROKER) {} | 190 PpapiPluginProcessHost>(PROCESS_TYPE_PPAPI_BROKER) {} |
185 }; | 191 }; |
186 | 192 |
187 } // namespace content | 193 } // namespace content |
188 | 194 |
189 #endif // CONTENT_BROWSER_PPAPI_PLUGIN_PROCESS_HOST_H_ | 195 #endif // CONTENT_BROWSER_PPAPI_PLUGIN_PROCESS_HOST_H_ |
190 | 196 |
OLD | NEW |