layer at (0,0) size 785x1132
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1132
  RenderBlock {HTML} at (0,0) size 785x1133
    RenderBody {BODY} at (8,8) size 769x1095
      RenderBlock {DIV} at (72,0) size 625x454 [border: (4px solid #000000)]
        RenderBlock {P} at (4,20) size 616x18
          RenderText {#text} at (0,0) size 596x18
            text run at (0,0) width 596: "Affected Browsers: Safari 2.0, Windows Internet Explorer 6 SP2"
        RenderBlock {HR} at (4,54) size 616x2 [border: (1px inset #000000)]
        RenderBlock {P} at (4,72) size 616x54
          RenderText {#text} at (0,0) size 586x54
            text run at (0,0) width 586: "Bug Description: On the Affected Browsers, if a rule sets the"
            text run at (0,18) width 519: "'background-color' of an element, this color cannot be"
            text run at (0,36) width 461: "overridden by 'background:inherit' declarations."
        RenderBlock {HR} at (4,142) size 616x2 [border: (1px inset #000000)]
        RenderBlock {P} at (4,160) size 616x90
          RenderText {#text} at (0,0) size 615x54
            text run at (0,0) width 577: "Example: With the following code, the background color of H1"
            text run at (0,18) width 615: "elements stays pink, no matter what background color the parents"
            text run at (0,36) width 49: "have:"
          RenderBR {BR} at (48,36) size 1x18
          RenderText {#text} at (0,54) size 308x18
            text run at (0,54) width 49: "  H1 "
            text run at (48,54) width 260: "{ background-color: pink; }"
          RenderBR {BR} at (307,54) size 1x18
          RenderText {#text} at (0,72) size 279x18
            text run at (0,72) width 49: "  H1 "
            text run at (48,72) width 231: "{ background: inherit; }"
        RenderBlock {HR} at (4,266) size 616x2 [border: (1px inset #000000)]
        RenderBlock {P} at (4,284) size 616x54
          RenderText {#text} at (0,0) size 586x54
            text run at (0,0) width 586: "Work-around: The 'background-color' can only be overridden by"
            text run at (0,18) width 577: "another 'background-color' declaration, or by a 'background'"
            text run at (0,36) width 365: "declaration that does specify a color."
        RenderBlock {HR} at (4,354) size 616x2 [border: (1px inset #000000)]
        RenderBlock (anonymous) at (4,364) size 616x18
          RenderText {#text} at (0,0) size 409x18
            text run at (0,0) width 409: "This is in contradiction with the CSS2 specification which says:"
        RenderBlock {UL} at (4,398) size 616x36
          RenderListItem {LI} at (40,0) size 576x36
            RenderListMarker at (-17,0) size 7x18: bullet
            RenderText {#text} at (0,0) size 29x18
              text run at (0,0) width 29: "The "
            RenderInline {A} at (0,0) size 83x18 [color=#0000EE]
              RenderText {#text} at (28,0) size 83x18
                text run at (28,0) width 83: "'background'"
            RenderText {#text} at (110,0) size 535x36
              text run at (110,0) width 425: " property first sets all the individual background properties to their"
              text run at (0,18) width 424: "initial values, then assigns explicit values given in the declaration."
      RenderBlock {DIV} at (72,484) size 625x611 [color=#008000] [bgcolor=#90EE90] [border: (4px solid #008000)]
        RenderBlock (anonymous) at (4,4) size 616x18
          RenderText {#text} at (0,0) size 221x18
            text run at (0,0) width 221: "This DIV has a green background."
        RenderBlock {H1} at (61,43) size 501x157 [border: (4px solid #008000)]
          RenderText {#text} at (4,4) size 444x148
            text run at (4,4) width 441: "This header should have a green"
            text run at (4,41) width 414: "background (not pink) but the"
            text run at (4,78) width 444: "inline style rule is ignored on the"
            text run at (4,115) width 259: "Affected Browsers."
        RenderBlock (anonymous) at (4,229) size 616x19
          RenderText {#text} at (0,0) size 158x18
            text run at (0,0) width 158: "The DIV continues here."
        RenderBlock {H1} at (61,268) size 501x157 [border: (4px solid #008000)]
          RenderText {#text} at (4,4) size 447x148
            text run at (4,4) width 441: "This header should have a green"
            text run at (4,41) width 414: "background (not pink) but the"
            text run at (4,78) width 447: "!important rule is ignored on the"
            text run at (4,115) width 259: "Affected Browsers."
        RenderBlock (anonymous) at (4,454) size 616x19
          RenderText {#text} at (0,0) size 158x18
            text run at (0,0) width 158: "The DIV continues here."
        RenderBlock {H1} at (61,494) size 501x83 [color=#FF0000] [bgcolor=#FFC0CB] [border: (4px solid #FF0000)]
          RenderText {#text} at (4,4) size 484x74
            text run at (4,4) width 484: "This header has a pink background"
            text run at (4,41) width 218: "and that's good."
