Index: chrome/renderer/webplugin_delegate_proxy.h |
diff --git a/chrome/renderer/webplugin_delegate_proxy.h b/chrome/renderer/webplugin_delegate_proxy.h |
index 8af9733ee261456e5ca0fd5b19e766267e6f087f..99bd1e12ecd698c9654977ca1926547b2c3ec92a 100644 |
--- a/chrome/renderer/webplugin_delegate_proxy.h |
+++ b/chrome/renderer/webplugin_delegate_proxy.h |
@@ -12,6 +12,7 @@ |
#include "base/ref_counted.h" |
#include "chrome/common/ipc_message.h" |
#include "chrome/renderer/plugin_channel_host.h" |
+#include "skia/ext/platform_canvas.h" |
#include "webkit/glue/webplugin.h" |
#include "webkit/glue/webplugin_delegate.h" |
@@ -27,10 +28,6 @@ class SharedMemory; |
class WaitableEvent; |
} |
-namespace skia { |
-class PlatformCanvasWin; |
-} |
- |
// An implementation of WebPluginDelegate that proxies all calls to |
// the plugin process. |
class WebPluginDelegateProxy : public WebPluginDelegate, |
@@ -57,8 +54,8 @@ class WebPluginDelegateProxy : public WebPluginDelegate, |
WebPlugin* plugin, bool load_manually); |
virtual void UpdateGeometry(const gfx::Rect& window_rect, |
const gfx::Rect& clip_rect); |
- virtual void Paint(HDC hdc, const gfx::Rect& rect); |
- virtual void Print(HDC hdc); |
+ virtual void Paint(gfx::NativeDrawingContext context, const gfx::Rect& rect); |
+ virtual void Print(gfx::NativeDrawingContext context); |
virtual NPObject* GetPluginScriptableObject(); |
virtual void DidFinishLoadWithReason(NPReason reason); |
virtual void SetFocus(); |
@@ -138,11 +135,16 @@ class WebPluginDelegateProxy : public WebPluginDelegate, |
intptr_t notify_data); |
// Draw a graphic indicating a crashed plugin. |
- void PaintSadPlugin(HDC hdc, const gfx::Rect& rect); |
+ void PaintSadPlugin(gfx::NativeDrawingContext context, const gfx::Rect& rect); |
+#if defined(OS_WIN) |
// Returns true if the given rectangle is different in the hdc and the |
// current background bitmap. |
bool BackgroundChanged(HDC hdc, const gfx::Rect& rect); |
+#else |
+ // TODO(port): this should be portable; just avoiding windowless plugins for |
+ // now. |
+#endif |
// Copies the given rectangle from the transport bitmap to the backing store. |
void CopyFromTransportToBacking(const gfx::Rect& rect); |
@@ -152,7 +154,7 @@ class WebPluginDelegateProxy : public WebPluginDelegate, |
// Creates a shared memory section and canvas. |
bool CreateBitmap(scoped_ptr<base::SharedMemory>* memory, |
- scoped_ptr<skia::PlatformCanvasWin>* canvas); |
+ scoped_ptr<skia::PlatformCanvas>* canvas); |
RenderView* render_view_; |
WebPlugin* plugin_; |
@@ -187,11 +189,11 @@ class WebPluginDelegateProxy : public WebPluginDelegate, |
// for transparent plugins, as they need the backgroud data during painting. |
bool transparent_; |
scoped_ptr<base::SharedMemory> backing_store_; |
- scoped_ptr<skia::PlatformCanvasWin> backing_store_canvas_; |
+ scoped_ptr<skia::PlatformCanvas> backing_store_canvas_; |
scoped_ptr<base::SharedMemory> transport_store_; |
- scoped_ptr<skia::PlatformCanvasWin> transport_store_canvas_; |
+ scoped_ptr<skia::PlatformCanvas> transport_store_canvas_; |
scoped_ptr<base::SharedMemory> background_store_; |
- scoped_ptr<skia::PlatformCanvasWin> background_store_canvas_; |
+ scoped_ptr<skia::PlatformCanvas> background_store_canvas_; |
// This lets us know which portion of the backing store has been painted into. |
gfx::Rect backing_store_painted_; |