Bug 968804 - Part k: Add outer window assertions to GetScrollXY; r=khuey

This commit is contained in:
Ms2ger 2014-06-29 17:31:12 +02:00
Родитель 3917460c93
Коммит e1edc26347
2 изменённых файлов: 12 добавлений и 10 удалений

Просмотреть файл

@ -5728,10 +5728,9 @@ nsGlobalWindow::GetScrollMaxY(int32_t* aScrollMaxY)
}
CSSIntPoint
nsGlobalWindow::GetScrollXY(bool aDoFlush, ErrorResult& aError)
nsGlobalWindow::GetScrollXY(bool aDoFlush)
{
FORWARD_TO_OUTER_OR_THROW(GetScrollXY, (aDoFlush, aError), aError,
CSSIntPoint(0, 0));
MOZ_ASSERT(IsOuterWindow());
if (aDoFlush) {
FlushPendingNotifications(Flush_Layout);
@ -5749,7 +5748,7 @@ nsGlobalWindow::GetScrollXY(bool aDoFlush, ErrorResult& aError)
// Oh, well. This is the expensive case -- the window is scrolled and we
// didn't actually flush yet. Repeat, but with a flush, since the content
// may get shorter and hence our scroll position may decrease.
return GetScrollXY(true, aError);
return GetScrollXY(true);
}
return sf->GetScrollPositionCSSPixels();
@ -5758,7 +5757,8 @@ nsGlobalWindow::GetScrollXY(bool aDoFlush, ErrorResult& aError)
int32_t
nsGlobalWindow::GetScrollX(ErrorResult& aError)
{
return GetScrollXY(false, aError).x;
FORWARD_TO_OUTER_OR_THROW(GetScrollX, (aError), aError, 0);
return GetScrollXY(false).x;
}
NS_IMETHODIMP
@ -5766,14 +5766,15 @@ nsGlobalWindow::GetScrollX(int32_t* aScrollX)
{
NS_ENSURE_ARG_POINTER(aScrollX);
ErrorResult rv;
*aScrollX = GetScrollXY(false, rv).x;
*aScrollX = GetScrollX(rv);
return rv.ErrorCode();
}
int32_t
nsGlobalWindow::GetScrollY(ErrorResult& aError)
{
return GetScrollXY(false, aError).y;
FORWARD_TO_OUTER_OR_THROW(GetScrollY, (aError), aError, 0);
return GetScrollXY(false).y;
}
NS_IMETHODIMP
@ -5781,7 +5782,7 @@ nsGlobalWindow::GetScrollY(int32_t* aScrollY)
{
NS_ENSURE_ARG_POINTER(aScrollY);
ErrorResult rv;
*aScrollY = GetScrollXY(false, rv).y;
*aScrollY = GetScrollY(rv);
return rv.ErrorCode();
}

Просмотреть файл

@ -1279,8 +1279,9 @@ protected:
// If aDoFlush is true, we'll flush our own layout; otherwise we'll try to
// just flush our parent and only flush ourselves if we think we need to.
mozilla::CSSIntPoint GetScrollXY(bool aDoFlush, mozilla::ErrorResult& aError);
nsresult GetScrollXY(int32_t* aScrollX, int32_t* aScrollY, bool aDoFlush);
// Outer windows only.
mozilla::CSSIntPoint GetScrollXY(bool aDoFlush);
void GetScrollMaxXY(int32_t* aScrollMaxX, int32_t* aScrollMaxY,
mozilla::ErrorResult& aError);