зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
814d52a59c
Коммит
fadafafe08
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче