| 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 #ifndef CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ | 5 #ifndef CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ |
| 6 #define CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ | 6 #define CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ |
| 7 | 7 |
| 8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
| 9 | 9 |
| 10 #include <set> | 10 #include <set> |
| 11 #include <queue> |
| 11 #include <vector> | 12 #include <vector> |
| 12 | 13 |
| 13 #include "base/basictypes.h" | 14 #include "base/basictypes.h" |
| 14 #include "base/gfx/native_widget_types.h" | 15 #include "base/gfx/native_widget_types.h" |
| 15 #include "base/scoped_ptr.h" | 16 #include "base/scoped_ptr.h" |
| 16 #include "base/task.h" | 17 #include "base/task.h" |
| 17 #include "chrome/browser/net/resolve_proxy_msg_helper.h" | 18 #include "chrome/browser/net/resolve_proxy_msg_helper.h" |
| 18 #include "chrome/browser/renderer_host/resource_message_filter.h" | 19 #include "chrome/browser/renderer_host/resource_message_filter.h" |
| 19 #include "chrome/common/child_process_host.h" | 20 #include "chrome/common/child_process_host.h" |
| 20 #include "webkit/glue/webplugin.h" | 21 #include "webkit/glue/webplugin.h" |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 | 88 |
| 88 private: | 89 private: |
| 89 friend class PluginResolveProxyHelper; | 90 friend class PluginResolveProxyHelper; |
| 90 | 91 |
| 91 // Sends a message to the plugin process to request creation of a new channel | 92 // Sends a message to the plugin process to request creation of a new channel |
| 92 // for the given mime type. | 93 // for the given mime type. |
| 93 void RequestPluginChannel(ResourceMessageFilter* renderer_message_filter, | 94 void RequestPluginChannel(ResourceMessageFilter* renderer_message_filter, |
| 94 const std::string& mime_type, | 95 const std::string& mime_type, |
| 95 IPC::Message* reply_msg); | 96 IPC::Message* reply_msg); |
| 96 // Message handlers. | 97 // Message handlers. |
| 97 void OnChannelCreated(int process_id, const std::wstring& channel_name); | 98 void OnChannelCreated(const std::wstring& channel_name); |
| 98 void OnDownloadUrl(const std::string& url, int source_pid, | 99 void OnDownloadUrl(const std::string& url, int source_pid, |
| 99 gfx::NativeWindow caller_window); | 100 gfx::NativeWindow caller_window); |
| 100 void OnGetPluginFinderUrl(std::string* plugin_finder_url); | 101 void OnGetPluginFinderUrl(std::string* plugin_finder_url); |
| 101 void OnRequestResource(const IPC::Message& message, | 102 void OnRequestResource(const IPC::Message& message, |
| 102 int request_id, | 103 int request_id, |
| 103 const ViewHostMsg_Resource_Request& request); | 104 const ViewHostMsg_Resource_Request& request); |
| 104 void OnCancelRequest(int request_id); | 105 void OnCancelRequest(int request_id); |
| 105 void OnDataReceivedACK(int request_id); | 106 void OnDataReceivedACK(int request_id); |
| 106 void OnUploadProgressACK(int request_id); | 107 void OnUploadProgressACK(int request_id); |
| 107 void OnSyncLoad(int request_id, | 108 void OnSyncLoad(int request_id, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 127 IPC::Message* reply_msg; | 128 IPC::Message* reply_msg; |
| 128 scoped_refptr<ResourceMessageFilter> renderer_message_filter_; | 129 scoped_refptr<ResourceMessageFilter> renderer_message_filter_; |
| 129 }; | 130 }; |
| 130 | 131 |
| 131 // These are channel requests that we are waiting to send to the | 132 // These are channel requests that we are waiting to send to the |
| 132 // plugin process once the channel is opened. | 133 // plugin process once the channel is opened. |
| 133 std::vector<ChannelRequest> pending_requests_; | 134 std::vector<ChannelRequest> pending_requests_; |
| 134 | 135 |
| 135 // These are the channel requests that we have already sent to | 136 // These are the channel requests that we have already sent to |
| 136 // the plugin process, but haven't heard back about yet. | 137 // the plugin process, but haven't heard back about yet. |
| 137 std::vector<ChannelRequest> sent_requests_; | 138 std::queue<ChannelRequest> sent_requests_; |
| 138 | 139 |
| 139 // Information about the plugin. | 140 // Information about the plugin. |
| 140 WebPluginInfo info_; | 141 WebPluginInfo info_; |
| 141 | 142 |
| 142 // Helper class for handling PluginProcessHost_ResolveProxy messages (manages | 143 // Helper class for handling PluginProcessHost_ResolveProxy messages (manages |
| 143 // the requests to the proxy service). | 144 // the requests to the proxy service). |
| 144 ResolveProxyMsgHelper resolve_proxy_msg_helper_; | 145 ResolveProxyMsgHelper resolve_proxy_msg_helper_; |
| 145 | 146 |
| 146 #if defined(OS_WIN) | 147 #if defined(OS_WIN) |
| 147 // Tracks plugin parent windows created on the UI thread. | 148 // Tracks plugin parent windows created on the UI thread. |
| 148 std::set<HWND> plugin_parent_windows_set_; | 149 std::set<HWND> plugin_parent_windows_set_; |
| 149 #endif | 150 #endif |
| 150 | 151 |
| 151 DISALLOW_EVIL_CONSTRUCTORS(PluginProcessHost); | 152 DISALLOW_EVIL_CONSTRUCTORS(PluginProcessHost); |
| 152 }; | 153 }; |
| 153 | 154 |
| 154 #endif // CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ | 155 #endif // CHROME_BROWSER_PLUGIN_PROCESS_HOST_H_ |
| OLD | NEW |