summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/webplugin_delegate_proxy.h
diff options
context:
space:
mode:
authoramanda@chromium.org <amanda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-11 01:57:28 +0000
committeramanda@chromium.org <amanda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-11 01:57:28 +0000
commit6bf1a81cdfcc48f20cf53c2601f4456f2d9d30ef (patch)
tree7bedf19228a20b83189ab96e617e72210991c7c4 /chrome/renderer/webplugin_delegate_proxy.h
parent7e05f6c4baad4f81e06835b83febe2784568ebe1 (diff)
downloadchromium_src-6bf1a81cdfcc48f20cf53c2601f4456f2d9d30ef.zip
chromium_src-6bf1a81cdfcc48f20cf53c2601f4456f2d9d30ef.tar.gz
chromium_src-6bf1a81cdfcc48f20cf53c2601f4456f2d9d30ef.tar.bz2
Wire up windowless plugins. Mostly Mac related, some cross
platform aspects. BUG=10809 TEST=none Review URL: http://codereview.chromium.org/113637 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20453 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/webplugin_delegate_proxy.h')
-rw-r--r--chrome/renderer/webplugin_delegate_proxy.h21
1 files changed, 9 insertions, 12 deletions
diff --git a/chrome/renderer/webplugin_delegate_proxy.h b/chrome/renderer/webplugin_delegate_proxy.h
index f7b91e8..a772384 100644
--- a/chrome/renderer/webplugin_delegate_proxy.h
+++ b/chrome/renderer/webplugin_delegate_proxy.h
@@ -13,6 +13,7 @@
#include "base/gfx/native_widget_types.h"
#include "base/ref_counted.h"
#include "chrome/common/ipc_message.h"
+#include "chrome/common/transport_dib.h"
#include "chrome/renderer/plugin_channel_host.h"
#include "googleurl/src/gurl.h"
#include "skia/ext/platform_canvas.h"
@@ -146,14 +147,10 @@ class WebPluginDelegateProxy : public WebPluginDelegate,
// Draw a graphic indicating a crashed plugin.
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
+ // Returns true if the given rectangle is different in the native drawing
+ // context and the current background bitmap.
+ bool BackgroundChanged(gfx::NativeDrawingContext context,
+ const gfx::Rect& rect);
// Copies the given rectangle from the transport bitmap to the backing store.
void CopyFromTransportToBacking(const gfx::Rect& rect);
@@ -162,7 +159,7 @@ class WebPluginDelegateProxy : public WebPluginDelegate,
void ResetWindowlessBitmaps();
// Creates a shared memory section and canvas.
- bool CreateBitmap(scoped_ptr<base::SharedMemory>* memory,
+ bool CreateBitmap(scoped_ptr<TransportDIB>* memory,
scoped_ptr<skia::PlatformCanvas>* canvas);
RenderView* render_view_;
@@ -195,11 +192,11 @@ class WebPluginDelegateProxy : public WebPluginDelegate,
// store when we get an invalidate from it. The background bitmap is used
// for transparent plugins, as they need the backgroud data during painting.
bool transparent_;
- scoped_ptr<base::SharedMemory> backing_store_;
+ scoped_ptr<TransportDIB> backing_store_;
scoped_ptr<skia::PlatformCanvas> backing_store_canvas_;
- scoped_ptr<base::SharedMemory> transport_store_;
+ scoped_ptr<TransportDIB> transport_store_;
scoped_ptr<skia::PlatformCanvas> transport_store_canvas_;
- scoped_ptr<base::SharedMemory> background_store_;
+ scoped_ptr<TransportDIB> background_store_;
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_;