Bug 1728665. Use IsRootContentDocumentCrossProcess for a few places dealing with visual scroll offsets. r=botond

Visual scroll offsets can only differ on the cross process root content document.

Differential Revision: https://phabricator.services.mozilla.com/D124257
This commit is contained in:
Timothy Nikkel 2021-09-01 23:25:44 +00:00
Родитель fd8d46b7b6
Коммит 6e65573ea5
3 изменённых файлов: 4 добавлений и 3 удалений

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

@ -4932,7 +4932,7 @@ nsresult nsDocShell::SetCurScrollPosEx(int32_t aCurHorizontalPos,
NS_ENSURE_TRUE(presContext, NS_ERROR_FAILURE);
// Only the root content document can have a distinct visual viewport offset.
if (!presContext->IsRootContentDocument()) {
if (!presContext->IsRootContentDocumentCrossProcess()) {
return NS_OK;
}

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

@ -1699,7 +1699,8 @@ nsDOMWindowUtils::ScrollToVisual(float aOffsetX, float aOffsetY,
NS_ENSURE_TRUE(presContext, NS_ERROR_NOT_AVAILABLE);
// This should only be called on the root content document.
NS_ENSURE_TRUE(presContext->IsRootContentDocument(), NS_ERROR_INVALID_ARG);
NS_ENSURE_TRUE(presContext->IsRootContentDocumentCrossProcess(),
NS_ERROR_INVALID_ARG);
FrameMetrics::ScrollOffsetUpdateType updateType;
switch (aUpdateType) {

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

@ -309,7 +309,7 @@ void SessionStoreUtils::RestoreScrollPosition(
if (nsCOMPtr<Document> doc = aWindow.GetExtantDoc()) {
if (nsPresContext* presContext = doc->GetPresContext()) {
if (presContext->IsRootContentDocument()) {
if (presContext->IsRootContentDocumentCrossProcess()) {
// Use eMainThread so this takes precedence over session history
// (ScrollFrameHelper::ScrollToRestoredPosition()).
presContext->PresShell()->ScrollToVisual(