diff options
author | Moonchild <git-repo@palemoon.org> | 2020-03-11 23:24:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-11 23:24:42 +0100 |
commit | 41e5925b4271c598601fdc77238bbf6497576594 (patch) | |
tree | d857eb384de162a4404898f508d84693f71c3454 | |
parent | e8275b9a1e638e37953b949c879e04cc0f0387bb (diff) | |
parent | 8dc520647d8e33e36fd64addcd4345ed6744cd08 (diff) | |
download | UXP-41e5925b4271c598601fdc77238bbf6497576594.tar UXP-41e5925b4271c598601fdc77238bbf6497576594.tar.gz UXP-41e5925b4271c598601fdc77238bbf6497576594.tar.lz UXP-41e5925b4271c598601fdc77238bbf6497576594.tar.xz UXP-41e5925b4271c598601fdc77238bbf6497576594.zip |
Merge pull request #1481 from MoonchildProductions/1480
Skip abspos, fixed, float and placeholders for outline.
-rw-r--r-- | layout/generic/nsFrame.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/layout/generic/nsFrame.cpp b/layout/generic/nsFrame.cpp index 8d4ea8754..0d0c7108c 100644 --- a/layout/generic/nsFrame.cpp +++ b/layout/generic/nsFrame.cpp @@ -8447,9 +8447,13 @@ UnionBorderBoxes(nsIFrame* aFrame, bool aApplyTransform, Maybe<nsRect> clipPropClipRect = aFrame->GetClipPropClipRect(disp, effects, bounds.Size()); - // Iterate over all children except pop-ups. + // Iterate over all children except pop-ups, absolutely positioned children, + // fixed-positioned children and floats. const nsIFrame::ChildListIDs skip(nsIFrame::kPopupList | - nsIFrame::kSelectPopupList); + nsIFrame::kSelectPopupList | + nsIFrame::kAbsoluteList | + nsIFrame::kFixedList | + nsIFrame::kFloatList); for (nsIFrame::ChildListIterator childLists(aFrame); !childLists.IsDone(); childLists.Next()) { if (skip.Contains(childLists.CurrentID())) { @@ -8459,6 +8463,12 @@ UnionBorderBoxes(nsIFrame* aFrame, bool aApplyTransform, nsFrameList children = childLists.CurrentList(); for (nsFrameList::Enumerator e(children); !e.AtEnd(); e.Next()) { nsIFrame* child = e.get(); + + if (child->GetType() == nsGkAtoms::placeholderFrame) { + // Skip placeholders too. + continue; + } + // Note that passing |true| for aApplyTransform when // child->Combines3DTransformWithAncestors() is incorrect if our // aApplyTransform is false... but the opposite would be as |