summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins/webplugin.h
diff options
context:
space:
mode:
authorstuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-01 18:04:06 +0000
committerstuartmorgan@chromium.org <stuartmorgan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-01 18:04:06 +0000
commit8b4755fa086ef5d41e6a6ed40a38ac45390b9511 (patch)
tree555a11c1fdaee95ebfb29cdfb9a7a2a7cce9a3c1 /webkit/glue/plugins/webplugin.h
parent56bf1b7944f2c7b2a620b0e1476086b7e60f0da6 (diff)
downloadchromium_src-8b4755fa086ef5d41e6a6ed40a38ac45390b9511.zip
chromium_src-8b4755fa086ef5d41e6a6ed40a38ac45390b9511.tar.gz
chromium_src-8b4755fa086ef5d41e6a6ed40a38ac45390b9511.tar.bz2
Enable the invalidating Core Animation plugin drawing model on 10.5
This also adds a layer of abstraction between the concept of the accelerated surface, and our cross-process implementation (which is something we needed to fix in general, but was necessary here to avoid bleeding TransportDIB references into code that's not supposed to know about process separation). There's no in-process implementation since we don't support in-process plugins on the Mac, but the abstraction is now there if we want to add one in the future. BUG=32012 TEST=Plugins using invalidating Core Animation model should run on 10.5 Review URL: http://codereview.chromium.org/3449023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61199 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/plugins/webplugin.h')
-rw-r--r--webkit/glue/plugins/webplugin.h17
1 files changed, 6 insertions, 11 deletions
diff --git a/webkit/glue/plugins/webplugin.h b/webkit/glue/plugins/webplugin.h
index 19c6cb0..1a14d545 100644
--- a/webkit/glue/plugins/webplugin.h
+++ b/webkit/glue/plugins/webplugin.h
@@ -29,6 +29,9 @@ namespace webkit_glue {
class WebPluginDelegate;
class WebPluginParentView;
class WebPluginResourceClient;
+#if defined(OS_MACOSX)
+class WebPluginAcceleratedSurface;
+#endif
// Describes the new location for a plugin window.
struct WebPluginGeometry {
@@ -151,19 +154,11 @@ class WebPlugin {
// of plug-in content. The browser generates the handle which is then set on
// the plug-in. |opaque| indicates whether the content should be treated as
// opaque or translucent.
+ // TODO(stuartmorgan): Move this into WebPluginProxy.
virtual void BindFakePluginWindowHandle(bool opaque) {}
- // Tell the browser (via the renderer) to invalidate because the
- // accelerated buffers have changed.
- virtual void AcceleratedFrameBuffersDidSwap(gfx::PluginWindowHandle window) {}
-
- // Tell the renderer and browser to associate the given plugin handle with
- // |accelerated_surface_identifier|. The geometry is used to resize any
- // native "window" (which on the Mac is a CALayer).
- virtual void SetAcceleratedSurface(gfx::PluginWindowHandle window,
- int32 width,
- int32 height,
- uint64 accelerated_surface_identifier) {}
+ // Returns the accelerated surface abstraction for accelerated plugins.
+ virtual WebPluginAcceleratedSurface* GetAcceleratedSurface() { return NULL; }
#endif
// Gets the WebPluginDelegate that implements the interface.