RESOLVED FIXED93508
Make the Silverlight CAOpenGLLayer opaque if we know the plug-in contents is opaque to reduce blending
https://bugs.webkit.org/show_bug.cgi?id=93508
Summary Make the Silverlight CAOpenGLLayer opaque if we know the plug-in contents is ...
Anders Carlsson
Reported 2012-08-08 12:50:20 PDT
Make the Silverlight CAOpenGLLayer opaque if we know the plug-in contents is opaque to reduce blending
Attachments
Patch (8.03 KB, patch)
2012-08-08 12:54 PDT, Anders Carlsson
simon.fraser: review+
Anders Carlsson
Comment 1 2012-08-08 12:54:03 PDT
Simon Fraser (smfr)
Comment 2 2012-08-08 13:13:23 PDT
Comment on attachment 157273 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=157273&action=review > Source/WebKit2/Shared/Plugins/PluginQuirks.h:48 > + // NPPVpluginTransparentBool, so we'll always force it unless the plug-in has a "background" > + // attribute that specifies a opaque color. > + MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists, It might be worth noting in this comment that the docs say "a null value for the Background property of the Silverlight plug-in is interpreted as the named color White.", so no colorValue param means opaque. > Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp:557 > + if (backgroundValue == "#000000") > + return false; This is fragile, as it would break if the content changed. Sucks that these aren't CSS colors :(
Anders Carlsson
Comment 3 2012-08-08 13:29:43 PDT
(In reply to comment #2) > (From update of attachment 157273 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=157273&action=review > > > Source/WebKit2/Shared/Plugins/PluginQuirks.h:48 > > + // NPPVpluginTransparentBool, so we'll always force it unless the plug-in has a "background" > > + // attribute that specifies a opaque color. > > + MakeOpaqueUnlessTransparentSilverlightBackgroundAttributeExists, > > It might be worth noting in this comment that the docs say "a null value for the Background property of the Silverlight plug-in is interpreted as the named color White.", so no colorValue param means opaque. > Good idea. Fixed! > > Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp:557 > > + if (backgroundValue == "#000000") > > + return false; > > This is fragile, as it would break if the content changed. Sucks that these aren't CSS colors :( I agree. I'll do the more extensive color parsing in a followup patch. Thanks for the review!
Anders Carlsson
Comment 4 2012-08-08 13:33:30 PDT
Note You need to log in before you can comment on or make changes to this bug.