[GTK] wmode='transparent' for flash plugin doesn't work
authorcarlosgc@webkit.org <carlosgc@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Apr 2014 15:59:37 +0000 (15:59 +0000)
committercarlosgc@webkit.org <carlosgc@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 24 Apr 2014 15:59:37 +0000 (15:59 +0000)
commit33f9c16e06f2b500ad7922f0e9451b9320f36b89
tree211bb7517feb093a11e296705336c4153c682c60
parent8816b183a7bfb9e59ac9bd35684a2f242402f9f3
[GTK] wmode='transparent' for flash plugin doesn't work
https://bugs.webkit.org/show_bug.cgi?id=120055

Reviewed by Gustavo Noronha Silva.

Force opaque window mode for flash plugin when wmode='transparent',
since X11 backend doesn't support transparency. We should add
proper transparency support because forcing opaque window mode
doesn't really work. Handle this as a plugin quirk instead of
adding X11 specific code to WebFrameLoaderClient::createPlugin().

* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::determineQuirks): Add
ForceFlashWindowlessMode quirk for flash in case of EFL platform
because EFL port doesn't support windowed plugins.
* Shared/Plugins/PluginQuirks.h: Add ForceFlashWindowlessMode X11
plugin quirk.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::initialize): Modify or add wmode
parameter for flash plugin, to force opaque window mode when
transparent mode is specified or when ForceFlashWindowlessMode
quirk is present.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin): Remove X11 specific code.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167759 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit2/ChangeLog
Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
Source/WebKit2/Shared/Plugins/PluginQuirks.h
Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp