Bug 1126230 part 7 - Add static method nsDisplayListBuilder::GetOutOfFlowData(). r=roc

--HG--
extra : source : 995811d926293af0bddc1f4738c524b2e9745566
This commit is contained in:
Xidorn Quan 2015-10-07 14:04:32 +11:00
parent a030778467
commit c2d718f5cb
2 changed files with 8 additions and 2 deletions

View File

@ -864,6 +864,13 @@ public:
NS_DECLARE_FRAME_PROPERTY(OutOfFlowDisplayDataProperty,
DeleteValue<OutOfFlowDisplayData>)
static OutOfFlowDisplayData* GetOutOfFlowData(nsIFrame* aFrame)
{
return static_cast<OutOfFlowDisplayData*>(
aFrame->Properties().Get(OutOfFlowDisplayDataProperty()));
}
NS_DECLARE_FRAME_PROPERTY(Preserve3DDirtyRectProperty, DeleteValue<nsRect>)
nsPresContext* CurrentPresContext() {

View File

@ -2333,8 +2333,7 @@ nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder* aBuilder,
// Recheck NS_FRAME_TOO_DEEP_IN_FRAME_TREE
if (child->GetStateBits() & NS_FRAME_TOO_DEEP_IN_FRAME_TREE)
return;
savedOutOfFlowData = static_cast<nsDisplayListBuilder::OutOfFlowDisplayData*>
(child->Properties().Get(nsDisplayListBuilder::OutOfFlowDisplayDataProperty()));
savedOutOfFlowData = nsDisplayListBuilder::GetOutOfFlowData(child);
if (savedOutOfFlowData) {
dirty = savedOutOfFlowData->mDirtyRect;
} else {