Bug 1364360 part 2. Make Element::GetScrollFrame take a flush type, not a "should I flush?" boolean. r=ehsan

This commit is contained in:
Boris Zbarsky 2017-05-25 13:39:44 -04:00
parent 3119ff4e5e
commit 42c1cf9ea3
2 changed files with 6 additions and 7 deletions

View File

@ -663,7 +663,7 @@ Element::GetStyledFrame()
}
nsIScrollableFrame*
Element::GetScrollFrame(nsIFrame **aStyledFrame, bool aFlushLayout)
Element::GetScrollFrame(nsIFrame **aStyledFrame, FlushType aFlushType)
{
// it isn't clear what to return for SVG nodes, so just return nothing
if (IsSVGElement()) {
@ -673,9 +673,8 @@ Element::GetScrollFrame(nsIFrame **aStyledFrame, bool aFlushLayout)
return nullptr;
}
// Inline version of GetStyledFrame to use FlushType::None if needed.
nsIFrame* frame =
GetPrimaryFrame(aFlushLayout ? FlushType::Layout : FlushType::None);
// Inline version of GetStyledFrame to use the given FlushType.
nsIFrame* frame = GetPrimaryFrame(aFlushType);
if (frame) {
frame = nsLayoutUtils::GetStyleFrame(frame);
}
@ -895,7 +894,7 @@ Element::SetScrollLeft(int32_t aScrollLeft)
bool
Element::ScrollByNoFlush(int32_t aDx, int32_t aDy)
{
nsIScrollableFrame* sf = GetScrollFrame(nullptr, false);
nsIScrollableFrame* sf = GetScrollFrame(nullptr, FlushType::None);
if (!sf) {
return false;
}
@ -917,7 +916,7 @@ Element::ScrollByNoFlush(int32_t aDx, int32_t aDy)
void
Element::MozScrollSnap()
{
nsIScrollableFrame* sf = GetScrollFrame(nullptr, false);
nsIScrollableFrame* sf = GetScrollFrame(nullptr, FlushType::None);
if (sf) {
sf->ScrollSnap();
}

View File

@ -1593,7 +1593,7 @@ private:
nsRect GetClientAreaRect();
nsIScrollableFrame* GetScrollFrame(nsIFrame **aStyledFrame = nullptr,
bool aFlushLayout = true);
FlushType aFlushType = FlushType::Layout);
// Data members
EventStates mState;