From 0c344378057374545d83ef86cd52153fbe4299ea Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Fri, 24 Sep 2010 17:38:25 -0400 Subject: [PATCH] Fix itemlist scrolling changes in revision 1e95cff03040. --- common/content/commandline.js | 4 ++-- common/modules/util.jsm | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common/content/commandline.js b/common/content/commandline.js index d184d254..1aa30d1b 100644 --- a/common/content/commandline.js +++ b/common/content/commandline.js @@ -1643,7 +1643,7 @@ const ItemList = Class("ItemList", { , this._divNodes); this._doc.body.replaceChild(this._div, this._doc.body.firstChild); - util.scrollIntoView(this._div); + util.scrollIntoView(this._div, true); this._items.contextList.forEach(function init_eachContext(context) { delete context.cache.nodes; @@ -1813,7 +1813,7 @@ const ItemList = Class("ItemList", { this._fill(newOffset); if (index >= 0) { this._getCompletion(index).setAttribute("selected", "true"); - this._getCompletion(index).scrollIntoView(false); + util.scrollIntoView(this._getCompletion(index)); } //if (index == 0) diff --git a/common/modules/util.jsm b/common/modules/util.jsm index 84c87afc..f8b35758 100644 --- a/common/modules/util.jsm +++ b/common/modules/util.jsm @@ -668,11 +668,11 @@ const Util = Module("Util", { * * @param {Node} elem The element to make visible. */ - scrollIntoView: function scrollIntoView(elem) { + scrollIntoView: function scrollIntoView(elem, alignWithTop) { let win = elem.ownerDocument.defaultView; let rect = elem.getBoundingClientRect(); - if (!(rect && rect.top < win.innerHeight && rect.bottom >= 0 && rect.left < win.innerWidth && rect.right >= 0)) - elem.scrollIntoView(); + if (!(rect && rect.bottom <= win.innerHeight && rect.top >= 0 && rect.right <= win.innerWidth && rect.left >= 0)) + elem.scrollIntoView(arguments.length > 1 ? alignWithTop : Math.abs(rect.top) < Math.abs(win.innerHeight - rect.bottom)); }, /**