Bug 1041510. Allow z-index overrides of 0 to work correctly on display items. r=roc

This commit is contained in:
Timothy Nikkel 2014-07-23 18:07:18 -05:00
parent 6c3f5d7b8e
commit 3ace971252
2 changed files with 6 additions and 3 deletions

View File

@ -2937,6 +2937,7 @@ nsDisplayWrapList::nsDisplayWrapList(nsDisplayListBuilder* aBuilder,
nsIFrame* aFrame, nsDisplayList* aList)
: nsDisplayItem(aBuilder, aFrame)
, mOverrideZIndex(0)
, mHasZIndexOverride(false)
{
MOZ_COUNT_CTOR(nsDisplayWrapList);
@ -2983,6 +2984,7 @@ nsDisplayWrapList::nsDisplayWrapList(nsDisplayListBuilder* aBuilder,
nsIFrame* aFrame, nsDisplayItem* aItem)
: nsDisplayItem(aBuilder, aFrame)
, mOverrideZIndex(0)
, mHasZIndexOverride(false)
{
MOZ_COUNT_CTOR(nsDisplayWrapList);

View File

@ -2511,7 +2511,7 @@ public:
nsDisplayWrapList(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame,
nsDisplayItem* aItem);
nsDisplayWrapList(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame)
: nsDisplayItem(aBuilder, aFrame), mOverrideZIndex(0)
: nsDisplayItem(aBuilder, aFrame), mOverrideZIndex(0), mHasZIndexOverride(false)
{
MOZ_COUNT_CTOR(nsDisplayWrapList);
}
@ -2574,11 +2574,12 @@ public:
virtual int32_t ZIndex() const MOZ_OVERRIDE
{
return (mOverrideZIndex > 0) ? mOverrideZIndex : nsDisplayItem::ZIndex();
return (mHasZIndexOverride) ? mOverrideZIndex : nsDisplayItem::ZIndex();
}
void SetOverrideZIndex(int32_t aZIndex)
{
mHasZIndexOverride = true;
mOverrideZIndex = aZIndex;
}
@ -2611,8 +2612,8 @@ protected:
// this item's own frame.
nsTArray<nsIFrame*> mMergedFrames;
nsRect mBounds;
// Overrides the ZIndex of our frame if > 0.
int32_t mOverrideZIndex;
bool mHasZIndexOverride;
};
/**