layout/reftests/bugs/508816-1-ref.xul

changeset 0
6474c204b198
     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>

mercurial