summaryrefslogtreecommitdiffstats
path: root/chrome/plugin/webplugin_proxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/plugin/webplugin_proxy.h')
-rw-r--r--chrome/plugin/webplugin_proxy.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/chrome/plugin/webplugin_proxy.h b/chrome/plugin/webplugin_proxy.h
index 103be5c..a55a3da2 100644
--- a/chrome/plugin/webplugin_proxy.h
+++ b/chrome/plugin/webplugin_proxy.h
@@ -9,6 +9,9 @@
#include "base/hash_tables.h"
#include "base/ref_counted.h"
+#if defined(OS_MACOSX)
+#include "base/scoped_cftyperef.h"
+#endif
#include "base/scoped_handle.h"
#include "base/scoped_ptr.h"
#include "base/shared_memory.h"
@@ -104,8 +107,8 @@ class WebPluginProxy : public WebPlugin {
void UpdateGeometry(const gfx::Rect& window_rect,
const gfx::Rect& clip_rect,
- const TransportDIB::Id& windowless_buffer,
- const TransportDIB::Id& background_buffer);
+ const TransportDIB::Handle& windowless_buffer,
+ const TransportDIB::Handle& background_buffer);
void CancelDocumentLoad();
@@ -129,22 +132,22 @@ class WebPluginProxy : public WebPlugin {
// Handler for sending over the paint event to the plugin.
void OnPaint(const gfx::Rect& damaged_rect);
-#if defined(OS_WIN)
// Updates the shared memory section where windowless plugins paint.
- void SetWindowlessBuffer(const base::SharedMemoryHandle& windowless_buffer,
- const base::SharedMemoryHandle& background_buffer);
+ void SetWindowlessBuffer(const TransportDIB::Handle& windowless_buffer,
+ const TransportDIB::Handle& background_buffer);
+#if defined(OS_WIN)
// Converts a shared memory section handle from the renderer process into a
// bitmap and hdc that are mapped to this process.
void ConvertBuffer(const base::SharedMemoryHandle& buffer,
ScopedHandle* shared_section,
ScopedBitmap* bitmap,
ScopedHDC* hdc);
+#endif
// Called when a plugin's origin moves, so that we can update the world
// transform of the local HDC.
void UpdateTransform();
-#endif
typedef base::hash_map<int, WebPluginResourceClient*> ResourceClientMap;
ResourceClientMap resource_clients_;
@@ -174,6 +177,11 @@ class WebPluginProxy : public WebPlugin {
ScopedHandle background_shared_section_;
ScopedBitmap background_bitmap_;
ScopedHDC background_hdc_;
+#elif defined(OS_MACOSX)
+ scoped_ptr<TransportDIB> windowless_dib_;
+ scoped_ptr<TransportDIB> background_dib_;
+ scoped_cftyperef<CGContextRef> windowless_context_;
+ scoped_cftyperef<CGContextRef> background_context_;
#endif
ScopedRunnableMethodFactory<WebPluginProxy> runnable_method_factory_;