diff options
author | kbr@google.com <kbr@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-15 00:58:03 +0000 |
---|---|---|
committer | kbr@google.com <kbr@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-15 00:58:03 +0000 |
commit | ea04a4e187e030cbc340710285e574f66cc563ac (patch) | |
tree | 1331efa8aed5b5cfdbf384c6a5bee6d3885b10b2 /webkit/glue | |
parent | 47e119f0e2aa67b9129fee70cad09e32cb8bd7de (diff) | |
download | chromium_src-ea04a4e187e030cbc340710285e574f66cc563ac.zip chromium_src-ea04a4e187e030cbc340710285e574f66cc563ac.tar.gz chromium_src-ea04a4e187e030cbc340710285e574f66cc563ac.tar.bz2 |
Made Pepper 3D plugins' output opaque on Mac OS X by filling the
plugin region's alpha channel with 1.0 and then overwriting just the
color channels. Core Animation plugins, though they currently always
overlay HTML output, remain translucent.
BUG=41424
TEST=ran Pepper 3D sample and verified its background is opaque
Review URL: http://codereview.chromium.org/1547034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44594 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/plugins/webplugin.h | 5 | ||||
-rw-r--r-- | webkit/glue/plugins/webplugin_delegate_impl_mac.mm | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/webkit/glue/plugins/webplugin.h b/webkit/glue/plugins/webplugin.h index cde5fce..1813842 100644 --- a/webkit/glue/plugins/webplugin.h +++ b/webkit/glue/plugins/webplugin.h @@ -148,8 +148,9 @@ class WebPlugin { // Synthesize a fake window handle for the plug-in to identify the instance // to the browser, allowing mapping to a surface for hardware accelleration // of plug-in content. The browser generates the handle which is then set on - // the plug-in. - virtual void BindFakePluginWindowHandle() {} + // the plug-in. |opaque| indicates whether the content should be treated as + // opaque or translucent. + virtual void BindFakePluginWindowHandle(bool opaque) {} // Tell the browser (via the renderer) to invalidate because the // accelerated buffers have changed. diff --git a/webkit/glue/plugins/webplugin_delegate_impl_mac.mm b/webkit/glue/plugins/webplugin_delegate_impl_mac.mm index a2ee61d..13ef782 100644 --- a/webkit/glue/plugins/webplugin_delegate_impl_mac.mm +++ b/webkit/glue/plugins/webplugin_delegate_impl_mac.mm @@ -294,7 +294,7 @@ bool WebPluginDelegateImpl::PlatformInitialize() { reinterpret_cast<void*>(&layer)); if (!err) { layer_ = layer; - plugin_->BindFakePluginWindowHandle(); + plugin_->BindFakePluginWindowHandle(false); surface_ = new AcceleratedSurface; surface_->Initialize(NULL, true); renderer_ = [[CARenderer rendererWithCGLContext:surface_->context() |