mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 20:05:49 +00:00
Bug 1450189 - Don't invalidate display items when we get a new style context. r=miko
This commit is contained in:
parent
cc659a75b9
commit
199c2a649c
@ -172,7 +172,7 @@ public:
|
|||||||
uint32_t aLineNumber,
|
uint32_t aLineNumber,
|
||||||
uint32_t aIndex)
|
uint32_t aIndex)
|
||||||
: nsDisplayItem(aBuilder, aFrame), mRect(aRect),
|
: nsDisplayItem(aBuilder, aFrame), mRect(aRect),
|
||||||
mStyle(aStyle), mAscent(aAscent), mIndex((aLineNumber << 1) + aIndex) {
|
mStyle(*aStyle), mAscent(aAscent), mIndex((aLineNumber << 1) + aIndex) {
|
||||||
MOZ_COUNT_CTOR(nsDisplayTextOverflowMarker);
|
MOZ_COUNT_CTOR(nsDisplayTextOverflowMarker);
|
||||||
}
|
}
|
||||||
#ifdef NS_BUILD_REFCNT_LOGGING
|
#ifdef NS_BUILD_REFCNT_LOGGING
|
||||||
@ -221,7 +221,7 @@ public:
|
|||||||
NS_DISPLAY_DECL_NAME("TextOverflow", TYPE_TEXT_OVERFLOW)
|
NS_DISPLAY_DECL_NAME("TextOverflow", TYPE_TEXT_OVERFLOW)
|
||||||
private:
|
private:
|
||||||
nsRect mRect; // in reference frame coordinates
|
nsRect mRect; // in reference frame coordinates
|
||||||
const nsStyleTextOverflowSide* mStyle;
|
const nsStyleTextOverflowSide mStyle;
|
||||||
nscoord mAscent; // baseline for the marker text in mRect
|
nscoord mAscent; // baseline for the marker text in mRect
|
||||||
uint32_t mIndex;
|
uint32_t mIndex;
|
||||||
};
|
};
|
||||||
@ -274,7 +274,7 @@ nsDisplayTextOverflowMarker::PaintTextToContext(gfxContext* aCtx,
|
|||||||
}
|
}
|
||||||
pt += aOffsetFromRect;
|
pt += aOffsetFromRect;
|
||||||
|
|
||||||
if (mStyle->mType == NS_STYLE_TEXT_OVERFLOW_ELLIPSIS) {
|
if (mStyle.mType == NS_STYLE_TEXT_OVERFLOW_ELLIPSIS) {
|
||||||
gfxTextRun* textRun = GetEllipsisTextRun(mFrame);
|
gfxTextRun* textRun = GetEllipsisTextRun(mFrame);
|
||||||
if (textRun) {
|
if (textRun) {
|
||||||
NS_ASSERTION(!textRun->IsRightToLeft(),
|
NS_ASSERTION(!textRun->IsRightToLeft(),
|
||||||
@ -286,8 +286,8 @@ nsDisplayTextOverflowMarker::PaintTextToContext(gfxContext* aCtx,
|
|||||||
} else {
|
} else {
|
||||||
RefPtr<nsFontMetrics> fm =
|
RefPtr<nsFontMetrics> fm =
|
||||||
nsLayoutUtils::GetInflatedFontMetricsForFrame(mFrame);
|
nsLayoutUtils::GetInflatedFontMetricsForFrame(mFrame);
|
||||||
nsLayoutUtils::DrawString(mFrame, *fm, aCtx, mStyle->mString.get(),
|
nsLayoutUtils::DrawString(mFrame, *fm, aCtx, mStyle.mString.get(),
|
||||||
mStyle->mString.Length(), pt);
|
mStyle.mString.Length(), pt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -366,14 +366,14 @@ nsDisplayCanvasBackgroundImage::IsSingleFixedPositionImage(nsDisplayListBuilder*
|
|||||||
if (!mBackgroundStyle)
|
if (!mBackgroundStyle)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (mBackgroundStyle->mImage.mLayers.Length() != 1)
|
if (mBackgroundStyle->StyleBackground()->mImage.mLayers.Length() != 1)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
nsPresContext* presContext = mFrame->PresContext();
|
nsPresContext* presContext = mFrame->PresContext();
|
||||||
uint32_t flags = aBuilder->GetBackgroundPaintFlags();
|
uint32_t flags = aBuilder->GetBackgroundPaintFlags();
|
||||||
nsRect borderArea = nsRect(ToReferenceFrame(), mFrame->GetSize());
|
nsRect borderArea = nsRect(ToReferenceFrame(), mFrame->GetSize());
|
||||||
const nsStyleImageLayers::Layer &layer = mBackgroundStyle->mImage.mLayers[mLayer];
|
const nsStyleImageLayers::Layer &layer = mBackgroundStyle->StyleBackground()->mImage.mLayers[mLayer];
|
||||||
|
|
||||||
if (layer.mAttachment != NS_STYLE_IMAGELAYER_ATTACHMENT_FIXED)
|
if (layer.mAttachment != NS_STYLE_IMAGELAYER_ATTACHMENT_FIXED)
|
||||||
return false;
|
return false;
|
||||||
@ -456,11 +456,11 @@ nsCanvasFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
|||||||
// the overflow area, so just add nsDisplayCanvasBackground instead of
|
// the overflow area, so just add nsDisplayCanvasBackground instead of
|
||||||
// calling DisplayBorderBackgroundOutline.
|
// calling DisplayBorderBackgroundOutline.
|
||||||
if (IsVisibleForPainting(aBuilder)) {
|
if (IsVisibleForPainting(aBuilder)) {
|
||||||
const nsStyleBackground* bg = nullptr;
|
ComputedStyle* bg = nullptr;
|
||||||
nsIFrame* dependentFrame = nullptr;
|
nsIFrame* dependentFrame = nullptr;
|
||||||
bool isThemed = IsThemed();
|
bool isThemed = IsThemed();
|
||||||
if (!isThemed && nsCSSRendering::FindBackgroundFrame(this, &dependentFrame)) {
|
if (!isThemed && nsCSSRendering::FindBackgroundFrame(this, &dependentFrame)) {
|
||||||
bg = dependentFrame->Style()->StyleBackground();
|
bg = dependentFrame->Style();
|
||||||
if (dependentFrame == this) {
|
if (dependentFrame == this) {
|
||||||
dependentFrame = nullptr;
|
dependentFrame = nullptr;
|
||||||
}
|
}
|
||||||
@ -485,7 +485,7 @@ nsCanvasFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
|||||||
nsDisplayListBuilder::AutoContainerASRTracker contASRTracker(aBuilder);
|
nsDisplayListBuilder::AutoContainerASRTracker contASRTracker(aBuilder);
|
||||||
|
|
||||||
// Create separate items for each background layer.
|
// Create separate items for each background layer.
|
||||||
const nsStyleImageLayers& layers = bg->mImage;
|
const nsStyleImageLayers& layers = bg->StyleBackground()->mImage;
|
||||||
NS_FOR_VISIBLE_IMAGE_LAYERS_BACK_TO_FRONT(i, layers) {
|
NS_FOR_VISIBLE_IMAGE_LAYERS_BACK_TO_FRONT(i, layers) {
|
||||||
if (layers.mLayers[i].mImage.IsEmpty()) {
|
if (layers.mLayers[i].mImage.IsEmpty()) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -1207,7 +1207,6 @@ nsFrame::DidSetComputedStyle(ComputedStyle* aOldComputedStyle)
|
|||||||
|
|
||||||
RemoveStateBits(NS_FRAME_SIMPLE_EVENT_REGIONS |
|
RemoveStateBits(NS_FRAME_SIMPLE_EVENT_REGIONS |
|
||||||
NS_FRAME_SIMPLE_DISPLAYLIST);
|
NS_FRAME_SIMPLE_DISPLAYLIST);
|
||||||
this->MarkNeedsDisplayItemRebuild();
|
|
||||||
|
|
||||||
mMayHaveRoundedCorners = true;
|
mMayHaveRoundedCorners = true;
|
||||||
}
|
}
|
||||||
|
@ -3459,11 +3459,11 @@ nsDisplayBackgroundImage::GetInitData(nsDisplayListBuilder* aBuilder,
|
|||||||
nsIFrame* aFrame,
|
nsIFrame* aFrame,
|
||||||
uint32_t aLayer,
|
uint32_t aLayer,
|
||||||
const nsRect& aBackgroundRect,
|
const nsRect& aBackgroundRect,
|
||||||
const nsStyleBackground* aBackgroundStyle)
|
ComputedStyle* aBackgroundStyle)
|
||||||
{
|
{
|
||||||
nsPresContext* presContext = aFrame->PresContext();
|
nsPresContext* presContext = aFrame->PresContext();
|
||||||
uint32_t flags = aBuilder->GetBackgroundPaintFlags();
|
uint32_t flags = aBuilder->GetBackgroundPaintFlags();
|
||||||
const nsStyleImageLayers::Layer &layer = aBackgroundStyle->mImage.mLayers[aLayer];
|
const nsStyleImageLayers::Layer &layer = aBackgroundStyle->StyleBackground()->mImage.mLayers[aLayer];
|
||||||
|
|
||||||
bool isTransformedFixed;
|
bool isTransformedFixed;
|
||||||
nsBackgroundLayerState state =
|
nsBackgroundLayerState state =
|
||||||
@ -3708,12 +3708,12 @@ nsDisplayBackgroundImage::AppendBackgroundItemsToTop(nsDisplayListBuilder* aBuil
|
|||||||
nsDisplayBackgroundColor *bgItem;
|
nsDisplayBackgroundColor *bgItem;
|
||||||
if (aSecondaryReferenceFrame) {
|
if (aSecondaryReferenceFrame) {
|
||||||
bgItem =
|
bgItem =
|
||||||
MakeDisplayItem<nsDisplayTableBackgroundColor>(aBuilder, aSecondaryReferenceFrame, bgColorRect, bg,
|
MakeDisplayItem<nsDisplayTableBackgroundColor>(aBuilder, aSecondaryReferenceFrame, bgColorRect, bgSC,
|
||||||
drawBackgroundColor ? color : NS_RGBA(0, 0, 0, 0),
|
drawBackgroundColor ? color : NS_RGBA(0, 0, 0, 0),
|
||||||
aFrame);
|
aFrame);
|
||||||
} else {
|
} else {
|
||||||
bgItem =
|
bgItem =
|
||||||
MakeDisplayItem<nsDisplayBackgroundColor>(aBuilder, aFrame, bgColorRect, bg,
|
MakeDisplayItem<nsDisplayBackgroundColor>(aBuilder, aFrame, bgColorRect, bgSC,
|
||||||
drawBackgroundColor ? color : NS_RGBA(0, 0, 0, 0));
|
drawBackgroundColor ? color : NS_RGBA(0, 0, 0, 0));
|
||||||
}
|
}
|
||||||
bgItem->SetDependentFrame(aBuilder, dependentFrame);
|
bgItem->SetDependentFrame(aBuilder, dependentFrame);
|
||||||
@ -3775,7 +3775,7 @@ nsDisplayBackgroundImage::AppendBackgroundItemsToTop(nsDisplayListBuilder* aBuil
|
|||||||
|
|
||||||
nsDisplayList thisItemList;
|
nsDisplayList thisItemList;
|
||||||
nsDisplayBackgroundImage::InitData bgData =
|
nsDisplayBackgroundImage::InitData bgData =
|
||||||
nsDisplayBackgroundImage::GetInitData(aBuilder, aFrame, i, bgOriginRect, bg);
|
nsDisplayBackgroundImage::GetInitData(aBuilder, aFrame, i, bgOriginRect, bgSC);
|
||||||
|
|
||||||
if (bgData.shouldFixToViewport) {
|
if (bgData.shouldFixToViewport) {
|
||||||
|
|
||||||
@ -3926,7 +3926,7 @@ nsDisplayBackgroundImage::CanOptimizeToImageLayer(LayerManager* aManager,
|
|||||||
|
|
||||||
// For 'contain' and 'cover', we allow any pixel of the image to be sampled
|
// For 'contain' and 'cover', we allow any pixel of the image to be sampled
|
||||||
// because there isn't going to be any spriting/atlasing going on.
|
// because there isn't going to be any spriting/atlasing going on.
|
||||||
const nsStyleImageLayers::Layer &layer = mBackgroundStyle->mImage.mLayers[mLayer];
|
const nsStyleImageLayers::Layer &layer = mBackgroundStyle->StyleBackground()->mImage.mLayers[mLayer];
|
||||||
bool allowPartialImages =
|
bool allowPartialImages =
|
||||||
(layer.mSize.mWidthType == nsStyleImageLayers::Size::eContain ||
|
(layer.mSize.mWidthType == nsStyleImageLayers::Size::eContain ||
|
||||||
layer.mSize.mWidthType == nsStyleImageLayers::Size::eCover);
|
layer.mSize.mWidthType == nsStyleImageLayers::Size::eCover);
|
||||||
@ -3965,7 +3965,7 @@ nsDisplayBackgroundImage::ShouldCreateOwnLayer(nsDisplayListBuilder* aBuilder,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (nsLayoutUtils::AnimatedImageLayersEnabled() && mBackgroundStyle) {
|
if (nsLayoutUtils::AnimatedImageLayersEnabled() && mBackgroundStyle) {
|
||||||
const nsStyleImageLayers::Layer &layer = mBackgroundStyle->mImage.mLayers[mLayer];
|
const nsStyleImageLayers::Layer &layer = mBackgroundStyle->StyleBackground()->mImage.mLayers[mLayer];
|
||||||
const nsStyleImage* image = &layer.mImage;
|
const nsStyleImage* image = &layer.mImage;
|
||||||
if (image->GetType() == eStyleImageType_Image) {
|
if (image->GetType() == eStyleImageType_Image) {
|
||||||
imgIRequest* imgreq = image->GetImageData();
|
imgIRequest* imgreq = image->GetImageData();
|
||||||
@ -4077,11 +4077,11 @@ nsDisplayBackgroundImage::CanBuildWebRenderDisplayItems(LayerManager* aManager,
|
|||||||
mImageFlags = aDisplayListBuilder->GetBackgroundPaintFlags();
|
mImageFlags = aDisplayListBuilder->GetBackgroundPaintFlags();
|
||||||
}
|
}
|
||||||
|
|
||||||
return mBackgroundStyle->mImage.mLayers[mLayer].mClip != StyleGeometryBox::Text &&
|
return mBackgroundStyle->StyleBackground()->mImage.mLayers[mLayer].mClip != StyleGeometryBox::Text &&
|
||||||
nsCSSRendering::CanBuildWebRenderDisplayItemsForStyleImageLayer(aManager,
|
nsCSSRendering::CanBuildWebRenderDisplayItemsForStyleImageLayer(aManager,
|
||||||
*StyleFrame()->PresContext(),
|
*StyleFrame()->PresContext(),
|
||||||
StyleFrame(),
|
StyleFrame(),
|
||||||
mBackgroundStyle,
|
mBackgroundStyle->StyleBackground(),
|
||||||
mLayer,
|
mLayer,
|
||||||
mImageFlags);
|
mImageFlags);
|
||||||
}
|
}
|
||||||
@ -4186,7 +4186,7 @@ nsDisplayBackgroundImage::GetOpaqueRegion(nsDisplayListBuilder* aBuilder,
|
|||||||
if (mFrame->StyleBorder()->mBoxDecorationBreak ==
|
if (mFrame->StyleBorder()->mBoxDecorationBreak ==
|
||||||
StyleBoxDecorationBreak::Clone ||
|
StyleBoxDecorationBreak::Clone ||
|
||||||
(!mFrame->GetPrevContinuation() && !mFrame->GetNextContinuation())) {
|
(!mFrame->GetPrevContinuation() && !mFrame->GetNextContinuation())) {
|
||||||
const nsStyleImageLayers::Layer& layer = mBackgroundStyle->mImage.mLayers[mLayer];
|
const nsStyleImageLayers::Layer& layer = mBackgroundStyle->StyleBackground()->mImage.mLayers[mLayer];
|
||||||
if (layer.mImage.IsOpaque() && layer.mBlendMode == NS_STYLE_BLEND_NORMAL &&
|
if (layer.mImage.IsOpaque() && layer.mBlendMode == NS_STYLE_BLEND_NORMAL &&
|
||||||
layer.mRepeat.mXRepeat != StyleImageLayerRepeat::Space &&
|
layer.mRepeat.mXRepeat != StyleImageLayerRepeat::Space &&
|
||||||
layer.mRepeat.mYRepeat != StyleImageLayerRepeat::Space &&
|
layer.mRepeat.mYRepeat != StyleImageLayerRepeat::Space &&
|
||||||
@ -4218,7 +4218,7 @@ nsDisplayBackgroundImage::GetPositioningArea() const
|
|||||||
return nsCSSRendering::ComputeImageLayerPositioningArea(
|
return nsCSSRendering::ComputeImageLayerPositioningArea(
|
||||||
mFrame->PresContext(), mFrame,
|
mFrame->PresContext(), mFrame,
|
||||||
mBackgroundRect,
|
mBackgroundRect,
|
||||||
mBackgroundStyle->mImage.mLayers[mLayer],
|
mBackgroundStyle->StyleBackground()->mImage.mLayers[mLayer],
|
||||||
&attachedToFrame,
|
&attachedToFrame,
|
||||||
&transformedFixed) + ToReferenceFrame();
|
&transformedFixed) + ToReferenceFrame();
|
||||||
}
|
}
|
||||||
@ -4236,7 +4236,7 @@ nsDisplayBackgroundImage::RenderingMightDependOnPositioningAreaSizeChange() cons
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const nsStyleImageLayers::Layer &layer = mBackgroundStyle->mImage.mLayers[mLayer];
|
const nsStyleImageLayers::Layer &layer = mBackgroundStyle->StyleBackground()->mImage.mLayers[mLayer];
|
||||||
if (layer.RenderingMightDependOnPositioningAreaSizeChange()) {
|
if (layer.RenderingMightDependOnPositioningAreaSizeChange()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -4254,7 +4254,7 @@ nsDisplayBackgroundImage::PaintInternal(nsDisplayListBuilder* aBuilder,
|
|||||||
gfxContext* aCtx, const nsRect& aBounds,
|
gfxContext* aCtx, const nsRect& aBounds,
|
||||||
nsRect* aClipRect) {
|
nsRect* aClipRect) {
|
||||||
gfxContext* ctx = aCtx;
|
gfxContext* ctx = aCtx;
|
||||||
StyleGeometryBox clip = mBackgroundStyle->mImage.mLayers[mLayer].mClip;
|
StyleGeometryBox clip = mBackgroundStyle->StyleBackground()->mImage.mLayers[mLayer].mClip;
|
||||||
|
|
||||||
if (clip == StyleGeometryBox::Text) {
|
if (clip == StyleGeometryBox::Text) {
|
||||||
if (!GenerateAndPushTextMask(StyleFrame(), aCtx, mBackgroundRect, aBuilder)) {
|
if (!GenerateAndPushTextMask(StyleFrame(), aCtx, mBackgroundRect, aBuilder)) {
|
||||||
@ -4306,7 +4306,7 @@ nsDisplayBackgroundImage::ComputeInvalidationRegion(nsDisplayListBuilder* aBuild
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (aBuilder->ShouldSyncDecodeImages()) {
|
if (aBuilder->ShouldSyncDecodeImages()) {
|
||||||
const nsStyleImage& image = mBackgroundStyle->mImage.mLayers[mLayer].mImage;
|
const nsStyleImage& image = mBackgroundStyle->StyleBackground()->mImage.mLayers[mLayer].mImage;
|
||||||
if (image.GetType() == eStyleImageType_Image &&
|
if (image.GetType() == eStyleImageType_Image &&
|
||||||
geometry->ShouldInvalidateToSyncDecodeImages()) {
|
geometry->ShouldInvalidateToSyncDecodeImages()) {
|
||||||
aInvalidRegion->Or(*aInvalidRegion, bounds);
|
aInvalidRegion->Or(*aInvalidRegion, bounds);
|
||||||
@ -4346,7 +4346,7 @@ nsDisplayBackgroundImage::GetBoundsInternal(nsDisplayListBuilder* aBuilder,
|
|||||||
nsCanvasFrame* canvasFrame = static_cast<nsCanvasFrame*>(frame);
|
nsCanvasFrame* canvasFrame = static_cast<nsCanvasFrame*>(frame);
|
||||||
clipRect = canvasFrame->CanvasArea() + ToReferenceFrame();
|
clipRect = canvasFrame->CanvasArea() + ToReferenceFrame();
|
||||||
}
|
}
|
||||||
const nsStyleImageLayers::Layer& layer = mBackgroundStyle->mImage.mLayers[mLayer];
|
const nsStyleImageLayers::Layer& layer = mBackgroundStyle->StyleBackground()->mImage.mLayers[mLayer];
|
||||||
return nsCSSRendering::GetBackgroundLayerRect(presContext, frame,
|
return nsCSSRendering::GetBackgroundLayerRect(presContext, frame,
|
||||||
mBackgroundRect, clipRect, layer,
|
mBackgroundRect, clipRect, layer,
|
||||||
aBuilder->GetBackgroundPaintFlags());
|
aBuilder->GetBackgroundPaintFlags());
|
||||||
@ -4690,7 +4690,7 @@ nsDisplayBackgroundColor::GetLayerState(nsDisplayListBuilder* aBuilder,
|
|||||||
LayerManager* aManager,
|
LayerManager* aManager,
|
||||||
const ContainerLayerParameters& aParameters)
|
const ContainerLayerParameters& aParameters)
|
||||||
{
|
{
|
||||||
StyleGeometryBox clip = mBackgroundStyle->mImage.mLayers[0].mClip;
|
StyleGeometryBox clip = mBackgroundStyle->StyleBackground()->mImage.mLayers[0].mClip;
|
||||||
if (ForceActiveLayers() && clip != StyleGeometryBox::Text) {
|
if (ForceActiveLayers() && clip != StyleGeometryBox::Text) {
|
||||||
return LAYER_ACTIVE;
|
return LAYER_ACTIVE;
|
||||||
}
|
}
|
||||||
@ -4734,7 +4734,7 @@ nsDisplayBackgroundColor::CreateWebRenderCommands(mozilla::wr::DisplayListBuilde
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
StyleGeometryBox clip = mBackgroundStyle->mImage.mLayers[0].mClip;
|
StyleGeometryBox clip = mBackgroundStyle->StyleBackground()->mImage.mLayers[0].mClip;
|
||||||
if (clip == StyleGeometryBox::Text) {
|
if (clip == StyleGeometryBox::Text) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -4783,7 +4783,7 @@ nsDisplayBackgroundColor::Paint(nsDisplayListBuilder* aBuilder,
|
|||||||
nsLayoutUtils::RectToGfxRect(mBackgroundRect,
|
nsLayoutUtils::RectToGfxRect(mBackgroundRect,
|
||||||
mFrame->PresContext()->AppUnitsPerDevPixel());
|
mFrame->PresContext()->AppUnitsPerDevPixel());
|
||||||
|
|
||||||
StyleGeometryBox clip = mBackgroundStyle->mImage.mLayers[0].mClip;
|
StyleGeometryBox clip = mBackgroundStyle->StyleBackground()->mImage.mLayers[0].mClip;
|
||||||
if (clip == StyleGeometryBox::Text) {
|
if (clip == StyleGeometryBox::Text) {
|
||||||
if (!GenerateAndPushTextMask(mFrame, aCtx, mBackgroundRect, aBuilder)) {
|
if (!GenerateAndPushTextMask(mFrame, aCtx, mBackgroundRect, aBuilder)) {
|
||||||
return;
|
return;
|
||||||
@ -4817,7 +4817,7 @@ nsDisplayBackgroundColor::GetOpaqueRegion(nsDisplayListBuilder* aBuilder,
|
|||||||
return nsRegion();
|
return nsRegion();
|
||||||
|
|
||||||
|
|
||||||
const nsStyleImageLayers::Layer& bottomLayer = mBackgroundStyle->BottomLayer();
|
const nsStyleImageLayers::Layer& bottomLayer = mBackgroundStyle->StyleBackground()->BottomLayer();
|
||||||
if (bottomLayer.mClip == StyleGeometryBox::Text) {
|
if (bottomLayer.mClip == StyleGeometryBox::Text) {
|
||||||
return nsRegion();
|
return nsRegion();
|
||||||
}
|
}
|
||||||
|
@ -3840,7 +3840,7 @@ public:
|
|||||||
struct InitData {
|
struct InitData {
|
||||||
nsDisplayListBuilder* builder;
|
nsDisplayListBuilder* builder;
|
||||||
nsIFrame* frame;
|
nsIFrame* frame;
|
||||||
const nsStyleBackground* backgroundStyle;
|
mozilla::ComputedStyle* backgroundStyle;
|
||||||
nsCOMPtr<imgIContainer> image;
|
nsCOMPtr<imgIContainer> image;
|
||||||
nsRect backgroundRect;
|
nsRect backgroundRect;
|
||||||
nsRect fillArea;
|
nsRect fillArea;
|
||||||
@ -3861,7 +3861,7 @@ public:
|
|||||||
nsIFrame* aFrame,
|
nsIFrame* aFrame,
|
||||||
uint32_t aLayer,
|
uint32_t aLayer,
|
||||||
const nsRect& aBackgroundRect,
|
const nsRect& aBackgroundRect,
|
||||||
const nsStyleBackground* aBackgroundStyle);
|
mozilla::ComputedStyle* aBackgroundStyle);
|
||||||
|
|
||||||
explicit nsDisplayBackgroundImage(nsDisplayListBuilder* aBuilder,
|
explicit nsDisplayBackgroundImage(nsDisplayListBuilder* aBuilder,
|
||||||
const InitData& aInitData,
|
const InitData& aInitData,
|
||||||
@ -4007,7 +4007,7 @@ protected:
|
|||||||
|
|
||||||
// Cache the result of nsCSSRendering::FindBackground. Always null if
|
// Cache the result of nsCSSRendering::FindBackground. Always null if
|
||||||
// mIsThemed is true or if FindBackground returned false.
|
// mIsThemed is true or if FindBackground returned false.
|
||||||
const nsStyleBackground* mBackgroundStyle;
|
RefPtr<mozilla::ComputedStyle> mBackgroundStyle;
|
||||||
nsCOMPtr<imgIContainer> mImage;
|
nsCOMPtr<imgIContainer> mImage;
|
||||||
nsIFrame* mDependentFrame;
|
nsIFrame* mDependentFrame;
|
||||||
nsRect mBackgroundRect; // relative to the reference frame
|
nsRect mBackgroundRect; // relative to the reference frame
|
||||||
@ -4179,7 +4179,7 @@ class nsDisplayBackgroundColor : public nsDisplayItem
|
|||||||
public:
|
public:
|
||||||
nsDisplayBackgroundColor(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame,
|
nsDisplayBackgroundColor(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame,
|
||||||
const nsRect& aBackgroundRect,
|
const nsRect& aBackgroundRect,
|
||||||
const nsStyleBackground* aBackgroundStyle,
|
mozilla::ComputedStyle* aBackgroundStyle,
|
||||||
nscolor aColor)
|
nscolor aColor)
|
||||||
: nsDisplayItem(aBuilder, aFrame)
|
: nsDisplayItem(aBuilder, aFrame)
|
||||||
, mBackgroundRect(aBackgroundRect)
|
, mBackgroundRect(aBackgroundRect)
|
||||||
@ -4279,7 +4279,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
const nsRect mBackgroundRect;
|
const nsRect mBackgroundRect;
|
||||||
const nsStyleBackground* mBackgroundStyle;
|
RefPtr<mozilla::ComputedStyle> mBackgroundStyle;
|
||||||
nsIFrame* mDependentFrame;
|
nsIFrame* mDependentFrame;
|
||||||
mozilla::gfx::Color mColor;
|
mozilla::gfx::Color mColor;
|
||||||
|
|
||||||
@ -4293,7 +4293,7 @@ class nsDisplayTableBackgroundColor : public nsDisplayBackgroundColor
|
|||||||
public:
|
public:
|
||||||
nsDisplayTableBackgroundColor(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame,
|
nsDisplayTableBackgroundColor(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame,
|
||||||
const nsRect& aBackgroundRect,
|
const nsRect& aBackgroundRect,
|
||||||
const nsStyleBackground* aBackgroundStyle,
|
mozilla::ComputedStyle* aBackgroundStyle,
|
||||||
nscolor aColor,
|
nscolor aColor,
|
||||||
nsIFrame* aAncestorFrame)
|
nsIFrame* aAncestorFrame)
|
||||||
: nsDisplayBackgroundColor(aBuilder, aFrame, aBackgroundRect, aBackgroundStyle, aColor)
|
: nsDisplayBackgroundColor(aBuilder, aFrame, aBackgroundRect, aBackgroundStyle, aColor)
|
||||||
|
Loading…
Reference in New Issue
Block a user