summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/webplugin_delegate_proxy.cc
diff options
context:
space:
mode:
authorkbr@google.com <kbr@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-15 00:58:03 +0000
committerkbr@google.com <kbr@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-15 00:58:03 +0000
commitea04a4e187e030cbc340710285e574f66cc563ac (patch)
tree1331efa8aed5b5cfdbf384c6a5bee6d3885b10b2 /chrome/renderer/webplugin_delegate_proxy.cc
parent47e119f0e2aa67b9129fee70cad09e32cb8bd7de (diff)
downloadchromium_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 'chrome/renderer/webplugin_delegate_proxy.cc')
-rw-r--r--chrome/renderer/webplugin_delegate_proxy.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/chrome/renderer/webplugin_delegate_proxy.cc b/chrome/renderer/webplugin_delegate_proxy.cc
index 59843ad..ef2f3f9 100644
--- a/chrome/renderer/webplugin_delegate_proxy.cc
+++ b/chrome/renderer/webplugin_delegate_proxy.cc
@@ -1336,8 +1336,8 @@ WebPluginDelegateProxy::CreateSeekableResourceClient(
}
#if defined(OS_MACOSX)
-void WebPluginDelegateProxy::OnBindFakePluginWindowHandle() {
- BindFakePluginWindowHandle();
+void WebPluginDelegateProxy::OnBindFakePluginWindowHandle(bool opaque) {
+ BindFakePluginWindowHandle(opaque);
}
// Synthesize a fake window handle for the plug-in to identify the instance
@@ -1345,10 +1345,10 @@ void WebPluginDelegateProxy::OnBindFakePluginWindowHandle() {
// of plug-in content. The browser generates the handle which is then set on
// the plug-in. Returns true if it successfully sets the window handle on the
// plug-in.
-bool WebPluginDelegateProxy::BindFakePluginWindowHandle() {
+bool WebPluginDelegateProxy::BindFakePluginWindowHandle(bool opaque) {
gfx::PluginWindowHandle fake_window = NULL;
if (render_view_)
- fake_window = render_view_->AllocateFakePluginWindowHandle();
+ fake_window = render_view_->AllocateFakePluginWindowHandle(opaque);
// If we aren't running on 10.6, this allocation will fail.
if (!fake_window)
return false;
@@ -1382,7 +1382,7 @@ bool WebPluginDelegateProxy::BindFakePluginWindowHandle() {
CommandBufferProxy* WebPluginDelegateProxy::CreateCommandBuffer() {
#if defined(ENABLE_GPU)
#if defined(OS_MACOSX)
- if (!BindFakePluginWindowHandle())
+ if (!BindFakePluginWindowHandle(true))
return NULL;
#endif
int command_buffer_id;