Bug 841192. Part 11: Make nsDisplayOptionEventGrabber be a non-anonymous display item list wrapper. r=mattwoodrow

--HG--
extra : rebase_source : c77c6d8a9385683a5659439793f397be959b277c
This commit is contained in:
Robert O'Callahan 2013-03-07 00:08:14 +13:00
parent 2c2eff00fe
commit ed8002750e

View File

@ -42,9 +42,6 @@ public:
virtual void HitTest(nsDisplayListBuilder* aBuilder, const nsRect& aRect,
HitTestState* aState, nsTArray<nsIFrame*> *aOutFrames);
NS_DISPLAY_DECL_NAME("OptionEventGrabber", TYPE_OPTION_EVENT_GRABBER)
virtual nsDisplayWrapList* WrapWithClone(nsDisplayListBuilder* aBuilder,
nsDisplayItem* aItem);
};
void nsDisplayOptionEventGrabber::HitTest(nsDisplayListBuilder* aBuilder,
@ -67,13 +64,6 @@ void nsDisplayOptionEventGrabber::HitTest(nsDisplayListBuilder* aBuilder,
aOutFrames->AppendElement(outFrames.ElementAt(i));
}
}
}
nsDisplayWrapList* nsDisplayOptionEventGrabber::WrapWithClone(
nsDisplayListBuilder* aBuilder, nsDisplayItem* aItem) {
return new (aBuilder)
nsDisplayOptionEventGrabber(aBuilder, aItem->GetUnderlyingFrame(), aItem);
}
class nsOptionEventGrabberWrapper : public nsDisplayWrapper
@ -82,9 +72,7 @@ public:
nsOptionEventGrabberWrapper() {}
virtual nsDisplayItem* WrapList(nsDisplayListBuilder* aBuilder,
nsIFrame* aFrame, nsDisplayList* aList) {
// We can't specify the underlying frame here. We need this list to be
// exploded if sorted.
return new (aBuilder) nsDisplayOptionEventGrabber(aBuilder, nullptr, aList);
return new (aBuilder) nsDisplayOptionEventGrabber(aBuilder, aFrame, aList);
}
virtual nsDisplayItem* WrapItem(nsDisplayListBuilder* aBuilder,
nsDisplayItem* aItem) {
@ -142,7 +130,7 @@ nsSelectsAreaFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
BuildDisplayListInternal(aBuilder, aDirtyRect, aLists);
return;
}
nsDisplayListCollection set;
BuildDisplayListInternal(aBuilder, aDirtyRect, set);