Bug 1120211 - Don't force the innerwindow size to the outerwindow size if the viewport is overridden. r=dbaron

In Fennec, if the root window gets resized, background tabs get a delayed
resize event queued up. When those background tabs get painted next, the delayed
resize is flushed. However, the code that flushes the delayed resize does not
check to see if the viewport is already overridden. This is in contrast to all
the other code paths that propagate outerwindow size change to the innerwindow,
and is incorrect because it effectively clobbers any meta-viewport tag with the
outerwindow dimensions. This patch corrects this code path to also check if the
viewport is overridden.
This commit is contained in:
Kartikaya Gupta 2015-01-11 18:26:39 -05:00
Родитель 1ba6fc99e3
Коммит 7370fc443f
1 изменённых файлов: 1 добавлений и 1 удалений

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

@ -226,7 +226,7 @@ nsViewManager::FlushDelayedResize(bool aDoReflow)
if (aDoReflow) {
DoSetWindowDimensions(mDelayedResize.width, mDelayedResize.height);
mDelayedResize.SizeTo(NSCOORD_NONE, NSCOORD_NONE);
} else if (mPresShell) {
} else if (mPresShell && !mPresShell->GetIsViewportOverridden()) {
nsPresContext* presContext = mPresShell->GetPresContext();
if (presContext) {
presContext->SetVisibleArea(nsRect(nsPoint(0, 0), mDelayedResize));