| 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_NPAPI_WEBPLUGIN_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_NPAPI_WEBPLUGIN_IMPL_H_ |
| 6 #define CONTENT_RENDERER_NPAPI_WEBPLUGIN_IMPL_H_ | 6 #define CONTENT_RENDERER_NPAPI_WEBPLUGIN_IMPL_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 | 148 |
| 149 enum RoutingStatus { | 149 enum RoutingStatus { |
| 150 ROUTED, | 150 ROUTED, |
| 151 NOT_ROUTED, | 151 NOT_ROUTED, |
| 152 INVALID_URL, | 152 INVALID_URL, |
| 153 GENERAL_FAILURE | 153 GENERAL_FAILURE |
| 154 }; | 154 }; |
| 155 | 155 |
| 156 // Determines the referrer value sent along with outgoing HTTP requests | 156 // Determines the referrer value sent along with outgoing HTTP requests |
| 157 // issued by plugins. | 157 // issued by plugins. |
| 158 enum Referrer { | 158 enum ReferrerValue { |
| 159 PLUGIN_SRC, | 159 PLUGIN_SRC, |
| 160 DOCUMENT_URL, | 160 DOCUMENT_URL, |
| 161 NO_REFERRER | 161 NO_REFERRER |
| 162 }; | 162 }; |
| 163 | 163 |
| 164 // Given a download request, check if we need to route the output to a frame. | 164 // Given a download request, check if we need to route the output to a frame. |
| 165 // Returns ROUTED if the load is done and routed to a frame, NOT_ROUTED or | 165 // Returns ROUTED if the load is done and routed to a frame, NOT_ROUTED or |
| 166 // corresponding error codes otherwise. | 166 // corresponding error codes otherwise. |
| 167 RoutingStatus RouteToFrame(const char* url, | 167 RoutingStatus RouteToFrame(const char* url, |
| 168 bool is_javascript_url, | 168 bool is_javascript_url, |
| 169 bool popups_allowed, | 169 bool popups_allowed, |
| 170 const char* method, | 170 const char* method, |
| 171 const char* target, | 171 const char* target, |
| 172 const char* buf, | 172 const char* buf, |
| 173 unsigned int len, | 173 unsigned int len, |
| 174 int notify_id, | 174 int notify_id, |
| 175 Referrer referrer_flag); | 175 ReferrerValue referrer_flag); |
| 176 | 176 |
| 177 // Returns the next avaiable resource id. Returns 0 if the operation fails. | 177 // Returns the next avaiable resource id. Returns 0 if the operation fails. |
| 178 // It may fail if the page has already been closed. | 178 // It may fail if the page has already been closed. |
| 179 unsigned long GetNextResourceId(); | 179 unsigned long GetNextResourceId(); |
| 180 | 180 |
| 181 // Initiates HTTP GET/POST requests. | 181 // Initiates HTTP GET/POST requests. |
| 182 // Returns true on success. | 182 // Returns true on success. |
| 183 bool InitiateHTTPRequest(unsigned long resource_id, | 183 bool InitiateHTTPRequest(unsigned long resource_id, |
| 184 WebPluginResourceClient* client, | 184 WebPluginResourceClient* client, |
| 185 const GURL& url, | 185 const GURL& url, |
| 186 const char* method, | 186 const char* method, |
| 187 const char* buf, | 187 const char* buf, |
| 188 int len, | 188 int len, |
| 189 const char* range_info, | 189 const char* range_info, |
| 190 Referrer referrer_flag, | 190 ReferrerValue referrer_flag, |
| 191 bool notify_redirects, | 191 bool notify_redirects, |
| 192 bool check_mixed_scripting); | 192 bool check_mixed_scripting); |
| 193 | 193 |
| 194 gfx::Rect GetWindowClipRect(const gfx::Rect& rect); | 194 gfx::Rect GetWindowClipRect(const gfx::Rect& rect); |
| 195 | 195 |
| 196 // Sets the actual Widget for the plugin. | 196 // Sets the actual Widget for the plugin. |
| 197 void SetContainer(blink::WebPluginContainer* container); | 197 void SetContainer(blink::WebPluginContainer* container); |
| 198 | 198 |
| 199 // Destroys the plugin instance. | 199 // Destroys the plugin instance. |
| 200 // The response_handle_to_ignore parameter if not NULL indicates the | 200 // The response_handle_to_ignore parameter if not NULL indicates the |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 bool HandleHttpMultipartResponse(const blink::WebURLResponse& response, | 235 bool HandleHttpMultipartResponse(const blink::WebURLResponse& response, |
| 236 WebPluginResourceClient* client); | 236 WebPluginResourceClient* client); |
| 237 | 237 |
| 238 void HandleURLRequestInternal(const char* url, | 238 void HandleURLRequestInternal(const char* url, |
| 239 const char* method, | 239 const char* method, |
| 240 const char* target, | 240 const char* target, |
| 241 const char* buf, | 241 const char* buf, |
| 242 unsigned int len, | 242 unsigned int len, |
| 243 int notify_id, | 243 int notify_id, |
| 244 bool popups_allowed, | 244 bool popups_allowed, |
| 245 Referrer referrer_flag, | 245 ReferrerValue referrer_flag, |
| 246 bool notify_redirects, | 246 bool notify_redirects, |
| 247 bool check_mixed_scripting); | 247 bool check_mixed_scripting); |
| 248 | 248 |
| 249 // Tears down the existing plugin instance and creates a new plugin instance | 249 // Tears down the existing plugin instance and creates a new plugin instance |
| 250 // to handle the response identified by the loader parameter. | 250 // to handle the response identified by the loader parameter. |
| 251 bool ReinitializePluginForResponse(blink::WebURLLoader* loader); | 251 bool ReinitializePluginForResponse(blink::WebURLLoader* loader); |
| 252 | 252 |
| 253 // Delayed task for downloading the plugin source URL. | 253 // Delayed task for downloading the plugin source URL. |
| 254 void OnDownloadPluginSrcUrl(); | 254 void OnDownloadPluginSrcUrl(); |
| 255 | 255 |
| 256 struct ClientInfo; | 256 struct ClientInfo; |
| 257 | 257 |
| 258 // Helper functions | 258 // Helper functions |
| 259 WebPluginResourceClient* GetClientFromLoader(blink::WebURLLoader* loader); | 259 WebPluginResourceClient* GetClientFromLoader(blink::WebURLLoader* loader); |
| 260 ClientInfo* GetClientInfoFromLoader(blink::WebURLLoader* loader); | 260 ClientInfo* GetClientInfoFromLoader(blink::WebURLLoader* loader); |
| 261 | 261 |
| 262 // Helper function to set the referrer on the request passed in. | 262 // Helper function to set the referrer on the request passed in. |
| 263 void SetReferrer(blink::WebURLRequest* request, Referrer referrer_flag); | 263 void SetReferrer(blink::WebURLRequest* request, ReferrerValue referrer_flag); |
| 264 | 264 |
| 265 // Check for invalid chars like @, ;, \ before the first / (in path). | 265 // Check for invalid chars like @, ;, \ before the first / (in path). |
| 266 bool IsValidUrl(const GURL& url, Referrer referrer_flag); | 266 bool IsValidUrl(const GURL& url, ReferrerValue referrer_flag); |
| 267 | 267 |
| 268 std::vector<ClientInfo> clients_; | 268 std::vector<ClientInfo> clients_; |
| 269 | 269 |
| 270 bool windowless_; | 270 bool windowless_; |
| 271 gfx::PluginWindowHandle window_; | 271 gfx::PluginWindowHandle window_; |
| 272 #if defined(OS_MACOSX) | 272 #if defined(OS_MACOSX) |
| 273 bool next_io_surface_allocated_; | 273 bool next_io_surface_allocated_; |
| 274 int32 next_io_surface_width_; | 274 int32 next_io_surface_width_; |
| 275 int32 next_io_surface_height_; | 275 int32 next_io_surface_height_; |
| 276 uint32 next_io_surface_id_; | 276 uint32 next_io_surface_id_; |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 LoaderClient loader_client_; | 357 LoaderClient loader_client_; |
| 358 | 358 |
| 359 base::WeakPtrFactory<WebPluginImpl> weak_factory_; | 359 base::WeakPtrFactory<WebPluginImpl> weak_factory_; |
| 360 | 360 |
| 361 DISALLOW_COPY_AND_ASSIGN(WebPluginImpl); | 361 DISALLOW_COPY_AND_ASSIGN(WebPluginImpl); |
| 362 }; | 362 }; |
| 363 | 363 |
| 364 } // namespace content | 364 } // namespace content |
| 365 | 365 |
| 366 #endif // CONTENT_RENDERER_NPAPI_WEBPLUGIN_IMPL_H_ | 366 #endif // CONTENT_RENDERER_NPAPI_WEBPLUGIN_IMPL_H_ |
| OLD | NEW |