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:
Botond Ballo 2014-04-10 13:16:20 -04:00
Родитель b69446b27b
Коммит 5e5f9350a9
2 изменённых файлов: 11 добавлений и 3 удалений

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

@ -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,