Backed out 4 changesets (bug 1669840) for causing reftest failures in border-collapse-opacity-table-row-group.html CLOSED TREE

Backed out changeset be66ef46592b (bug 1669840)
Backed out changeset 31dfd306b953 (bug 1669840)
Backed out changeset 7716542373a3 (bug 1669840)
Backed out changeset 8444d88d1869 (bug 1669840)
This commit is contained in:
Noemi Erli 2021-05-20 21:00:20 +03:00
Родитель 814d52a59c
Коммит fadafafe08
5 изменённых файлов: 8 добавлений и 30 удалений

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

@ -3492,11 +3492,9 @@ impl TileCacheInstance {
// - Have a valid, opaque image descriptor
// - Not use tiling (since they can fail to draw)
// - Not having any spacing / padding
// - Have opaque alpha in the instance (flattened) color
if image_properties.descriptor.is_opaque() &&
image_properties.tiling.is_none() &&
image_data.tile_spacing == LayoutSize::zero() &&
image_data.color.a >= 1.0 {
image_data.tile_spacing == LayoutSize::zero() {
backdrop_candidate = Some(BackdropInfo {
opaque_rect: pic_clip_rect,
kind: None,

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

@ -3443,8 +3443,7 @@ nsDisplayBackgroundImage::nsDisplayBackgroundImage(
mLayer(aInitData.layer),
mIsRasterImage(aInitData.isRasterImage),
mShouldFixToViewport(aInitData.shouldFixToViewport),
mImageFlags(0),
mOpacity(1.0f) {
mImageFlags(0) {
MOZ_COUNT_CTOR(nsDisplayBackgroundImage);
#ifdef DEBUG
if (mBackgroundStyle && mBackgroundStyle != mFrame->Style()) {
@ -4050,8 +4049,6 @@ already_AddRefed<Layer> nsDisplayBackgroundImage::BuildLayer(
RefPtr<ImageContainer> imageContainer = GetContainer(aManager, aBuilder);
layer->SetContainer(imageContainer);
ConfigureLayer(layer, aParameters);
// ConfigureLayer doesn't know about our opacity, so apply it to layer here.
layer->SetOpacity(mOpacity);
return layer.forget();
}
@ -4082,7 +4079,7 @@ bool nsDisplayBackgroundImage::CreateWebRenderCommands(
nsCSSRendering::PaintBGParams params =
nsCSSRendering::PaintBGParams::ForSingleLayer(
*StyleFrame()->PresContext(), GetPaintRect(), mBackgroundRect,
StyleFrame(), mImageFlags, mLayer, CompositionOp::OP_OVER, mOpacity);
StyleFrame(), mImageFlags, mLayer, CompositionOp::OP_OVER);
params.bgClipRect = &mBounds;
ImgDrawResult result =
nsCSSRendering::BuildWebRenderDisplayItemsForStyleImageLayer(
@ -4147,7 +4144,7 @@ nsRegion nsDisplayBackgroundImage::GetOpaqueRegion(
nsRegion result;
*aSnap = false;
if (!mBackgroundStyle || mOpacity != 1.0f) {
if (!mBackgroundStyle) {
return result;
}
@ -4239,7 +4236,7 @@ void nsDisplayBackgroundImage::PaintInternal(nsDisplayListBuilder* aBuilder,
nsCSSRendering::PaintBGParams params =
nsCSSRendering::PaintBGParams::ForSingleLayer(
*StyleFrame()->PresContext(), aBounds, mBackgroundRect, StyleFrame(),
mImageFlags, mLayer, CompositionOp::OP_OVER, mOpacity);
mImageFlags, mLayer, CompositionOp::OP_OVER);
params.bgClipRect = aClipRect;
ImgDrawResult result = nsCSSRendering::PaintStyleImageLayer(params, *aCtx);

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

@ -4509,13 +4509,6 @@ class nsDisplayBackgroundImage : public nsDisplayImageContainer {
nsIFrame* aFrameForBounds = nullptr);
~nsDisplayBackgroundImage() override;
bool RestoreState() override {
bool superChanged = nsDisplayImageContainer::RestoreState();
bool opacityChanged = (mOpacity != 1.0f);
mOpacity = 1.0f;
return (superChanged || opacityChanged);
}
NS_DISPLAY_DECL_NAME("Background", TYPE_BACKGROUND)
/**
@ -4556,13 +4549,6 @@ class nsDisplayBackgroundImage : public nsDisplayImageContainer {
mozilla::Maybe<nscolor> IsUniform(
nsDisplayListBuilder* aBuilder) const override;
bool CanApplyOpacity() const override { return true; }
void ApplyOpacity(nsDisplayListBuilder* aBuilder, float aOpacity,
const DisplayItemClipChain* aClip) override {
mOpacity = aOpacity;
}
/**
* GetBounds() returns the background painting area.
*/
@ -4671,7 +4657,6 @@ class nsDisplayBackgroundImage : public nsDisplayImageContainer {
/* Whether the image should be treated as fixed to the viewport. */
bool mShouldFixToViewport;
uint32_t mImageFlags;
float mOpacity;
};
/**

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

@ -658,8 +658,7 @@ ImgDrawResult nsImageRenderer::BuildWebRenderDisplayItems(
if (extendMode == ExtendMode::CLAMP) {
// The image is not repeating. Just push as a regular image.
aBuilder.PushImage(dest, clip, !aItem->BackfaceIsHidden(), rendering,
key.value(), true,
wr::ColorF{1.0f, 1.0f, 1.0f, aOpacity});
key.value());
} else {
nsPoint firstTilePos = nsLayoutUtils::GetBackgroundFirstTilePos(
aDest.TopLeft(), aFill.TopLeft(), aRepeatSize);
@ -690,8 +689,7 @@ ImgDrawResult nsImageRenderer::BuildWebRenderDisplayItems(
aBuilder.PushRepeatingImage(fill, clip, !aItem->BackfaceIsHidden(),
stretchSize, wr::ToLayoutSize(gapSize),
rendering, key.value(), true,
wr::ColorF{1.0f, 1.0f, 1.0f, aOpacity});
rendering, key.value());
}
break;
}

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

@ -43,7 +43,7 @@ asserts-if(gtkWidget,0-6) != backgr_border-table-quirks.html empty.html
fuzzy-if(d2d,0-1,0-1083) fuzzy-if(skiaContent,0-1,0-2200) == border-collapse-opacity-table-cell.html border-collapse-opacity-table-cell-ref.html
fuzzy-if(d2d,0-1,0-33174) fuzzy-if(skiaContent,0-1,0-16863) == border-collapse-opacity-table-column-group.html border-collapse-opacity-table-column-group-ref.html
fuzzy-if(d2d,0-1,0-11058) fuzzy-if(skiaContent,0-1,0-5625) == border-collapse-opacity-table-column.html border-collapse-opacity-table-column-ref.html
fuzzy-if(d2d,0-1,0-24606) fuzzy-if(skiaContent,0-1,0-32455) == border-collapse-opacity-table-row-group.html border-collapse-opacity-table-row-group-ref.html
fuzzy-if(d2d,0-1,0-24606) fuzzy-if(skiaContent,0-1,0-17000) == border-collapse-opacity-table-row-group.html border-collapse-opacity-table-row-group-ref.html
fuzzy-if(d2d,0-1,0-11000) fuzzy-if(skiaContent,0-1,0-11000) == border-collapse-opacity-table-row.html border-collapse-opacity-table-row-ref.html
fuzzy-if(d2d||skiaContent,0-1,0-60000) == border-collapse-opacity-table.html border-collapse-opacity-table-ref.html
fuzzy-if(d2d,0-1,0-2478) fuzzy-if(skiaContent,0-1,0-2500) == border-separate-opacity-table-cell.html border-separate-opacity-table-cell-ref.html