layer at (0,0) size 888x1993
  RenderView at (0,0) size 785x585
layer at (0,0) size 785x1993
  RenderBlock {HTML} at (0,0) size 785x1993
    RenderBody {BODY} at (8,8) size 769x1977 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x20
        RenderText {#text} at (0,0) size 337x19
          text run at (0,0) width 337: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 769x240
        RenderText {#text} at (0,0) size 880x240
          text run at (0,0) width 672: ".one {background-image: url(../resources/oransqr.gif); background-repeat: repeat-y;}"
          text run at (0,16) width 672: ".two {background-image: url(../resources/oransqr.gif); background-repeat: repeat-x;}"
          text run at (0,32) width 696: ".three {background-image: url(../resources/oransqr.gif); background-repeat: no-repeat;}"
          text run at (0,48) width 880: ".four {background-image: url(../resources/bg.gif); background-position: 50% 50%; background-repeat: repeat-y;}"
          text run at (0,64) width 704: ".five {background-image: url(../resources/crosshair2.gif); background-position: 50% 50%;"
          text run at (0,80) width 240: "       background-color: red;}"
          text run at (0,96) width 720: ".six {background-image: url(../resources/crosshair2.gif); background-position: center top;"
          text run at (0,112) width 232: "      background-color: red;}"
          text run at (0,128) width 720: ".seven {background-image: url(../resources/crosshair2.gif); background-position: top left;"
          text run at (0,144) width 248: "        background-color: red;}"
          text run at (0,160) width 752: ".eight {background-image: url(../resources/crosshair2.gif); background-position: bottom right;"
          text run at (0,176) width 248: "        background-color: red;}"
          text run at (0,192) width 704: ".nine {background-image: url(../resources/crosshair2.gif); background-position: 50% 50%;"
          text run at (0,208) width 240: "       background-color: red;}"
          text run at (0,224) width 0: " "
      RenderBlock {HR} at (0,289) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,307) size 769x60
        RenderText {#text} at (0,0) size 744x19
          text run at (0,0) width 744: "This sentence should have an orange stripe repeated in the \"y\" direction, starting at the upper left corner (since the default for"
        RenderInline {CODE} at (0,0) size 152x16
          RenderText {#text} at (0,23) size 152x16
            text run at (0,23) width 152: "background-position"
        RenderText {#text} at (152,20) size 756x39
          text run at (152,20) width 312: " is '0% 0%' and that property is not declared here). "
          text run at (464,20) width 292: "This is extra text included for the sole purpose of"
          text run at (0,40) width 179: "making the paragraph longer. "
          text run at (179,40) width 207: "Thank you for your understanding."
      RenderBlock {P} at (0,383) size 769x60
        RenderText {#text} at (0,0) size 744x19
          text run at (0,0) width 744: "This sentence should have an orange stripe repeated in the \"x\" direction, starting at the upper left corner (since the default for"
        RenderInline {CODE} at (0,0) size 152x16
          RenderText {#text} at (0,23) size 152x16
            text run at (0,23) width 152: "background-position"
        RenderText {#text} at (152,20) size 756x39
          text run at (152,20) width 312: " is '0% 0%' and that property is not declared here). "
          text run at (464,20) width 292: "This is extra text included for the sole purpose of"
          text run at (0,40) width 179: "making the paragraph longer. "
          text run at (179,40) width 207: "Thank you for your understanding."
      RenderBlock {P} at (0,459) size 769x60
        RenderText {#text} at (0,0) size 667x19
          text run at (0,0) width 667: "This sentence should have a single orange square behind it, placed at the upper left corner (since the default for "
        RenderInline {CODE} at (0,0) size 755x36
          RenderText {#text} at (667,3) size 755x36
            text run at (667,3) width 88: "background-"
            text run at (0,23) width 64: "position"
        RenderText {#text} at (64,20) size 737x39
          text run at (64,20) width 312: " is '0% 0%' and that property is not declared here). "
          text run at (376,20) width 361: "This is extra text included for the sole purpose of making the"
          text run at (0,40) width 110: "paragraph longer. "
          text run at (110,40) width 207: "Thank you for your understanding."
      RenderBlock {P} at (0,535) size 769x80
        RenderText {#text} at (0,0) size 764x39
          text run at (0,0) width 764: "This sentence should have a green-hatch stripe running vertically down the center of the paragraph, with the origin image exactly"
          text run at (0,20) width 161: "centered in the paragraph. "
          text run at (161,20) width 95: "This is because "
        RenderInline {CODE} at (0,0) size 64x16
          RenderText {#text} at (256,23) size 64x16
            text run at (256,23) width 64: "repeat-y"
        RenderText {#text} at (320,20) size 104x19
          text run at (320,20) width 104: " specifies tiling in "
        RenderInline {EM} at (0,0) size 29x19
          RenderText {#text} at (424,20) size 29x19
            text run at (424,20) width 29: "both"
        RenderText {#text} at (453,20) size 752x39
          text run at (453,20) width 151: " directions on the y-axis. "
          text run at (604,20) width 148: "Note that this test is only"
          text run at (0,40) width 186: "valid if the user agent supports "
        RenderInline {CODE} at (0,0) size 152x16
          RenderText {#text} at (186,43) size 152x16
            text run at (186,43) width 152: "background-position"
        RenderText {#text} at (338,40) size 33x19
          text run at (338,40) width 33: " (see "
        RenderInline {A} at (0,0) size 57x19 [color=#0000FF]
          RenderText {#text} at (371,40) size 57x19
            text run at (371,40) width 57: "test 5.3.6"
        RenderText {#text} at (428,40) size 723x39
          text run at (428,40) width 13: "). "
          text run at (441,40) width 282: "I'll fill the paragraph with extra text to make the"
          text run at (0,60) width 270: "conformance (or lack thereof) more obvious."
      RenderBlock {P} at (0,631) size 769x100 [bgcolor=#FF0000]
        RenderText {#text} at (0,0) size 714x19
          text run at (0,0) width 623: "This paragraph should have a tiled background, with the origin image exactly centered in the paragraph. "
          text run at (623,0) width 91: "This is because"
        RenderInline {CODE} at (0,0) size 136x16
          RenderText {#text} at (0,23) size 136x16
            text run at (0,23) width 136: "background-repeat"
        RenderText {#text} at (136,20) size 104x19
          text run at (136,20) width 104: " specifies tiling in "
        RenderInline {EM} at (0,0) size 16x19
          RenderText {#text} at (240,20) size 16x19
            text run at (240,20) width 16: "all"
        RenderText {#text} at (256,20) size 746x39
          text run at (256,20) width 342: " directions, regardless of the position of the origin image. "
          text run at (598,20) width 148: "Note that this test is only"
          text run at (0,40) width 186: "valid if the user agent supports "
        RenderInline {CODE} at (0,0) size 152x16
          RenderText {#text} at (186,43) size 152x16
            text run at (186,43) width 152: "background-position"
        RenderText {#text} at (338,40) size 33x19
          text run at (338,40) width 33: " (see "
        RenderInline {A} at (0,0) size 57x19 [color=#0000FF]
          RenderText {#text} at (371,40) size 57x19
            text run at (371,40) width 57: "test 5.3.6"
        RenderText {#text} at (428,40) size 754x59
          text run at (428,40) width 13: "). "
          text run at (441,40) width 282: "I'll fill the paragraph with extra text to make the"
          text run at (0,60) width 274: "conformance (or lack thereof) more obvious. "
          text run at (274,60) width 480: "A background color is present, although if it is visible then the image has not bee"
          text run at (0,80) width 86: "correctly tiled."
      RenderBlock {P} at (0,747) size 769x60 [bgcolor=#FF0000]
        RenderText {#text} at (0,0) size 747x59
          text run at (0,0) width 747: "This sentence should have a fully tiled background which starts at its center top; that is, the background's origin should be the"
          text run at (0,20) width 246: "exact center of the top of the paragraph. "
          text run at (246,20) width 484: "I'll fill it with extra text to make the conformance (or lack thereof) more obvious. "
          text run at (730,20) width 11: "A"
          text run at (0,40) width 603: "background color is present, although if it is visible, then the image may not have been tiled correctly."
      RenderBlock {P} at (0,823) size 769x60 [bgcolor=#FF0000]
        RenderText {#text} at (0,0) size 749x59
          text run at (0,0) width 461: "This sentence should have a fully tiled background which starts at its top left. "
          text run at (461,0) width 288: "I'll fill it with extra text to make the conformance"
          text run at (0,20) width 192: "(or lack thereof) more obvious. "
          text run at (192,20) width 557: "A background color is present, although if it is visible, then the image may not have been tiled"
          text run at (0,40) width 57: "correctly."
      RenderBlock {P} at (0,899) size 769x80 [bgcolor=#FF0000]
        RenderText {#text} at (0,0) size 762x79
          text run at (0,0) width 743: "This sentence should have a fully tiled background which starts at its bottom right; in other words, a complete instance of the"
          text run at (0,20) width 631: "image should be anchored in the bottom right corner, with the tiled background extending out from there. "
          text run at (631,20) width 131: "I'll fill it with extra text"
          text run at (0,40) width 349: "to make the conformance (or lack thereof) more obvious. "
          text run at (349,40) width 411: "A background color is present, although if it is visible, then the image"
          text run at (0,60) width 203: "may not have been tiled correctly."
      RenderBlock {P} at (0,995) size 769x120 [bgcolor=#FF0000]
        RenderText {#text} at (0,0) size 769x119
          text run at (0,0) width 763: "This sentence should have a fully tiled background which starts at its center and is tiled in all directions; that is, the background's"
          text run at (0,20) width 305: "origin should be the exact center of the paragraph. "
          text run at (305,20) width 425: "I'll fill it with extra text to make the conformance (or lack thereof) more"
          text run at (0,40) width 55: "obvious. "
          text run at (55,40) width 422: "In fact, a lot of extra text will be necessary to make this at all obvious. "
          text run at (477,40) width 292: "This is true because I am not able to increase the"
          text run at (0,60) width 724: "text size without resorting to either headings or other CSS properties, neither of which I want to use in this circumstance. "
          text run at (724,60) width 25: "This"
          text run at (0,80) width 197: "ought to be enough text, though. "
          text run at (197,80) width 557: "A background color is present, although if it is visible, then the image may not have been tiled"
          text run at (0,100) width 57: "correctly."
      RenderTable {TABLE} at (0,1131) size 769x846 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x844
          RenderTableRow {TR} at (0,0) size 767x28
            RenderTableCell {TD} at (0,0) size 767x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 159x19
                RenderText {#text} at (4,4) size 159x19
                  text run at (4,4) width 159: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 767x816
            RenderTableCell {TD} at (0,422) size 12x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x19
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,28) size 755x816 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x60
                RenderText {#text} at (0,0) size 744x19
                  text run at (0,0) width 744: "This sentence should have an orange stripe repeated in the \"y\" direction, starting at the upper left corner (since the default for"
                RenderInline {CODE} at (0,0) size 152x16
                  RenderText {#text} at (0,23) size 152x16
                    text run at (0,23) width 152: "background-position"
                RenderText {#text} at (152,20) size 740x39
                  text run at (152,20) width 312: " is '0% 0%' and that property is not declared here). "
                  text run at (464,20) width 276: "This is extra text included for the sole purpose"
                  text run at (0,40) width 195: "of making the paragraph longer. "
                  text run at (195,40) width 207: "Thank you for your understanding."
              RenderBlock {P} at (4,80) size 747x60
                RenderText {#text} at (0,0) size 744x19
                  text run at (0,0) width 744: "This sentence should have an orange stripe repeated in the \"x\" direction, starting at the upper left corner (since the default for"
                RenderInline {CODE} at (0,0) size 152x16
                  RenderText {#text} at (0,23) size 152x16
                    text run at (0,23) width 152: "background-position"
                RenderText {#text} at (152,20) size 740x39
                  text run at (152,20) width 312: " is '0% 0%' and that property is not declared here). "
                  text run at (464,20) width 276: "This is extra text included for the sole purpose"
                  text run at (0,40) width 195: "of making the paragraph longer. "
                  text run at (195,40) width 207: "Thank you for your understanding."
              RenderBlock {P} at (4,156) size 747x60
                RenderText {#text} at (0,0) size 663x19
                  text run at (0,0) width 663: "This sentence should have a single orange square behind it, placed at the upper left corner (since the default for"
                RenderInline {CODE} at (0,0) size 152x16
                  RenderText {#text} at (0,23) size 152x16
                    text run at (0,23) width 152: "background-position"
                RenderText {#text} at (152,20) size 740x39
                  text run at (152,20) width 312: " is '0% 0%' and that property is not declared here). "
                  text run at (464,20) width 276: "This is extra text included for the sole purpose"
                  text run at (0,40) width 195: "of making the paragraph longer. "
                  text run at (195,40) width 207: "Thank you for your understanding."
              RenderBlock {P} at (4,232) size 747x80
                RenderText {#text} at (0,0) size 718x39
                  text run at (0,0) width 718: "This sentence should have a green-hatch stripe running vertically down the center of the paragraph, with the origin image"
                  text run at (0,20) width 207: "exactly centered in the paragraph. "
                  text run at (207,20) width 95: "This is because "
                RenderInline {CODE} at (0,0) size 64x16
                  RenderText {#text} at (302,23) size 64x16
                    text run at (302,23) width 64: "repeat-y"
                RenderText {#text} at (366,20) size 104x19
                  text run at (366,20) width 104: " specifies tiling in "
                RenderInline {EM} at (0,0) size 29x19
                  RenderText {#text} at (470,20) size 29x19
                    text run at (470,20) width 29: "both"
                RenderText {#text} at (499,20) size 731x39
                  text run at (499,20) width 151: " directions on the y-axis. "
                  text run at (650,20) width 81: "Note that this"
                  text run at (0,40) width 253: "test is only valid if the user agent supports "
                RenderInline {CODE} at (0,0) size 152x16
                  RenderText {#text} at (253,43) size 152x16
                    text run at (253,43) width 152: "background-position"
                RenderText {#text} at (405,40) size 33x19
                  text run at (405,40) width 33: " (see "
                RenderInline {A} at (0,0) size 57x19 [color=#0000FF]
                  RenderText {#text} at (438,40) size 57x19
                    text run at (438,40) width 57: "test 5.3.6"
                RenderText {#text} at (495,40) size 731x39
                  text run at (495,40) width 13: "). "
                  text run at (508,40) width 223: "I'll fill the paragraph with extra text to"
                  text run at (0,60) width 329: "make the conformance (or lack thereof) more obvious."
              RenderBlock {P} at (4,328) size 747x100 [bgcolor=#FF0000]
                RenderText {#text} at (0,0) size 714x19
                  text run at (0,0) width 623: "This paragraph should have a tiled background, with the origin image exactly centered in the paragraph. "
                  text run at (623,0) width 91: "This is because"
                RenderInline {CODE} at (0,0) size 136x16
                  RenderText {#text} at (0,23) size 136x16
                    text run at (0,23) width 136: "background-repeat"
                RenderText {#text} at (136,20) size 104x19
                  text run at (136,20) width 104: " specifies tiling in "
                RenderInline {EM} at (0,0) size 16x19
                  RenderText {#text} at (240,20) size 16x19
                    text run at (240,20) width 16: "all"
                RenderText {#text} at (256,20) size 746x39
                  text run at (256,20) width 342: " directions, regardless of the position of the origin image. "
                  text run at (598,20) width 148: "Note that this test is only"
                  text run at (0,40) width 186: "valid if the user agent supports "
                RenderInline {CODE} at (0,0) size 152x16
                  RenderText {#text} at (186,43) size 152x16
                    text run at (186,43) width 152: "background-position"
                RenderText {#text} at (338,40) size 33x19
                  text run at (338,40) width 33: " (see "
                RenderInline {A} at (0,0) size 57x19 [color=#0000FF]
                  RenderText {#text} at (371,40) size 57x19
                    text run at (371,40) width 57: "test 5.3.6"
                RenderText {#text} at (428,40) size 728x59
                  text run at (428,40) width 13: "). "
                  text run at (441,40) width 282: "I'll fill the paragraph with extra text to make the"
                  text run at (0,60) width 274: "conformance (or lack thereof) more obvious. "
                  text run at (274,60) width 454: "A background color is present, although if it is visible then the image has not"
                  text run at (0,80) width 112: "bee correctly tiled."
              RenderBlock {P} at (4,444) size 747x60 [bgcolor=#FF0000]
                RenderText {#text} at (0,0) size 747x59
                  text run at (0,0) width 747: "This sentence should have a fully tiled background which starts at its center top; that is, the background's origin should be the"
                  text run at (0,20) width 246: "exact center of the top of the paragraph. "
                  text run at (246,20) width 484: "I'll fill it with extra text to make the conformance (or lack thereof) more obvious. "
                  text run at (730,20) width 11: "A"
                  text run at (0,40) width 603: "background color is present, although if it is visible, then the image may not have been tiled correctly."
              RenderBlock {P} at (4,520) size 747x60 [bgcolor=#FF0000]
                RenderText {#text} at (0,0) size 737x59
                  text run at (0,0) width 461: "This sentence should have a fully tiled background which starts at its top left. "
                  text run at (461,0) width 206: "I'll fill it with extra text to make the"
                  text run at (0,20) width 274: "conformance (or lack thereof) more obvious. "
                  text run at (274,20) width 463: "A background color is present, although if it is visible, then the image may not"
                  text run at (0,40) width 151: "have been tiled correctly."
              RenderBlock {P} at (4,596) size 747x80 [bgcolor=#FF0000]
                RenderText {#text} at (0,0) size 747x79
                  text run at (0,0) width 743: "This sentence should have a fully tiled background which starts at its bottom right; in other words, a complete instance of the"
                  text run at (0,20) width 631: "image should be anchored in the bottom right corner, with the tiled background extending out from there. "
                  text run at (631,20) width 105: "I'll fill it with extra"
                  text run at (0,40) width 375: "text to make the conformance (or lack thereof) more obvious. "
                  text run at (375,40) width 372: "A background color is present, although if it is visible, then the"
                  text run at (0,60) width 242: "image may not have been tiled correctly."
              RenderBlock {P} at (4,692) size 747x120 [bgcolor=#FF0000]
                RenderText {#text} at (0,0) size 747x119
                  text run at (0,0) width 678: "This sentence should have a fully tiled background which starts at its center and is tiled in all directions; that is, the"
                  text run at (0,20) width 390: "background's origin should be the exact center of the paragraph. "
                  text run at (390,20) width 339: "I'll fill it with extra text to make the conformance (or lack"
                  text run at (0,40) width 141: "thereof) more obvious. "
                  text run at (141,40) width 422: "In fact, a lot of extra text will be necessary to make this at all obvious. "
                  text run at (563,40) width 172: "This is true because I am not"
                  text run at (0,60) width 730: "able to increase the text size without resorting to either headings or other CSS properties, neither of which I want to use in"
                  text run at (0,80) width 110: "this circumstance. "
                  text run at (110,80) width 226: "This ought to be enough text, though. "
                  text run at (336,80) width 411: "A background color is present, although if it is visible, then the image"
                  text run at (0,100) width 203: "may not have been tiled correctly."
