From 9a0d91236e8557d37498f002254a6a5427ebf842 Mon Sep 17 00:00:00 2001
From: "jam@chromium.org"
 <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Wed, 24 Feb 2010 22:41:59 +0000
Subject: Fix transparent Silverlight plugins.

BUG=36691
Review URL: http://codereview.chromium.org/660007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39943 0039d316-1c4b-4281-b951-d872f2087c98
---
 chrome/renderer/webplugin_delegate_proxy.cc | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/chrome/renderer/webplugin_delegate_proxy.cc b/chrome/renderer/webplugin_delegate_proxy.cc
index a743a3f..4157a1f 100644
--- a/chrome/renderer/webplugin_delegate_proxy.cc
+++ b/chrome/renderer/webplugin_delegate_proxy.cc
@@ -268,9 +268,15 @@ bool WebPluginDelegateProxy::Initialize(const GURL& url,
   params.arg_names = arg_names;
   params.arg_values = arg_values;
   params.host_render_view_routing_id = render_view_->routing_id();
+
+  bool flash =
+      LowerCaseEqualsASCII(mime_type_, "application/x-shockwave-flash");
+  bool silverlight =
+      StartsWithASCII(mime_type_, "application/x-silverlight", false);
   for (size_t i = 0; i < arg_names.size(); ++i) {
-    if (LowerCaseEqualsASCII(arg_names[i], "wmode") &&
-        LowerCaseEqualsASCII(arg_values[i], "transparent")) {
+    if ((flash && LowerCaseEqualsASCII(arg_names[i], "wmode") &&
+        LowerCaseEqualsASCII(arg_values[i], "transparent")) ||
+        (silverlight && LowerCaseEqualsASCII(arg_names[i], "background"))) {
       transparent_ = true;
     }
   }
-- 
cgit v1.1