зеркало из https://github.com/mozilla/gecko-dev.git
Bug 994816 - Avoid doing any alignment of display port when tiling is disabled. r=tn
--HG-- extra : rebase_source : 39a12744d84990a395f41fcd53713337203e5666
This commit is contained in:
Родитель
b69446b27b
Коммит
5e5f9350a9
|
@ -735,6 +735,14 @@ nsLayoutUtils::GetDisplayPort(nsIContent* aContent, nsRect *aResult)
|
|||
nsPoint scrollPos(
|
||||
scrollableFrame ? scrollableFrame->GetScrollPosition() : nsPoint(0,0));
|
||||
if (marginsData->mAlignmentX > 0 || marginsData->mAlignmentY > 0) {
|
||||
// Avoid division by zero.
|
||||
if (marginsData->mAlignmentX == 0) {
|
||||
marginsData->mAlignmentX = 1;
|
||||
}
|
||||
if (marginsData->mAlignmentY == 0) {
|
||||
marginsData->mAlignmentY = 1;
|
||||
}
|
||||
|
||||
LayerPoint scrollPosLayer(
|
||||
res.width * NSAppUnitsToFloatPixels(scrollPos.x, auPerDevPixel),
|
||||
res.height * NSAppUnitsToFloatPixels(scrollPos.y, auPerDevPixel));
|
||||
|
@ -2533,7 +2541,7 @@ nsLayoutUtils::GetOrMaybeCreateDisplayPort(nsDisplayListBuilder& aBuilder,
|
|||
nsIPresShell* presShell = aScrollFrame->PresContext()->GetPresShell();
|
||||
gfx::IntSize alignment = gfxPrefs::LayersTilesEnabled()
|
||||
? gfx::IntSize(gfxPrefs::LayersTileWidth(), gfxPrefs::LayersTileHeight()) :
|
||||
gfx::IntSize(1, 1);
|
||||
gfx::IntSize(0, 0);
|
||||
nsLayoutUtils::SetDisplayPortMargins(
|
||||
content, presShell, displayportMargins, alignment.width,
|
||||
alignment.height, 0, nsLayoutUtils::RepaintMode::DoNotRepaint);
|
||||
|
|
|
@ -230,7 +230,7 @@ APZCCallbackHelper::UpdateRootFrame(nsIDOMWindowUtils* aUtils,
|
|||
} else {
|
||||
gfx::IntSize alignment = gfxPrefs::LayersTilesEnabled()
|
||||
? gfx::IntSize(gfxPrefs::LayersTileWidth(), gfxPrefs::LayersTileHeight()) :
|
||||
gfx::IntSize(1, 1);
|
||||
gfx::IntSize(0, 0);
|
||||
LayerMargin margins = aMetrics.GetDisplayPortMargins();
|
||||
aUtils->SetDisplayPortMarginsForElement(margins.left,
|
||||
margins.top,
|
||||
|
@ -285,7 +285,7 @@ APZCCallbackHelper::UpdateSubFrame(nsIContent* aContent,
|
|||
} else {
|
||||
gfx::IntSize alignment = gfxPrefs::LayersTilesEnabled()
|
||||
? gfx::IntSize(gfxPrefs::LayersTileWidth(), gfxPrefs::LayersTileHeight()) :
|
||||
gfx::IntSize(1, 1);
|
||||
gfx::IntSize(0, 0);
|
||||
LayerMargin margins = aMetrics.GetDisplayPortMargins();
|
||||
utils->SetDisplayPortMarginsForElement(margins.left,
|
||||
margins.top,
|
||||
|
|
Загрузка…
Ссылка в новой задаче