Bug 1501665 Part 5: Change UpdateShouldBuildAsyncZoomContainer to check if document is zoomable. r=botond

Also update ScrollFrameHelper::LayoutScrollbars() to correctly handle
overlay scrollbars when zoomed in in RDM.

Differential Revision: https://phabricator.services.mozilla.com/D20591

--HG--
extra : source : 6a84e97d0e62839c3028a3c3ac89cd944f8e39e5
This commit is contained in:
Brad Werth 2019-03-18 14:57:20 +00:00
Родитель 7fc19a53b5
Коммит c2c75edc72
2 изменённых файлов: 6 добавлений и 4 удалений

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

@ -5921,10 +5921,11 @@ void ScrollFrameHelper::LayoutScrollbars(nsBoxLayoutState& aState,
bool hasResizer = HasResizer();
bool scrollbarOnLeft = !IsScrollbarOnRight();
bool overlayScrollBars =
LookAndFeel::GetInt(LookAndFeel::eIntID_UseOverlayScrollbars) ||
presShell->GetDocument()->InRDMPane();
bool overlayScrollBarsWithZoom =
mIsRoot &&
LookAndFeel::GetInt(LookAndFeel::eIntID_UseOverlayScrollbars) &&
presShell->IsVisualViewportSizeSet();
overlayScrollBars && mIsRoot && presShell->IsVisualViewportSizeSet();
nsSize scrollPortClampingSize = mScrollPort.Size();
double res = 1.0;

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

@ -1261,7 +1261,8 @@ AnimatedGeometryRoot* nsDisplayListBuilder::FindAnimatedGeometryRootFor(
}
void nsDisplayListBuilder::UpdateShouldBuildAsyncZoomContainer() {
mBuildAsyncZoomContainer = gfxPrefs::APZAllowZooming() &&
Document* document = mReferenceFrame->PresContext()->Document();
mBuildAsyncZoomContainer = nsLayoutUtils::AllowZoomingForDocument(document) &&
!gfxPrefs::LayoutUseContainersForRootFrames();
}