From 092c4e4a9fcb40971556771f7f0555898b6979e2 Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Tue, 10 May 2011 15:55:18 +0000 Subject: [PATCH] Force Flash and Silverlight plugins to use opaque (windowless) mode when rendering off-screen (issue #214). git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@230 5089003a-bbd8-11dd-ad1f-f1f9622dbc98 --- libcef/browser_webview_delegate.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libcef/browser_webview_delegate.cc b/libcef/browser_webview_delegate.cc index 8889a3e1c..18c465870 100644 --- a/libcef/browser_webview_delegate.cc +++ b/libcef/browser_webview_delegate.cc @@ -564,7 +564,7 @@ WebPlugin* BrowserWebViewDelegate::createPlugin( "application/x-silverlight", false); if (flash || silverlight) { - // Force Flash and Silverlight plugins to use opaque (windowless) mode. + // Force Flash and Silverlight plugins to use windowless mode. DCHECK(params.attributeNames.size() == params.attributeValues.size()); size_t size = params.attributeNames.size(); @@ -575,8 +575,13 @@ WebPlugin* BrowserWebViewDelegate::createPlugin( new_values[i] = params.attributeValues[i]; } - new_names[size] = "wmode"; - new_values[size] = "opaque"; + if (flash) { + new_names[size] = "wmode"; + new_values[size] = "opaque"; + } else if (silverlight) { + new_names[size] = "windowless"; + new_values[size] = "true"; + } WebPluginParams new_params = params; new_params.attributeNames.swap(new_names);