diff options
Diffstat (limited to 'layout/generic/nsVideoFrame.cpp')
-rw-r--r-- | layout/generic/nsVideoFrame.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/layout/generic/nsVideoFrame.cpp b/layout/generic/nsVideoFrame.cpp index 43383044b..9f27684a7 100644 --- a/layout/generic/nsVideoFrame.cpp +++ b/layout/generic/nsVideoFrame.cpp @@ -446,6 +446,7 @@ public: void nsVideoFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, + const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { if (!IsVisibleForPainting(aBuilder)) @@ -481,16 +482,14 @@ nsVideoFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, // but only want to draw mPosterImage conditionally. Others we // always add to the display list. for (nsIFrame* child : mFrames) { - if (child->GetContent() != mPosterImage || shouldDisplayPoster || - child->GetType() == nsGkAtoms::boxFrame) { - - nsDisplayListBuilder::AutoBuildingDisplayList - buildingForChild(aBuilder, child, - aBuilder->GetVisibleRect() - child->GetOffsetTo(this), - aBuilder->GetDirtyRect() - child->GetOffsetTo(this), - aBuilder->IsAtRootOfPseudoStackingContext()); - - child->BuildDisplayListForStackingContext(aBuilder, aLists.Content()); + if (child->GetContent() != mPosterImage || shouldDisplayPoster) { + child->BuildDisplayListForStackingContext(aBuilder, + aDirtyRect - child->GetOffsetTo(this), + aLists.Content()); + } else if (child->GetType() == nsGkAtoms::boxFrame) { + child->BuildDisplayListForStackingContext(aBuilder, + aDirtyRect - child->GetOffsetTo(this), + aLists.Content()); } } } |