layer at (0,0) size 785x1249
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1249
  RenderBlock {HTML} at (0,0) size 785x1250
    RenderBody {BODY} at (8,8) size 769x1226
      RenderBlock (anonymous) at (0,0) size 769x20
        RenderText {#text} at (0,0) size 254x19
          text run at (0,0) width 254: "line-height settings not reflected in textarea"
        RenderBR {BR} at (254,0) size 0x19
      RenderBlock {P} at (0,36) size 769x271
        RenderText {#text} at (0,0) size 79x19
          text run at (0,0) width 79: "TEXTAREA"
        RenderBR {BR} at (79,0) size 0x19
        RenderText {#text} at (406,211) size 4x19
          text run at (406,211) width 4: " "
        RenderBR {BR} at (0,0) size 0x0
        RenderBR {BR} at (0,231) size 0x19
        RenderText {#text} at (0,251) size 145x19
          text run at (0,251) width 145: "PARAGRAPH - works"
      RenderBlock {P} at (0,323) size 402x202 [border: (1px dotted #C0C0C0)]
        RenderText {#text} at (1,19) size 385x69
          text run at (1,19) width 385: "Demo text here that wraps a bit and should demonstrate"
          text run at (1,72) width 181: "the goodness of line-height"
      RenderBlock (anonymous) at (0,538) size 769x41
        RenderBR {BR} at (0,0) size 0x19
        RenderText {#text} at (0,20) size 79x19
          text run at (0,20) width 79: "DIV - works"
        RenderBR {BR} at (79,20) size 0x19
      RenderBlock {DIV} at (0,578) size 402x203 [border: (1px dotted #C0C0C0)]
        RenderText {#text} at (1,19) size 385x69
          text run at (1,19) width 385: "Demo text here that wraps a bit and should demonstrate"
          text run at (1,72) width 181: "the goodness of line-height"
      RenderBlock (anonymous) at (0,780) size 769x446
        RenderBR {BR} at (0,0) size 0x19
        RenderBR {BR} at (0,20) size 0x19
        RenderText {#text} at (0,40) size 119x19
          text run at (0,40) width 119: "Un-Styled Textarea"
        RenderBR {BR} at (119,40) size 0x19
        RenderText {#text} at (185,87) size 4x19
          text run at (185,87) width 4: " "
        RenderBR {BR} at (0,0) size 0x0
        RenderBR {BR} at (0,107) size 0x19
        RenderText {#text} at (0,127) size 203x19
          text run at (0,127) width 203: "Totally Blank Un-Styled Textarea"
        RenderBR {BR} at (203,127) size 0x19
        RenderText {#text} at (185,174) size 4x19
          text run at (185,174) width 4: " "
        RenderBR {BR} at (0,0) size 0x0
        RenderBR {BR} at (0,194) size 0x19
        RenderText {#text} at (0,214) size 199x19
          text run at (0,214) width 199: "Totally Blank STYLED Textarea"
        RenderBR {BR} at (199,214) size 0x19
        RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,1241) size 769x0
layer at (8,64) size 406x206 clip at (9,65) size 404x204
  RenderTextControl {TEXTAREA} at (0,20) size 406x206 [bgcolor=#FFFFFF] [border: (1px dotted #C0C0C0)]
    RenderBlock {DIV} at (3,3) size 400x106
      RenderText {#text} at (0,18) size 390x69
        text run at (0,18) width 385: "Demo text here that wraps a bit and should demonstrate"
        text run at (385,18) width 5: " "
        text run at (0,71) width 181: "the goodness of line-height"
layer at (10,850) size 181x38 clip at (11,851) size 164x36 scrollHeight 84
  RenderTextControl {TEXTAREA} at (2,62) size 181x38 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
    RenderBlock {DIV} at (3,3) size 160x80
      RenderText {#text} at (0,0) size 160x80
        text run at (0,0) width 152: "Demo text here that"
        text run at (152,0) width 8: " "
        text run at (0,16) width 120: "wraps a bit and"
        text run at (120,16) width 8: " "
        text run at (0,32) width 144: "should demonstrate"
        text run at (144,32) width 8: " "
        text run at (0,48) width 120: "the goodness of"
        text run at (120,48) width 8: " "
        text run at (0,64) width 88: "line-height"
layer at (10,937) size 181x38 clip at (11,938) size 179x36
  RenderTextControl {TEXTAREA} at (2,149) size 181x38 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
    RenderBlock {DIV} at (3,3) size 175x16
layer at (8,1022) size 406x206 clip at (9,1023) size 404x204
  RenderTextControl {TEXTAREA} at (0,234) size 406x206 [bgcolor=#FFFFFF] [border: (1px dotted #C0C0C0)]
    RenderBlock {DIV} at (3,3) size 400x53
