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

Wed, 31 Dec 2014 07:16:47 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:16:47 +0100
branch
TOR_BUG_9701
changeset 3
141e0f1194b1
permissions
-rw-r--r--

Revert simplistic fix pending revisit of Mozilla integration attempt.

     1 <?xml version="1.0"?>
     2 <!DOCTYPE window>
     3 <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">
     5 <hbox style="max-width: 200px; border: 1px solid red;">
     6 <scrollbox id="sb" align="start" pack="start" orient="horizontal" flex="1">
     7   <button id="sb1" label="test1"/><button label="test2"/><button label="test3"/><button label="test4"/><button label="test5"/>
     8 </scrollbox>
     9 </hbox>
    11 <hbox style="max-width: 200px; border: 1px solid blue">
    12 <arrowscrollbox id="asb" align="start" pack="start" orient="horizontal" flex="1">
    13   <button id="asb1" label="test1"/><button label="test2"/><button label="test3"/><button label="test4"/><button label="test5"/>
    14 </arrowscrollbox>
    15 </hbox>
    17 <hbox style="max-width: 200px; border: 1px solid black">
    18 <hbox align="end" pack="end" flex="1">
    19   <button label="test1"/><button label="test2"/><button label="test3"/><button label="test4"/><button label="test5"/>
    20 </hbox>
    21 </hbox>
    23 <script type="text/javascript">
    24   <![CDATA[
    25     function load() {
    26       // arrowscrollbox provides a helper ensureElementIsVisible method
    27       document.getElementById("asb").ensureElementIsVisible(document.getElementById("asb1"), false);
    29       // scrollbox doesn't provide that, so we have to do the heavy lifting directly
    30       var sb = document.getElementById("sb");
    31       var sb1 = document.getElementById("sb1");
    32       var rect = sb.getBoundingClientRect();
    33       var containerStart = rect.left;
    34       var containerEnd = rect.right;
    35       rect = sb1.getBoundingClientRect();
    36       var elementStart = rect.left;
    37       var elementEnd = rect.right;
    39       var amountToScroll = 0;
    40       if (elementStart < containerStart) {
    41         amountToScroll = elementStart - containerStart;
    42       } else if (elementEnd > containerEnd) {
    43         amountToScroll = elementEnd - containerEnd;
    44       }
    45       sb.scrollLeft += amountToScroll;
    47       document.documentElement.removeAttribute("class");
    48     }
    49   ]]>
    50 </script>
    52 </window>

mercurial