зеркало из https://github.com/mozilla/gecko-dev.git
Backout changeset 3c553c4b10e9 (bug 539356) because of performance and correctness regressions
This commit is contained in:
Родитель
d61b4e8438
Коммит
b1c751a629
|
@ -4597,12 +4597,6 @@ void
|
|||
nsIFrame::InvalidateFrameSubtree(PRUint32 aFlags)
|
||||
{
|
||||
InvalidateFrame(aFlags);
|
||||
|
||||
if (HasAnyStateBits(NS_FRAME_ALL_DESCENDANTS_NEED_PAINT)) {
|
||||
return;
|
||||
}
|
||||
|
||||
AddStateBits(NS_FRAME_ALL_DESCENDANTS_NEED_PAINT);
|
||||
|
||||
nsAutoTArray<nsIFrame::ChildList,4> childListArray;
|
||||
GetCrossDocChildLists(&childListArray);
|
||||
|
@ -4633,9 +4627,7 @@ nsIFrame::ClearInvalidationStateBits()
|
|||
}
|
||||
}
|
||||
|
||||
RemoveStateBits(NS_FRAME_NEEDS_PAINT |
|
||||
NS_FRAME_DESCENDANT_NEEDS_PAINT |
|
||||
NS_FRAME_ALL_DESCENDANTS_NEED_PAINT);
|
||||
RemoveStateBits(NS_FRAME_NEEDS_PAINT | NS_FRAME_DESCENDANT_NEEDS_PAINT);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -7792,13 +7784,6 @@ nsFrame::SetParent(nsIFrame* aParent)
|
|||
} else {
|
||||
RemoveInPopupStateBitFromDescendants(this);
|
||||
}
|
||||
|
||||
// If our new parent only has invalid children, then we just invalidate
|
||||
// ourselves too. This is probably faster than clearing the flag all
|
||||
// the way up the frame tree.
|
||||
if (aParent->HasAnyStateBits(NS_FRAME_ALL_DESCENDANTS_NEED_PAINT)) {
|
||||
InvalidateFrame(INVALIDATE_DONT_SCHEDULE_PAINT);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -286,14 +286,8 @@ typedef PRUint64 nsFrameState;
|
|||
// cross-doc children.
|
||||
#define NS_FRAME_DESCENDANT_NEEDS_PAINT NS_FRAME_STATE_BIT(46)
|
||||
|
||||
// Frame has only descendant frames that needs painting - This includes
|
||||
// cross-doc children. This guarantees that all descendents have
|
||||
// NS_FRAME_NEEDS_PAINT and NS_FRAME_ALL_DESCENDANTS_NEED_PAINT, or they
|
||||
// have no display items.
|
||||
#define NS_FRAME_ALL_DESCENDANTS_NEED_PAINT NS_FRAME_STATE_BIT(47)
|
||||
|
||||
// Frame is a descendant of a popup
|
||||
#define NS_FRAME_IN_POPUP NS_FRAME_STATE_BIT(48)
|
||||
#define NS_FRAME_IN_POPUP NS_FRAME_STATE_BIT(47)
|
||||
|
||||
// Box layout bits
|
||||
#define NS_STATE_IS_HORIZONTAL NS_FRAME_STATE_BIT(22)
|
||||
|
|
Загрузка…
Ссылка в новой задаче