Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: content/renderer/npapi/webplugin_impl.h

Issue 1662013002: Remove some dead NPAPI code after r363119. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove unused functions Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
11 #include <map> 11 #include <map>
12 #include <string> 12 #include <string>
13 #include <vector> 13 #include <vector>
14 14
15 #include "base/files/file_path.h" 15 #include "base/files/file_path.h"
16 #include "base/macros.h" 16 #include "base/macros.h"
17 #include "base/memory/scoped_ptr.h" 17 #include "base/memory/scoped_ptr.h"
18 #include "base/memory/weak_ptr.h" 18 #include "base/memory/weak_ptr.h"
19 #include "build/build_config.h" 19 #include "build/build_config.h"
20 #include "content/child/npapi/webplugin.h" 20 #include "content/child/npapi/webplugin.h"
21 #include "content/common/content_export.h" 21 #include "content/common/content_export.h"
22 #include "content/common/webplugin_geometry.h" 22 #include "content/common/webplugin_geometry.h"
23 #include "third_party/WebKit/public/platform/WebRect.h" 23 #include "third_party/WebKit/public/platform/WebRect.h"
24 #include "third_party/WebKit/public/platform/WebString.h" 24 #include "third_party/WebKit/public/platform/WebString.h"
25 #include "third_party/WebKit/public/platform/WebURLLoaderClient.h"
26 #include "third_party/WebKit/public/platform/WebURLRequest.h" 25 #include "third_party/WebKit/public/platform/WebURLRequest.h"
27 #include "third_party/WebKit/public/platform/WebVector.h" 26 #include "third_party/WebKit/public/platform/WebVector.h"
28 #include "third_party/WebKit/public/web/WebPlugin.h" 27 #include "third_party/WebKit/public/web/WebPlugin.h"
29 #include "ui/gfx/native_widget_types.h" 28 #include "ui/gfx/native_widget_types.h"
30 #include "url/gurl.h" 29 #include "url/gurl.h"
31 30
32 namespace cc { 31 namespace cc {
33 class IOSurfaceLayer; 32 class IOSurfaceLayer;
34 } 33 }
35 34
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 void didReceiveResponse(const blink::WebURLResponse& response) override {} 92 void didReceiveResponse(const blink::WebURLResponse& response) override {}
94 void didReceiveData(const char* data, int data_length) override {} 93 void didReceiveData(const char* data, int data_length) override {}
95 void didFinishLoading() override {} 94 void didFinishLoading() override {}
96 void didFailLoading(const blink::WebURLError& error) override {} 95 void didFailLoading(const blink::WebURLError& error) override {}
97 bool isPlaceholder() override; 96 bool isPlaceholder() override;
98 97
99 // WebPlugin implementation: 98 // WebPlugin implementation:
100 void SetWindow(gfx::PluginWindowHandle window) override; 99 void SetWindow(gfx::PluginWindowHandle window) override;
101 void SetAcceptsInputEvents(bool accepts) override; 100 void SetAcceptsInputEvents(bool accepts) override;
102 void WillDestroyWindow(gfx::PluginWindowHandle window) override; 101 void WillDestroyWindow(gfx::PluginWindowHandle window) override;
103 void CancelResource(unsigned long id) override;
104 void Invalidate() override; 102 void Invalidate() override;
105 void InvalidateRect(const gfx::Rect& rect) override; 103 void InvalidateRect(const gfx::Rect& rect) override;
106 NPObject* GetWindowScriptNPObject() override; 104 NPObject* GetWindowScriptNPObject() override;
107 NPObject* GetPluginElement() override; 105 NPObject* GetPluginElement() override;
108 bool FindProxyForUrl(const GURL& url, std::string* proxy_list) override; 106 bool FindProxyForUrl(const GURL& url, std::string* proxy_list) override;
109 void SetCookie(const GURL& url, 107 void SetCookie(const GURL& url,
110 const GURL& first_party_for_cookies, 108 const GURL& first_party_for_cookies,
111 const std::string& cookie) override; 109 const std::string& cookie) override;
112 std::string GetCookies(const GURL& url, 110 std::string GetCookies(const GURL& url,
113 const GURL& first_party_for_cookies) override; 111 const GURL& first_party_for_cookies) override;
114 void CancelDocumentLoad() override; 112 void CancelDocumentLoad() override;
115 void DidStartLoading() override; 113 void DidStartLoading() override;
116 void DidStopLoading() override; 114 void DidStopLoading() override;
117 bool IsOffTheRecord() override; 115 bool IsOffTheRecord() override;
118 void SetDeferResourceLoading(unsigned long resource_id, bool defer) override;
119 void URLRedirectResponse(bool allow, int resource_id) override;
120 #if defined(OS_WIN) 116 #if defined(OS_WIN)
121 void SetWindowlessData(HANDLE pump_messages_event, 117 void SetWindowlessData(HANDLE pump_messages_event,
122 gfx::NativeViewId dummy_activation_window) override {} 118 gfx::NativeViewId dummy_activation_window) override {}
123 void ReparentPluginWindow(HWND window, HWND parent) { } 119 void ReparentPluginWindow(HWND window, HWND parent) { }
124 void ReportExecutableMemory(size_t size) { } 120 void ReportExecutableMemory(size_t size) { }
125 #endif 121 #endif
126 #if defined(OS_MACOSX) 122 #if defined(OS_MACOSX)
127 WebPluginAcceleratedSurface* GetAcceleratedSurface( 123 WebPluginAcceleratedSurface* GetAcceleratedSurface(
128 gfx::GpuPreference gpu_preference) override; 124 gfx::GpuPreference gpu_preference) override;
129 void AcceleratedPluginEnabledRendering() override; 125 void AcceleratedPluginEnabledRendering() override;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 gfx::Rect GetWindowClipRect(const gfx::Rect& rect); 167 gfx::Rect GetWindowClipRect(const gfx::Rect& rect);
172 168
173 // Sets the actual Widget for the plugin. 169 // Sets the actual Widget for the plugin.
174 void SetContainer(blink::WebPluginContainer* container); 170 void SetContainer(blink::WebPluginContainer* container);
175 171
176 // Destroys the plugin instance. 172 // Destroys the plugin instance.
177 // The response_handle_to_ignore parameter if not NULL indicates the 173 // The response_handle_to_ignore parameter if not NULL indicates the
178 // resource handle to be left valid during plugin shutdown. 174 // resource handle to be left valid during plugin shutdown.
179 void TearDownPluginInstance(blink::WebURLLoader* loader_to_ignore); 175 void TearDownPluginInstance(blink::WebURLLoader* loader_to_ignore);
180 176
181 // WebURLLoaderClient implementation. We implement this interface in the
182 // renderer process, and then use the simple WebPluginResourceClient interface
183 // to relay the callbacks to the plugin.
184 void willFollowRedirect(blink::WebURLLoader* loader,
185 blink::WebURLRequest& new_request,
186 const blink::WebURLResponse& response);
187 void didSendData(blink::WebURLLoader* loader,
188 unsigned long long bytes_sent,
189 unsigned long long total_bytes_to_be_sent);
190 void didReceiveResponse(blink::WebURLLoader* loader,
191 const blink::WebURLResponse& response);
192
193 void didReceiveData(blink::WebURLLoader* loader, const char *buffer,
194 int data_length, int encoded_data_length);
195 void didFinishLoading(blink::WebURLLoader* loader,
196 double finishTime);
197 void didFail(blink::WebURLLoader* loader,
198 const blink::WebURLError& error);
199
200 // Helper function to remove the stored information about a resource
201 // request given its index in m_clients.
202 void RemoveClient(size_t i);
203
204 // Helper function to remove the stored information about a resource
205 // request given a handle.
206 void RemoveClient(blink::WebURLLoader* loader);
207
208 // Handles HTTP multipart responses, i.e. responses received with a HTTP
209 // status code of 206.
210 // Returns false if response is not multipart (may be if we requested
211 // single range).
212 bool HandleHttpMultipartResponse(const blink::WebURLResponse& response,
213 WebPluginResourceClient* client);
214
215 // Tears down the existing plugin instance and creates a new plugin instance 177 // Tears down the existing plugin instance and creates a new plugin instance
216 // to handle the response identified by the loader parameter. 178 // to handle the response identified by the loader parameter.
217 bool ReinitializePluginForResponse(blink::WebURLLoader* loader); 179 bool ReinitializePluginForResponse(blink::WebURLLoader* loader);
218 180
219 struct ClientInfo;
220
221 // Helper functions
222 WebPluginResourceClient* GetClientFromLoader(blink::WebURLLoader* loader);
223 ClientInfo* GetClientInfoFromLoader(blink::WebURLLoader* loader);
224 181
225 // Helper function to set the referrer on the request passed in. 182 // Helper function to set the referrer on the request passed in.
226 void SetReferrer(blink::WebURLRequest* request, ReferrerValue referrer_flag); 183 void SetReferrer(blink::WebURLRequest* request, ReferrerValue referrer_flag);
227 184
228 // Check for invalid chars like @, ;, \ before the first / (in path). 185 // Check for invalid chars like @, ;, \ before the first / (in path).
229 bool IsValidUrl(const GURL& url, ReferrerValue referrer_flag); 186 bool IsValidUrl(const GURL& url, ReferrerValue referrer_flag);
230 187
231 std::vector<ClientInfo> clients_;
232
233 bool windowless_; 188 bool windowless_;
234 gfx::PluginWindowHandle window_; 189 gfx::PluginWindowHandle window_;
235 #if defined(OS_MACOSX) 190 #if defined(OS_MACOSX)
236 bool next_io_surface_allocated_; 191 bool next_io_surface_allocated_;
237 int32_t next_io_surface_width_; 192 int32_t next_io_surface_width_;
238 int32_t next_io_surface_height_; 193 int32_t next_io_surface_height_;
239 uint32_t next_io_surface_id_; 194 uint32_t next_io_surface_id_;
240 scoped_refptr<cc::IOSurfaceLayer> io_surface_layer_; 195 scoped_refptr<cc::IOSurfaceLayer> io_surface_layer_;
241 scoped_ptr<blink::WebLayer> web_layer_; 196 scoped_ptr<blink::WebLayer> web_layer_;
242 #endif 197 #endif
243 bool accepts_input_events_; 198 bool accepts_input_events_;
244 RenderFrameImpl* render_frame_; 199 RenderFrameImpl* render_frame_;
245 base::WeakPtr<RenderViewImpl> render_view_; 200 base::WeakPtr<RenderViewImpl> render_view_;
246 blink::WebFrame* webframe_; 201 blink::WebFrame* webframe_;
247 202
248 WebPluginDelegateProxy* delegate_; 203 WebPluginDelegateProxy* delegate_;
249 204
250 // This is just a weak reference. 205 // This is just a weak reference.
251 blink::WebPluginContainer* container_; 206 blink::WebPluginContainer* container_;
252 207
253 // Unique identifier for this plugin, used to track script objects. 208 // Unique identifier for this plugin, used to track script objects.
254 struct _NPP* npp_; 209 struct _NPP* npp_;
255 210
256 typedef std::map<WebPluginResourceClient*, MultipartResponseDelegate*>
257 MultiPartResponseHandlerMap;
258 // Tracks HTTP multipart response handlers instantiated for
259 // a WebPluginResourceClient instance.
260 MultiPartResponseHandlerMap multi_part_response_map_;
261
262 // The plugin source URL. 211 // The plugin source URL.
263 GURL plugin_url_; 212 GURL plugin_url_;
264 213
265 // Indicates if the download would be initiated by the plugin or us. 214 // Indicates if the download would be initiated by the plugin or us.
266 bool load_manually_; 215 bool load_manually_;
267 216
268 // Indicates if this is the first geometry update received by the plugin. 217 // Indicates if this is the first geometry update received by the plugin.
269 bool first_geometry_update_; 218 bool first_geometry_update_;
270 219
271 // Set to true if the next response error should be ignored. 220 // Set to true if the next response error should be ignored.
272 bool ignore_response_error_; 221 bool ignore_response_error_;
273 222
274 // The current plugin geometry and clip rectangle. 223 // The current plugin geometry and clip rectangle.
275 WebPluginGeometry geometry_; 224 WebPluginGeometry geometry_;
276 225
277 // The location of the plugin on disk. 226 // The location of the plugin on disk.
278 base::FilePath file_path_; 227 base::FilePath file_path_;
279 228
280 // The mime type of the plugin. 229 // The mime type of the plugin.
281 std::string mime_type_; 230 std::string mime_type_;
282 231
283 // Holds the list of argument names and values passed to the plugin. We keep 232 // Holds the list of argument names and values passed to the plugin. We keep
284 // these so that we can re-initialize the plugin if we need to. 233 // these so that we can re-initialize the plugin if we need to.
285 std::vector<std::string> arg_names_; 234 std::vector<std::string> arg_names_;
286 std::vector<std::string> arg_values_; 235 std::vector<std::string> arg_values_;
287 236
288 class LoaderClient : public blink::WebURLLoaderClient {
289 public:
290 LoaderClient(WebPluginImpl*);
291
292 void willFollowRedirect(blink::WebURLLoader*,
293 blink::WebURLRequest&,
294 const blink::WebURLResponse&) override;
295 void didSendData(blink::WebURLLoader*,
296 unsigned long long bytesSent,
297 unsigned long long totalBytesToBeSent) override;
298 void didReceiveResponse(blink::WebURLLoader*,
299 const blink::WebURLResponse&) override;
300 void didDownloadData(blink::WebURLLoader*,
301 int dataLength,
302 int encodedDataLength) override;
303 void didReceiveData(blink::WebURLLoader*,
304 const char* data,
305 int dataLength,
306 int encodedDataLength) override;
307 void didReceiveCachedMetadata(blink::WebURLLoader*,
308 const char* data,
309 int dataLength) override;
310 void didFinishLoading(blink::WebURLLoader*,
311 double finishTime,
312 int64_t total_encoded_data_length) override;
313 void didFail(blink::WebURLLoader*, const blink::WebURLError&) override;
314
315 private:
316 WebPluginImpl* parent_;
317 };
318
319 LoaderClient loader_client_;
320
321 DISALLOW_COPY_AND_ASSIGN(WebPluginImpl); 237 DISALLOW_COPY_AND_ASSIGN(WebPluginImpl);
322 }; 238 };
323 239
324 } // namespace content 240 } // namespace content
325 241
326 #endif // CONTENT_RENDERER_NPAPI_WEBPLUGIN_IMPL_H_ 242 #endif // CONTENT_RENDERER_NPAPI_WEBPLUGIN_IMPL_H_
OLDNEW
« no previous file with comments | « content/renderer/npapi/webplugin_delegate_proxy.cc ('k') | content/renderer/npapi/webplugin_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698