| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 // This class responds to requests from renderers for the list of plugins, and | 5 // This class responds to requests from renderers for the list of plugins, and |
| 6 // also a proxy object for plugin instances. | 6 // also a proxy object for plugin instances. |
| 7 | 7 |
| 8 #ifndef CHROME_BROWSER_PLUGIN_SERVICE_H_ | 8 #ifndef CHROME_BROWSER_PLUGIN_SERVICE_H_ |
| 9 #define CHROME_BROWSER_PLUGIN_SERVICE_H_ | 9 #define CHROME_BROWSER_PLUGIN_SERVICE_H_ |
| 10 | 10 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 | 58 |
| 59 // Returns the plugin process host corresponding to the plugin process that | 59 // Returns the plugin process host corresponding to the plugin process that |
| 60 // has been started by this service. Returns NULL if no process has been | 60 // has been started by this service. Returns NULL if no process has been |
| 61 // started. | 61 // started. |
| 62 PluginProcessHost* FindPluginProcess(const FilePath& plugin_path); | 62 PluginProcessHost* FindPluginProcess(const FilePath& plugin_path); |
| 63 | 63 |
| 64 // Returns the plugin process host corresponding to the plugin process that | 64 // Returns the plugin process host corresponding to the plugin process that |
| 65 // has been started by this service. This will start a process to host the | 65 // has been started by this service. This will start a process to host the |
| 66 // 'plugin_path' if needed. If the process fails to start, the return value | 66 // 'plugin_path' if needed. If the process fails to start, the return value |
| 67 // is NULL. Must be called on the IO thread. | 67 // is NULL. Must be called on the IO thread. |
| 68 PluginProcessHost* FindOrStartPluginProcess(const FilePath& plugin_path, | 68 PluginProcessHost* FindOrStartPluginProcess(const FilePath& plugin_path); |
| 69 const std::string& clsid); | |
| 70 | 69 |
| 71 // Opens a channel to a plugin process for the given mime type, starting | 70 // Opens a channel to a plugin process for the given mime type, starting |
| 72 // a new plugin process if necessary. This must be called on the IO thread | 71 // a new plugin process if necessary. This must be called on the IO thread |
| 73 // or else a deadlock can occur. | 72 // or else a deadlock can occur. |
| 74 void OpenChannelToPlugin(ResourceMessageFilter* renderer_msg_filter, | 73 void OpenChannelToPlugin(ResourceMessageFilter* renderer_msg_filter, |
| 75 const GURL& url, | 74 const GURL& url, |
| 76 const std::string& mime_type, | 75 const std::string& mime_type, |
| 77 const std::string& clsid, | |
| 78 const std::wstring& locale, | 76 const std::wstring& locale, |
| 79 IPC::Message* reply_msg); | 77 IPC::Message* reply_msg); |
| 80 | 78 |
| 81 // Get the path to the plugin specified. policy_url is the URL of the page | 79 // Get the path to the plugin specified. policy_url is the URL of the page |
| 82 // requesting the plugin, so we can verify whether the plugin is allowed | 80 // requesting the plugin, so we can verify whether the plugin is allowed |
| 83 // on that page. | 81 // on that page. |
| 84 FilePath GetPluginPath(const GURL& url, | 82 FilePath GetPluginPath(const GURL& url, |
| 85 const GURL& policy_url, | 83 const GURL& policy_url, |
| 86 const std::string& mime_type, | 84 const std::string& mime_type, |
| 87 const std::string& clsid, | |
| 88 std::string* actual_mime_type); | 85 std::string* actual_mime_type); |
| 89 | 86 |
| 90 // The UI thread's message loop | 87 // The UI thread's message loop |
| 91 MessageLoop* main_message_loop() { return main_message_loop_; } | 88 MessageLoop* main_message_loop() { return main_message_loop_; } |
| 92 | 89 |
| 93 ResourceDispatcherHost* resource_dispatcher_host() const { | 90 ResourceDispatcherHost* resource_dispatcher_host() const { |
| 94 return resource_dispatcher_host_; | 91 return resource_dispatcher_host_; |
| 95 } | 92 } |
| 96 | 93 |
| 97 private: | 94 private: |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 scoped_ptr<base::WaitableEvent> hkcu_event_; | 140 scoped_ptr<base::WaitableEvent> hkcu_event_; |
| 144 scoped_ptr<base::WaitableEvent> hklm_event_; | 141 scoped_ptr<base::WaitableEvent> hklm_event_; |
| 145 base::WaitableEventWatcher hkcu_watcher_; | 142 base::WaitableEventWatcher hkcu_watcher_; |
| 146 base::WaitableEventWatcher hklm_watcher_; | 143 base::WaitableEventWatcher hklm_watcher_; |
| 147 #endif | 144 #endif |
| 148 | 145 |
| 149 DISALLOW_COPY_AND_ASSIGN(PluginService); | 146 DISALLOW_COPY_AND_ASSIGN(PluginService); |
| 150 }; | 147 }; |
| 151 | 148 |
| 152 #endif // CHROME_BROWSER_PLUGIN_SERVICE_H_ | 149 #endif // CHROME_BROWSER_PLUGIN_SERVICE_H_ |
| OLD | NEW |