layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x448
  RenderBlock {HTML} at (0,0) size 800x449
    RenderBody {BODY} at (8,16) size 784x425
      RenderBlock {P} at (0,0) size 784x36
        RenderText {#text} at (0,0) size 135x17
          text run at (0,0) width 135: "This is a test case for "
        RenderInline {I} at (0,0) size 776x35
          RenderText {#text} at (135,0) size 776x35
            text run at (135,0) width 641: "http://bugzilla.opendarwin.org/show_bug.cgi?id=5826 Blocks with direction:rtl and overflow:auto or"
            text run at (0,18) width 196: "scroll have incorrect scrollbars"
        RenderText {#text} at (195,18) size 5x17
          text run at (195,18) width 5: "."
      RenderBlock (anonymous) at (0,52) size 784x18
        RenderText {#text} at (0,0) size 457x17
          text run at (0,0) width 457: "The right column should be a mirror-image of the left column in terms of"
      RenderBlock {UL} at (0,86) size 784x72
        RenderListItem {LI} at (40,0) size 744x18
          RenderListMarker at (-17,0) size 7x17: bullet
          RenderText {#text} at (0,0) size 164x17
            text run at (0,0) width 164: "the presence of a scrollbar"
        RenderListItem {LI} at (40,18) size 744x18
          RenderListMarker at (-17,0) size 7x17: bullet
          RenderText {#text} at (0,0) size 234x17
            text run at (0,0) width 234: "the initial position of the scroll thumb"
        RenderListItem {LI} at (40,36) size 744x18
          RenderListMarker at (-17,0) size 7x17: bullet
          RenderText {#text} at (0,0) size 451x17
            text run at (0,0) width 451: "which letters are visible initially and when you scroll (in the top 3 rows)"
        RenderListItem {LI} at (40,54) size 744x18
          RenderListMarker at (-17,0) size 7x17: bullet
          RenderText {#text} at (0,0) size 578x17
            text run at (0,0) width 578: "the position of the blue and olive boxes, initially and when you scroll (in the bottom 2 rows)"
      RenderTable {TABLE} at (0,174) size 256x251
        RenderTableSection {TBODY} at (0,0) size 256x251
          RenderTableRow {TR} at (0,2) size 256x247
            RenderTableCell {TD} at (2,2) size 125x247 [r=0 c=0 rs=1 cs=1]
            RenderTableCell {TD} at (129,2) size 125x247 [r=0 c=1 rs=1 cs=1]
layer at (15,197) size 115x44 clip at (25,197) size 100x29 scrollWidth 188
  RenderBlock {DIV} at (5,5) size 115x45 [bgcolor=#FFFF00] [border: none (5px solid #008000) none (10px solid #FF0000)]
    RenderText {#text} at (10,0) size 188x17
      text run at (10,0) width 188: "abcdefghijklmnopqrstuvwxyz"
layer at (15,245) size 115x44 clip at (25,245) size 100x44
  RenderBlock {DIV} at (5,53) size 115x45 [bgcolor=#FFFF00] [border: none (5px solid #008000) none (10px solid #FF0000)]
    RenderBlock {DIV} at (10,0) size 100x18 [bgcolor=#D3D3D3]
      RenderText {#text} at (-88,0) size 188x17
        text run at (-88,0) width 188: "abcdefghijklmnopqrstuvwxyz"
layer at (15,293) size 115x44 clip at (25,293) size 100x29 scrollWidth 188
  RenderBlock {DIV} at (5,101) size 115x45 [bgcolor=#FFFF00] [border: none (5px solid #008000) none (10px solid #FF0000)]
    RenderBlock {DIV} at (10,0) size 100x18 [bgcolor=#D3D3D3]
      RenderText {#text} at (0,0) size 188x17
        text run at (0,0) width 188: "abcdefghijklmnopqrstuvwxyz"
layer at (142,197) size 115x44 clip at (147,197) size 100x29 scrollX 88 scrollWidth 188
  RenderBlock {DIV} at (5,5) size 115x45 [bgcolor=#FFFF00] [border: none (10px solid #FF0000) none (5px solid #008000)]
    RenderText {#text} at (-83,0) size 188x17
      text run at (-83,0) width 188: "zyxwvutsrqponmlkjihgfedcba"
layer at (142,245) size 115x44 clip at (147,245) size 100x44
  RenderBlock {DIV} at (5,53) size 115x45 [bgcolor=#FFFF00] [border: none (10px solid #FF0000) none (5px solid #008000)]
    RenderBlock {DIV} at (5,0) size 100x18 [bgcolor=#D3D3D3]
      RenderText {#text} at (0,0) size 188x17
        text run at (0,0) width 188: "zyxwvutsrqponmlkjihgfedcba"
layer at (142,293) size 115x44 clip at (147,293) size 100x29 scrollX 88 scrollWidth 188
  RenderBlock {DIV} at (5,101) size 115x45 [bgcolor=#FFFF00] [border: none (10px solid #FF0000) none (5px solid #008000)]
    RenderBlock {DIV} at (5,0) size 100x18 [bgcolor=#D3D3D3]
      RenderText {#text} at (-88,0) size 188x17
        text run at (-88,0) width 188: "zyxwvutsrqponmlkjihgfedcba"
layer at (15,341) size 115x44 clip at (25,341) size 100x44
  RenderBlock (relative positioned) {DIV} at (5,149) size 115x45 [bgcolor=#FFFF00] [border: none (5px solid #008000) none (10px solid #FF0000)]
layer at (71,361) size 8x4
  RenderBlock (positioned) {DIV} at (56,20) size 8x4 [bgcolor=#0000FF]
layer at (-25,341) size 70x20 backgroundClip at (25,341) size 100x44 clip at (25,341) size 100x44
  RenderBlock (positioned) {DIV} at (-40,0) size 70x20 [bgcolor=#808000]
layer at (15,389) size 115x44 clip at (25,389) size 100x29 scrollWidth 150
  RenderBlock (relative positioned) {DIV} at (5,197) size 115x45 [bgcolor=#FFFF00] [border: none (5px solid #008000) none (10px solid #FF0000)]
layer at (71,409) size 8x4
  RenderBlock (positioned) {DIV} at (56,20) size 8x4 [bgcolor=#0000FF]
layer at (105,389) size 70x20 backgroundClip at (25,389) size 100x29 clip at (25,389) size 100x29
  RenderBlock (positioned) {DIV} at (90,0) size 70x20 [bgcolor=#808000]
layer at (142,341) size 115x44 clip at (147,341) size 100x44
  RenderBlock (relative positioned) {DIV} at (5,149) size 115x45 [bgcolor=#FFFF00] [border: none (10px solid #FF0000) none (5px solid #008000)]
layer at (193,361) size 8x4
  RenderBlock (positioned) {DIV} at (51,20) size 8x4 [bgcolor=#0000FF]
layer at (227,341) size 70x20 backgroundClip at (147,341) size 100x44 clip at (147,341) size 100x44
  RenderBlock (positioned) {DIV} at (85,0) size 70x20 [bgcolor=#808000]
layer at (142,389) size 115x44 clip at (147,389) size 100x29 scrollX 50 scrollWidth 150
  RenderBlock (relative positioned) {DIV} at (5,197) size 115x45 [bgcolor=#FFFF00] [border: none (10px solid #FF0000) none (5px solid #008000)]
layer at (193,409) size 8x4
  RenderBlock (positioned) {DIV} at (51,20) size 8x4 [bgcolor=#0000FF]
layer at (97,389) size 70x20 backgroundClip at (147,389) size 100x29 clip at (147,389) size 100x29
  RenderBlock (positioned) {DIV} at (-45,0) size 70x20 [bgcolor=#808000]
