1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/layout/reftests/bugs/508816-1-ref.xul Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,52 @@ 1.4 +<?xml version="1.0"?> 1.5 +<!DOCTYPE window> 1.6 +<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="RTL overflow test" width="640px" height="480px" style="direction: rtl" onload="load()" class="reftest-wait"> 1.7 + 1.8 +<hbox style="max-width: 200px; border: 1px solid red;"> 1.9 +<scrollbox id="sb" align="start" pack="start" orient="horizontal" flex="1"> 1.10 + <button id="sb1" label="test1"/><button label="test2"/><button label="test3"/><button label="test4"/><button label="test5"/> 1.11 +</scrollbox> 1.12 +</hbox> 1.13 + 1.14 +<hbox style="max-width: 200px; border: 1px solid blue"> 1.15 +<arrowscrollbox id="asb" align="start" pack="start" orient="horizontal" flex="1"> 1.16 + <button id="asb1" label="test1"/><button label="test2"/><button label="test3"/><button label="test4"/><button label="test5"/> 1.17 +</arrowscrollbox> 1.18 +</hbox> 1.19 + 1.20 +<hbox style="max-width: 200px; border: 1px solid black"> 1.21 +<hbox align="end" pack="end" flex="1"> 1.22 + <button label="test1"/><button label="test2"/><button label="test3"/><button label="test4"/><button label="test5"/> 1.23 +</hbox> 1.24 +</hbox> 1.25 + 1.26 +<script type="text/javascript"> 1.27 + <![CDATA[ 1.28 + function load() { 1.29 + // arrowscrollbox provides a helper ensureElementIsVisible method 1.30 + document.getElementById("asb").ensureElementIsVisible(document.getElementById("asb1"), false); 1.31 + 1.32 + // scrollbox doesn't provide that, so we have to do the heavy lifting directly 1.33 + var sb = document.getElementById("sb"); 1.34 + var sb1 = document.getElementById("sb1"); 1.35 + var rect = sb.getBoundingClientRect(); 1.36 + var containerStart = rect.left; 1.37 + var containerEnd = rect.right; 1.38 + rect = sb1.getBoundingClientRect(); 1.39 + var elementStart = rect.left; 1.40 + var elementEnd = rect.right; 1.41 + 1.42 + var amountToScroll = 0; 1.43 + if (elementStart < containerStart) { 1.44 + amountToScroll = elementStart - containerStart; 1.45 + } else if (elementEnd > containerEnd) { 1.46 + amountToScroll = elementEnd - containerEnd; 1.47 + } 1.48 + sb.scrollLeft += amountToScroll; 1.49 + 1.50 + document.documentElement.removeAttribute("class"); 1.51 + } 1.52 + ]]> 1.53 +</script> 1.54 + 1.55 +</window>