layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x388
  RenderBlock {HTML} at (0,0) size 800x388
    RenderBody {BODY} at (32,32) size 736x324 [bgcolor=#CCCCCC]
layer at (143,32) size 514x146 clip at (144,33) size 497x144 scrollHeight 325
  RenderBlock {DIV} at (111,0) size 514x146 [bgcolor=#FFFFFF] [border: (1px solid #999999)]
    RenderBlock {P} at (17,17) size 465x72
      RenderText {#text} at (0,0) size 220x17
        text run at (0,0) width 220: "This page is to test the behavior of "
      RenderInline {CODE} at (0,0) size 136x15
        RenderText {#text} at (220,3) size 136x15
          text run at (220,3) width 136: "position:absolute"
      RenderText {#text} at (356,0) size 463x35
        text run at (356,0) width 107: " content which is"
        text run at (0,18) width 275: "a child of an overflowed parent object with "
      RenderInline {CODE} at (0,0) size 104x15
        RenderText {#text} at (275,21) size 104x15
          text run at (275,21) width 104: "overflow:auto"
      RenderText {#text} at (379,18) size 454x35
        text run at (379,18) width 75: ", both when"
        text run at (0,36) width 133: "the parent element is "
      RenderInline {CODE} at (0,0) size 120x15
        RenderText {#text} at (133,39) size 120x15
          text run at (133,39) width 120: "position:static"
      RenderText {#text} at (253,36) size 92x17
        text run at (253,36) width 92: " (top case) and"
      RenderInline {CODE} at (0,0) size 136x15
        RenderText {#text} at (0,57) size 136x15
          text run at (0,57) width 136: "position:relative"
      RenderText {#text} at (136,54) size 93x17
        text run at (136,54) width 93: " (bottom case)."
    RenderBlock {P} at (17,105) size 465x192 [color=#999999]
      RenderText {#text} at (0,0) size 465x191
        text run at (0,0) width 457: "Following extra content exists to ensure that the parent box overflows properly. Sed"
        text run at (0,16) width 449: "ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque"
        text run at (0,32) width 454: "laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi"
        text run at (0,48) width 433: "architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia"
        text run at (0,64) width 454: "voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos"
        text run at (0,80) width 462: "qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum"
        text run at (0,96) width 436: "quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi"
        text run at (0,112) width 454: "tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim"
        text run at (0,128) width 455: "ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam,"
        text run at (0,144) width 449: "nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit"
        text run at (0,160) width 465: "qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem"
        text run at (0,176) width 220: "eum fugiat quo voluptas nulla pariatur?"
layer at (0,0) size 40x34
  RenderBlock (positioned) {P} at (0,0) size 40x34 [bgcolor=#FF0000]
    RenderText {#text} at (8,8) size 24x17
      text run at (8,8) width 24: "hi 1"
layer at (143,210) size 514x146 clip at (144,211) size 497x144 scrollHeight 377
  RenderBlock (relative positioned) {DIV} at (111,178) size 514x146 [bgcolor=#FFFFFF] [border: (1px solid #999999)]
    RenderBlock {P} at (17,17) size 465x36
      RenderText {#text} at (0,0) size 462x35
        text run at (0,0) width 462: "Safari v1.2.2 incorrectly scrolls the 'hi 1' div when its parent is scrolled. If"
        text run at (0,18) width 327: "you resize the page even a little, this bug fixes itself."
    RenderBlock {P} at (17,69) size 465x72
      RenderText {#text} at (0,0) size 401x17
        text run at (0,0) width 401: "Safari v1.2.2 also (really odd) causes the entire second div to be"
      RenderInline {CODE} at (0,0) size 88x15
        RenderText {#text} at (0,21) size 88x15
          text run at (0,21) width 88: "opacity:0.5"
      RenderText {#text} at (88,18) size 440x53
        text run at (88,18) width 347: ", despite the fact that this property is only applied to the"
        text run at (0,36) width 440: "child item. This problem fixes itself if you resize the window and then"
        text run at (0,54) width 85: "scroll the div."
    RenderBlock {P} at (17,157) size 465x192 [color=#999999]
      RenderText {#text} at (0,0) size 465x191
        text run at (0,0) width 457: "Following extra content exists to ensure that the parent box overflows properly. Sed"
        text run at (0,16) width 449: "ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque"
        text run at (0,32) width 454: "laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi"
        text run at (0,48) width 433: "architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia"
        text run at (0,64) width 454: "voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos"
        text run at (0,80) width 462: "qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum"
        text run at (0,96) width 436: "quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi"
        text run at (0,112) width 454: "tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim"
        text run at (0,128) width 455: "ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam,"
        text run at (0,144) width 449: "nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit"
        text run at (0,160) width 465: "qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem"
        text run at (0,176) width 220: "eum fugiat quo voluptas nulla pariatur?"
layer at (144,211) size 40x34
  RenderBlock (positioned) {P} at (1,1) size 40x34 [bgcolor=#FF0000]
    RenderText {#text} at (8,8) size 24x17
      text run at (8,8) width 24: "hi 2"
