From 3e363ae30703fa979263f61665be5b05ef758ed1 Mon Sep 17 00:00:00 2001 From: Rob Wu Date: Sun, 28 Sep 2014 21:54:07 +0200 Subject: [PATCH] scrollIntoView: Skip overflow:hidden elements --- web/ui_utils.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/web/ui_utils.js b/web/ui_utils.js index e58b77106..0e652ab27 100644 --- a/web/ui_utils.js +++ b/web/ui_utils.js @@ -116,13 +116,14 @@ function scrollIntoView(element, spot) { // hidden iframe or object). We have to scroll: if the offsetParent is not set // producing the error. See also animationStartedClosure. var parent = element.offsetParent; - var offsetY = element.offsetTop + element.clientTop; - var offsetX = element.offsetLeft + element.clientLeft; if (!parent) { console.error('offsetParent is not set -- cannot scroll'); return; } - while (parent.clientHeight === parent.scrollHeight) { + var offsetY = element.offsetTop + element.clientTop; + var offsetX = element.offsetLeft + element.clientLeft; + while (parent.clientHeight === parent.scrollHeight || + getComputedStyle(parent).overflow === 'hidden') { if (parent.dataset._scaleY) { offsetY /= parent.dataset._scaleY; offsetX /= parent.dataset._scaleX;