Bug 1216288 - Disable warning when we don't build an active layer for RenderFrameParent within an opacity:0 subtree. r=roc

--HG--
extra : rebase_source : 9eade6266c0a1f6485e5b82ab0c0c5bc49f9a85c
This commit is contained in:
Matt Woodrow 2015-11-03 16:49:22 +13:00
parent 63db61e6ca
commit ffd079e640
3 changed files with 10 additions and 2 deletions

View File

@ -61,6 +61,7 @@ struct ContainerLayerParameters {
, mInActiveTransformedSubtree(false) , mInActiveTransformedSubtree(false)
, mDisableSubpixelAntialiasingInDescendants(false) , mDisableSubpixelAntialiasingInDescendants(false)
, mInLowPrecisionDisplayPort(false) , mInLowPrecisionDisplayPort(false)
, mForEventsOnly(false)
{} {}
ContainerLayerParameters(float aXScale, float aYScale) ContainerLayerParameters(float aXScale, float aYScale)
: mXScale(aXScale) : mXScale(aXScale)
@ -71,6 +72,7 @@ struct ContainerLayerParameters {
, mInActiveTransformedSubtree(false) , mInActiveTransformedSubtree(false)
, mDisableSubpixelAntialiasingInDescendants(false) , mDisableSubpixelAntialiasingInDescendants(false)
, mInLowPrecisionDisplayPort(false) , mInLowPrecisionDisplayPort(false)
, mForEventsOnly(false)
{} {}
ContainerLayerParameters(float aXScale, float aYScale, ContainerLayerParameters(float aXScale, float aYScale,
const nsIntPoint& aOffset, const nsIntPoint& aOffset,
@ -84,6 +86,7 @@ struct ContainerLayerParameters {
, mInActiveTransformedSubtree(aParent.mInActiveTransformedSubtree) , mInActiveTransformedSubtree(aParent.mInActiveTransformedSubtree)
, mDisableSubpixelAntialiasingInDescendants(aParent.mDisableSubpixelAntialiasingInDescendants) , mDisableSubpixelAntialiasingInDescendants(aParent.mDisableSubpixelAntialiasingInDescendants)
, mInLowPrecisionDisplayPort(aParent.mInLowPrecisionDisplayPort) , mInLowPrecisionDisplayPort(aParent.mInLowPrecisionDisplayPort)
, mForEventsOnly(aParent.mForEventsOnly)
{} {}
float mXScale, mYScale; float mXScale, mYScale;
@ -112,6 +115,7 @@ struct ContainerLayerParameters {
bool mInActiveTransformedSubtree; bool mInActiveTransformedSubtree;
bool mDisableSubpixelAntialiasingInDescendants; bool mDisableSubpixelAntialiasingInDescendants;
bool mInLowPrecisionDisplayPort; bool mInLowPrecisionDisplayPort;
bool mForEventsOnly;
/** /**
* When this is false, PaintedLayer coordinates are drawn to with an integer * When this is false, PaintedLayer coordinates are drawn to with an integer
* translation and the scale in mXScale/mYScale. * translation and the scale in mXScale/mYScale.

View File

@ -3932,9 +3932,11 @@ already_AddRefed<Layer>
nsDisplayOpacity::BuildLayer(nsDisplayListBuilder* aBuilder, nsDisplayOpacity::BuildLayer(nsDisplayListBuilder* aBuilder,
LayerManager* aManager, LayerManager* aManager,
const ContainerLayerParameters& aContainerParameters) { const ContainerLayerParameters& aContainerParameters) {
ContainerLayerParameters params = aContainerParameters;
params.mForEventsOnly = mForEventsOnly;
RefPtr<Layer> container = aManager->GetLayerBuilder()-> RefPtr<Layer> container = aManager->GetLayerBuilder()->
BuildContainerLayerFor(aBuilder, aManager, mFrame, this, &mList, BuildContainerLayerFor(aBuilder, aManager, mFrame, this, &mList,
aContainerParameters, nullptr, params, nullptr,
FrameLayerBuilder::CONTAINER_ALLOW_PULL_BACKGROUND_COLOR); FrameLayerBuilder::CONTAINER_ALLOW_PULL_BACKGROUND_COLOR);
if (!container) if (!container)
return nullptr; return nullptr;

View File

@ -388,7 +388,9 @@ RenderFrameParent::BuildLayer(nsDisplayListBuilder* aBuilder,
// draw a manager's subtree. The latter is bad bad bad, but the the // draw a manager's subtree. The latter is bad bad bad, but the the
// MOZ_ASSERT() above will flag it. Returning nullptr here will just // MOZ_ASSERT() above will flag it. Returning nullptr here will just
// cause the shadow subtree not to be rendered. // cause the shadow subtree not to be rendered.
NS_WARNING("Remote iframe not rendered"); if (!aContainerParameters.mForEventsOnly) {
NS_WARNING("Remote iframe not rendered");
}
return nullptr; return nullptr;
} }