зеркало из https://github.com/mozilla/gecko-dev.git
Backed out 2 changesets (bug 1318266) for breaking tab drawing when a LWT is applied.
Backed out changeset 00bb4e2f5a3c (bug 1318266) Backed out changeset 55790893cab4 (bug 1318266)
This commit is contained in:
Родитель
ae624d4fc9
Коммит
f31546de18
|
@ -4340,13 +4340,6 @@ ContainerState::ProcessDisplayItems(nsDisplayList* aList)
|
||||||
} else if (item->GetType() == nsDisplayItem::TYPE_MASK) {
|
} else if (item->GetType() == nsDisplayItem::TYPE_MASK) {
|
||||||
nsDisplayMask* maskItem = static_cast<nsDisplayMask*>(item);
|
nsDisplayMask* maskItem = static_cast<nsDisplayMask*>(item);
|
||||||
SetupMaskLayerForCSSMask(ownLayer, maskItem);
|
SetupMaskLayerForCSSMask(ownLayer, maskItem);
|
||||||
|
|
||||||
nsDisplayItem* next = aList->GetBottom();
|
|
||||||
if (next && next->GetType() == nsDisplayItem::TYPE_SCROLL_INFO_LAYER) {
|
|
||||||
// Since we do build a layer for mask, there is no need for this
|
|
||||||
// scroll info layer anymore.
|
|
||||||
aList->RemoveBottom();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert the visible rect to a region and give the item
|
// Convert the visible rect to a region and give the item
|
||||||
|
|
|
@ -7353,12 +7353,13 @@ bool nsDisplayMask::ShouldPaintOnMaskLayer(LayerManager* aManager)
|
||||||
nsSVGUtils::MaskUsage maskUsage;
|
nsSVGUtils::MaskUsage maskUsage;
|
||||||
nsSVGUtils::DetermineMaskUsage(mFrame, mHandleOpacity, maskUsage);
|
nsSVGUtils::DetermineMaskUsage(mFrame, mHandleOpacity, maskUsage);
|
||||||
|
|
||||||
if (!maskUsage.shouldGenerateMaskLayer && !maskUsage.shouldApplyClipPath &&
|
if (!maskUsage.shouldGenerateMaskLayer &&
|
||||||
!maskUsage.shouldGenerateClipMaskLayer) {
|
!maskUsage.shouldGenerateClipMaskLayer) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (maskUsage.opacity != 1.0 || maskUsage.shouldApplyBasicShape) {
|
if (maskUsage.opacity != 1.0 || maskUsage.shouldApplyClipPath ||
|
||||||
|
maskUsage.shouldApplyBasicShape) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -272,6 +272,8 @@ nsSVGClipPathFrame::GetClipMask(gfxContext& aReferenceContext,
|
||||||
SourceSurface* aExtraMask,
|
SourceSurface* aExtraMask,
|
||||||
const Matrix& aExtraMasksTransform)
|
const Matrix& aExtraMasksTransform)
|
||||||
{
|
{
|
||||||
|
MOZ_ASSERT(!IsTrivial(), "Caller needs to use ApplyClipPath");
|
||||||
|
|
||||||
IntPoint offset;
|
IntPoint offset;
|
||||||
RefPtr<DrawTarget> maskDT = CreateClipMask(aReferenceContext, offset);
|
RefPtr<DrawTarget> maskDT = CreateClipMask(aReferenceContext, offset);
|
||||||
if (!maskDT) {
|
if (!maskDT) {
|
||||||
|
|
|
@ -756,7 +756,6 @@ nsSVGIntegrationUtils::PaintMask(const PaintFramesParams& aParams)
|
||||||
nsSVGUtils::DetermineMaskUsage(aParams.frame, aParams.handleOpacity,
|
nsSVGUtils::DetermineMaskUsage(aParams.frame, aParams.handleOpacity,
|
||||||
maskUsage);
|
maskUsage);
|
||||||
MOZ_ASSERT(maskUsage.shouldGenerateMaskLayer ||
|
MOZ_ASSERT(maskUsage.shouldGenerateMaskLayer ||
|
||||||
maskUsage.shouldApplyClipPath ||
|
|
||||||
maskUsage.shouldGenerateClipMaskLayer);
|
maskUsage.shouldGenerateClipMaskLayer);
|
||||||
|
|
||||||
nsIFrame* frame = aParams.frame;
|
nsIFrame* frame = aParams.frame;
|
||||||
|
@ -798,7 +797,7 @@ nsSVGIntegrationUtils::PaintMask(const PaintFramesParams& aParams)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Paint clip-path onto ctx.
|
// Paint clip-path onto ctx.
|
||||||
if (maskUsage.shouldGenerateClipMaskLayer || maskUsage.shouldApplyClipPath) {
|
if (maskUsage.shouldGenerateClipMaskLayer) {
|
||||||
matSR.Restore();
|
matSR.Restore();
|
||||||
matSR.SetContext(&ctx);
|
matSR.SetContext(&ctx);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче