diff --git a/mobile/chrome/content/browser-ui.js b/mobile/chrome/content/browser-ui.js index 60a76ce8ff9d..4f8aa05e11ad 100644 --- a/mobile/chrome/content/browser-ui.js +++ b/mobile/chrome/content/browser-ui.js @@ -2143,13 +2143,18 @@ var FormHelperUI = { let zoomRect = Rect.fromRect(browser.getBoundingClientRect()); // Zoom to a specified Rect - if (aElementRect && Browser.selectedTab.allowZoom && Services.prefs.getBoolPref("formhelper.autozoom")) { + let autozoomEnabled = Services.prefs.getBoolPref("formhelper.autozoom"); + if (aElementRect && Browser.selectedTab.allowZoom && autozoomEnabled) { this._currentElementRect = aElementRect; // Zoom to an element by keeping the caret into view let zoomLevel = Browser.selectedTab.clampZoomLevel(this._getZoomLevelForRect(aElementRect)); zoomRect = Browser._getZoomRectForPoint(aElementRect.center().x, aElementRect.y, zoomLevel); Browser.animatedZoomTo(zoomRect); + } else if (aElementRect && !Browser.selectedTab.allowZoom && autozoomEnabled) { + // Even if zooming is disabled we could need to reposition the view in + // order to keep the element on-screen + Browser.animatedZoomTo(zoomRect); } this._ensureCaretVisible(aCaretRect);