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

Side by Side Diff: webkit/plugins/ppapi/plugin_delegate.h

Issue 11053003: Migrate Graphics2D to new design. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 2 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 WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_ 5 #ifndef WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_
6 #define WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_ 6 #define WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 namespace thunk { 67 namespace thunk {
68 class ResourceCreationAPI; 68 class ResourceCreationAPI;
69 } 69 }
70 70
71 } // namespace ppapi 71 } // namespace ppapi
72 72
73 namespace skia { 73 namespace skia {
74 class PlatformCanvas; 74 class PlatformCanvas;
75 } 75 }
76 76
77 class SkCanvas;
78
77 namespace WebKit { 79 namespace WebKit {
80 typedef SkCanvas WebCanvas;
78 class WebGamepads; 81 class WebGamepads;
79 class WebPlugin; 82 class WebPlugin;
80 struct WebCompositionUnderline; 83 struct WebCompositionUnderline;
81 struct WebCursorInfo; 84 struct WebCursorInfo;
82 } 85 }
83 86
84 namespace webkit_glue { 87 namespace webkit_glue {
85 class ClipboardClient; 88 class ClipboardClient;
86 class P2PTransport; 89 class P2PTransport;
87 class NetworkListObserver; 90 class NetworkListObserver;
88 } // namespace webkit_glue 91 } // namespace webkit_glue
89 92
90 namespace webkit { 93 namespace webkit {
91 namespace ppapi { 94 namespace ppapi {
92 95
93 class FileIO; 96 class FileIO;
94 class FullscreenContainer; 97 class FullscreenContainer;
95 class PluginInstance; 98 class PluginInstance;
96 class PluginModule; 99 class PluginModule;
97 class PPB_Broker_Impl; 100 class PPB_Broker_Impl;
98 class PPB_Flash_Menu_Impl; 101 class PPB_Flash_Menu_Impl;
102 class PPB_ImageData_Impl;
99 class PPB_TCPSocket_Private_Impl; 103 class PPB_TCPSocket_Private_Impl;
100 class PPB_UDPSocket_Private_Impl; 104 class PPB_UDPSocket_Private_Impl;
101 105
102 // Virtual interface that the browser implements to implement features for 106 // Virtual interface that the browser implements to implement features for
103 // PPAPI plugins. 107 // PPAPI plugins.
104 class PluginDelegate { 108 class PluginDelegate {
105 public: 109 public:
106 // This interface is used for the PluginModule to tell the code in charge of 110 // This interface is used for the PluginModule to tell the code in charge of
107 // re-using modules which modules currently exist. 111 // re-using modules which modules currently exist.
108 // 112 //
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 168
165 // Returns the platform-specific shared memory handle of the data backing 169 // Returns the platform-specific shared memory handle of the data backing
166 // this image. This is used by PPAPI proxying to send the image to the 170 // this image. This is used by PPAPI proxying to send the image to the
167 // out-of-process plugin. On success, the size in bytes will be placed into 171 // out-of-process plugin. On success, the size in bytes will be placed into
168 // |*bytes_count|. Returns 0 on failure. 172 // |*bytes_count|. Returns 0 on failure.
169 virtual intptr_t GetSharedMemoryHandle(uint32* byte_count) const = 0; 173 virtual intptr_t GetSharedMemoryHandle(uint32* byte_count) const = 0;
170 174
171 virtual TransportDIB* GetTransportDIB() const = 0; 175 virtual TransportDIB* GetTransportDIB() const = 0;
172 }; 176 };
173 177
178 class PlatformGraphics2D {
179 public:
180 virtual bool ReadImageData(PP_Resource image, const PP_Point* top_left) = 0;
181
182 // Assciates this device with the given plugin instance. You can pass NULL
183 // to clear the existing device. Returns true on success. In this case, a
184 // repaint of the page will also be scheduled. Failure means that the device
185 // is already bound to a different instance, and nothing will happen.
186 virtual bool BindToInstance(PluginInstance* new_instance) = 0;
187
188 // Paints the current backing store to the web page.
189 virtual void Paint(WebKit::WebCanvas* canvas,
190 const gfx::Rect& plugin_rect,
191 const gfx::Rect& paint_rect) = 0;
192
193 // Notifications about the view's progress painting. See PluginInstance.
194 // These messages are used to send Flush callbacks to the plugin.
195 virtual void ViewWillInitiatePaint() = 0;
196 virtual void ViewInitiatedPaint() = 0;
197 virtual void ViewFlushedPaint() = 0;
198
199 virtual bool is_always_opaque() const = 0;
brettw 2012/10/02 21:18:57 Since these are virtual functions, they should alw
victorhsieh 2012/10/02 22:15:03 Done.
200 virtual float GetScale() const = 0;
201 virtual PPB_ImageData_Impl* image_data() = 0;
202 };
203
174 class PlatformContext3D { 204 class PlatformContext3D {
175 public: 205 public:
176 virtual ~PlatformContext3D() {} 206 virtual ~PlatformContext3D() {}
177 207
178 // Initialize the context. 208 // Initialize the context.
179 virtual bool Init(const int32* attrib_list, 209 virtual bool Init(const int32* attrib_list,
180 PlatformContext3D* share_context) = 0; 210 PlatformContext3D* share_context) = 0;
181 211
182 // If the plugin instance is backed by an OpenGL, return its ID in the 212 // If the plugin instance is backed by an OpenGL, return its ID in the
183 // compositors namespace. Otherwise return 0. Returns 0 by default. 213 // compositors namespace. Otherwise return 0. Returns 0 by default.
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 virtual SkBitmap* GetSadPluginBitmap() = 0; 385 virtual SkBitmap* GetSadPluginBitmap() = 0;
356 386
357 // Creates a replacement plug-in that is shown when the plug-in at |file_path| 387 // Creates a replacement plug-in that is shown when the plug-in at |file_path|
358 // couldn't be loaded. 388 // couldn't be loaded.
359 virtual WebKit::WebPlugin* CreatePluginReplacement( 389 virtual WebKit::WebPlugin* CreatePluginReplacement(
360 const FilePath& file_path) = 0; 390 const FilePath& file_path) = 0;
361 391
362 // The caller will own the pointer returned from this. 392 // The caller will own the pointer returned from this.
363 virtual PlatformImage2D* CreateImage2D(int width, int height) = 0; 393 virtual PlatformImage2D* CreateImage2D(int width, int height) = 0;
364 394
365 // The caller will own the pointer returned from this. 395 // The caller will own the pointer returned from this.
brettw 2012/10/02 21:18:57 I don't think this comment is correct. It looks li
victorhsieh 2012/10/02 22:15:03 Done.
396 virtual PlatformGraphics2D* CreateGraphics2D(PluginInstance* instance,
397 PP_Resource graphics_2d) = 0;
398
399 // The caller will own the pointer returned from this.
366 virtual PlatformContext3D* CreateContext3D() = 0; 400 virtual PlatformContext3D* CreateContext3D() = 0;
367 401
368 // Set that the context will now present to the delegate. 402 // Set that the context will now present to the delegate.
369 virtual void ReparentContext(PlatformContext3D*) = 0; 403 virtual void ReparentContext(PlatformContext3D*) = 0;
370 404
371 // If |device_id| is empty, the default video capture device will be used. The 405 // If |device_id| is empty, the default video capture device will be used. The
372 // user can start using the returned object to capture video right away. 406 // user can start using the returned object to capture video right away.
373 // Otherwise, the specified device will be used. The user needs to wait till 407 // Otherwise, the specified device will be used. The user needs to wait till
374 // |handler| gets an OnInitialized() notification to start using the returned 408 // |handler| gets an OnInitialized() notification to start using the returned
375 // object. 409 // object.
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 // Returns restrictions on local data handled by the plug-in. 709 // Returns restrictions on local data handled by the plug-in.
676 virtual PP_FlashLSORestrictions GetLocalDataRestrictions( 710 virtual PP_FlashLSORestrictions GetLocalDataRestrictions(
677 const GURL& document_url, 711 const GURL& document_url,
678 const GURL& plugin_url) = 0; 712 const GURL& plugin_url) = 0;
679 }; 713 };
680 714
681 } // namespace ppapi 715 } // namespace ppapi
682 } // namespace webkit 716 } // namespace webkit
683 717
684 #endif // WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_ 718 #endif // WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698