зеркало из https://github.com/mozilla/gecko-dev.git
Bug 627293 - backout for Ts regression [r=me]
This commit is contained in:
Родитель
a783a86c85
Коммит
e8be5a3e14
|
@ -142,9 +142,6 @@
|
||||||
// Recalculate whether the visible area is actually in bounds
|
// Recalculate whether the visible area is actually in bounds
|
||||||
let view = self.getRootView();
|
let view = self.getRootView();
|
||||||
view.scrollBy(0, 0);
|
view.scrollBy(0, 0);
|
||||||
|
|
||||||
// XXX Actually this fire a SetCacheViewport event as well as the
|
|
||||||
// scrolledAreaChanged handler in content/chrome/browser.js
|
|
||||||
view._updateCacheViewport();
|
view._updateCacheViewport();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2544,8 +2544,7 @@ Tab.prototype = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (browser.contentWindowWidth != viewportW || browser.contentWindowHeight != viewportH)
|
browser.setWindowSize(viewportW, viewportH);
|
||||||
browser.setWindowSize(viewportW, viewportH);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
restoreViewportPosition: function restoreViewportPosition(aOldWidth, aNewWidth) {
|
restoreViewportPosition: function restoreViewportPosition(aOldWidth, aNewWidth) {
|
||||||
|
@ -2858,31 +2857,29 @@ var ViewableAreaObserver = {
|
||||||
|
|
||||||
let newWidth = this.width;
|
let newWidth = this.width;
|
||||||
let newHeight = this.height;
|
let newHeight = this.height;
|
||||||
if (newHeight == oldHeight && newWidth == oldWidth)
|
if (newHeight != oldHeight || newWidth != oldWidth) {
|
||||||
return;
|
Browser.styles["viewable-height"].height = newHeight + "px";
|
||||||
|
Browser.styles["viewable-height"].maxHeight = newHeight + "px";
|
||||||
|
|
||||||
Browser.styles["viewable-height"].height = newHeight + "px";
|
Browser.styles["viewable-width"].width = newWidth + "px";
|
||||||
Browser.styles["viewable-height"].maxHeight = newHeight + "px";
|
Browser.styles["viewable-width"].maxWidth = newWidth + "px";
|
||||||
|
|
||||||
Browser.styles["viewable-width"].width = newWidth + "px";
|
for (let i = Browser.tabs.length - 1; i >= 0; i--) {
|
||||||
Browser.styles["viewable-width"].maxWidth = newWidth + "px";
|
let tab = Browser.tabs[i];
|
||||||
|
tab.updateViewportSize();
|
||||||
|
|
||||||
for (let i = Browser.tabs.length - 1; i >= 0; i--) {
|
// If the viewport width is still the same, the page layout has not
|
||||||
let tab = Browser.tabs[i];
|
// changed, so we can keep keep the same content on-screen.
|
||||||
tab.updateViewportSize();
|
if (tab.browser.contentWindowWidth == oldWidth)
|
||||||
tab.updateDefaultZoomLevel();
|
tab.restoreViewportPosition(oldWidth, newWidth);
|
||||||
|
}
|
||||||
|
|
||||||
// If the viewport width is still the same, the page layout has not
|
// setTimeout(callback, 0) to ensure the resize event handler dispatch is finished
|
||||||
// changed, so we can keep keep the same content on-screen.
|
setTimeout(function() {
|
||||||
if (tab.browser.contentWindowWidth == oldWidth)
|
let event = document.createEvent("Events");
|
||||||
tab.restoreViewportPosition(oldWidth, newWidth);
|
event.initEvent("SizeChanged", true, false);
|
||||||
|
Elements.browsers.dispatchEvent(event);
|
||||||
|
}, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// setTimeout(callback, 0) to ensure the resize event handler dispatch is finished
|
|
||||||
setTimeout(function() {
|
|
||||||
let event = document.createEvent("Events");
|
|
||||||
event.initEvent("SizeChanged", true, false);
|
|
||||||
Elements.browsers.dispatchEvent(event);
|
|
||||||
}, 0);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Загрузка…
Ссылка в новой задаче