Don't treat event regions as opaque for plugin geometry. (bug 1109424, r=roc)

This commit is contained in:
David Anderson 2014-12-11 00:37:02 -08:00
Родитель 9cae71d8a9
Коммит a3439cd445
2 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -1338,7 +1338,9 @@ TreatAsOpaque(nsDisplayItem* aItem, nsDisplayListBuilder* aBuilder)
{
bool snap;
nsRegion opaque = aItem->GetOpaqueRegion(aBuilder, &snap);
if (aBuilder->IsForPluginGeometry()) {
if (aBuilder->IsForPluginGeometry() &&
aItem->GetType() != nsDisplayItem::TYPE_LAYER_EVENT_REGIONS)
{
// Treat all leaf chrome items as opaque, unless their frames are opacity:0.
// Since opacity:0 frames generate an nsDisplayOpacity, that item will
// not be treated as opaque here, so opacity:0 chrome content will be

Просмотреть файл

@ -16,6 +16,7 @@
SimpleTest.waitForExplicitFinish();
// Run the test in a separate window so that the test runs as a chrome
// window
SpecialPowers.setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED);
var w = window.open("chrome_over_plugin_window.xul", "chrome_over_plugin",
"chrome,width=200,height=300");
]]>