From a9d9c845ec202d26863dd8aa0fdebcb36b51cb2d Mon Sep 17 00:00:00 2001 From: Vivien Nicolas <21@vingtetun.org> Date: Thu, 3 Feb 2011 18:58:43 +0100 Subject: [PATCH] Bug 628633 - [Regression] Find in Page does not scroll down when hitting the Down Arrow from the findbar [r=mfinkle,mbrubeck] --- mobile/chrome/content/common-ui.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/mobile/chrome/content/common-ui.js b/mobile/chrome/content/common-ui.js index 9c0efb27807a..b4614614d2ee 100644 --- a/mobile/chrome/content/common-ui.js +++ b/mobile/chrome/content/common-ui.js @@ -560,14 +560,22 @@ var FindHelperUI = { }, _zoom: function _findHelperZoom(aElementRect) { - // Zoom to a specified Rect - if (aElementRect && Browser.selectedTab.allowZoom && Services.prefs.getBoolPref("findhelper.autozoom")) { + let autozoomEnabled = Services.prefs.getBoolPref("findhelper.autozoom"); + if (!aElementRect || !autozoomEnabled) + return; + + if (Browser.selectedTab.allowZoom) { let zoomLevel = Browser._getZoomLevelForRect(aElementRect); zoomLevel = Math.min(Math.max(kBrowserFormZoomLevelMin, zoomLevel), kBrowserFormZoomLevelMax); zoomLevel = Browser.selectedTab.clampZoomLevel(zoomLevel); let zoomRect = Browser._getZoomRectForPoint(aElementRect.center().x, aElementRect.y, zoomLevel); AnimatedZoom.animateTo(zoomRect); + } else { + // Even if zooming is disabled we could need to reposition the view in + // order to keep the element on-screen + let zoomRect = Browser._getZoomRectForPoint(aElementRect.center().x, aElementRect.y, getBrowser().scale); + AnimatedZoom.animateTo(zoomRect); } } };