зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
fd8d46b7b6
Коммит
6e65573ea5
|
@ -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(
|
||||
|
|
Загрузка…
Ссылка в новой задаче