layer at (0,0) size 785x1227
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1227
  RenderBlock {HTML} at (0,0) size 785x1228
    RenderBody {BODY} at (8,8) size 769x1204
      RenderBlock (anonymous) at (0,0) size 769x18
        RenderText {#text} at (0,0) size 269x17
          text run at (0,0) width 269: "line-height settings not reflected in textarea"
        RenderBR {BR} at (269,0) size 0x17
      RenderBlock {P} at (0,34) size 769x264
        RenderText {#text} at (0,0) size 86x17
          text run at (0,0) width 86: "TEXTAREA"
        RenderBR {BR} at (85,0) size 1x17
        RenderText {#text} at (406,210) size 4x17
          text run at (406,210) width 4: " "
        RenderBR {BR} at (0,0) size 0x0
        RenderBR {BR} at (0,228) size 0x17
        RenderText {#text} at (0,246) size 151x17
          text run at (0,246) width 151: "PARAGRAPH - works"
      RenderBlock {P} at (0,314) size 402x202 [border: (1px dotted #C0C0C0)]
        RenderText {#text} at (1,20) size 347x68
          text run at (1,20) width 347: "Demo text here that wraps a bit and should demonstrate the"
          text run at (1,73) width 134: "goodness of line-height"
      RenderBlock (anonymous) at (0,529) size 769x37
        RenderBR {BR} at (0,0) size 0x17
        RenderText {#text} at (0,18) size 81x17
          text run at (0,18) width 81: "DIV - works"
        RenderBR {BR} at (80,18) size 1x17
      RenderBlock {DIV} at (0,565) size 402x203 [border: (1px dotted #C0C0C0)]
        RenderText {#text} at (1,20) size 347x68
          text run at (1,20) width 347: "Demo text here that wraps a bit and should demonstrate the"
          text run at (1,73) width 134: "goodness of line-height"
      RenderBlock (anonymous) at (0,767) size 769x437
        RenderBR {BR} at (0,0) size 0x17
        RenderBR {BR} at (0,18) size 0x17
        RenderText {#text} at (0,36) size 123x17
          text run at (0,36) width 123: "Un-Styled Textarea"
        RenderBR {BR} at (122,36) size 1x17
        RenderText {#text} at (205,86) size 4x17
          text run at (205,86) width 4: " "
        RenderBR {BR} at (0,0) size 0x0
        RenderBR {BR} at (0,104) size 0x17
        RenderText {#text} at (0,122) size 213x17
          text run at (0,122) width 213: "Totally Blank Un-Styled Textarea"
        RenderBR {BR} at (212,122) size 1x17
        RenderText {#text} at (205,172) size 4x17
          text run at (205,172) width 4: " "
        RenderBR {BR} at (0,0) size 0x0
        RenderBR {BR} at (0,190) size 0x17
        RenderText {#text} at (0,208) size 211x17
          text run at (0,208) width 211: "Totally Blank STYLED Textarea"
        RenderBR {BR} at (210,208) size 1x17
        RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,1219) size 769x0
layer at (8,60) size 406x206 clip at (9,61) size 404x204
  RenderTextControl {TEXTAREA} at (0,18) size 406x206 [bgcolor=#FFFFFF] [border: (1px dotted #C0C0C0)]
    RenderBlock {DIV} at (3,3) size 400x106
      RenderText {#text} at (0,19) size 351x68
        text run at (0,19) width 347: "Demo text here that wraps a bit and should demonstrate the"
        text run at (347,19) width 4: " "
        text run at (0,72) width 134: "goodness of line-height"
layer at (10,831) size 201x42 clip at (11,832) size 184x40 scrollHeight 76
  RenderTextControl {TEXTAREA} at (2,56) size 201x42 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
    RenderBlock {DIV} at (3,3) size 180x72
      RenderText {#text} at (0,0) size 166x71
        text run at (0,0) width 138: "Demo text here that"
        text run at (138,0) width 4: " "
        text run at (0,18) width 160: "wraps a bit and should"
        text run at (160,18) width 4: " "
        text run at (0,36) width 114: "demonstrate the"
        text run at (114,36) width 4: " "
        text run at (0,54) width 166: "goodness of line-height"
layer at (10,917) size 201x42 clip at (11,918) size 199x40
  RenderTextControl {TEXTAREA} at (2,142) size 201x42 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
    RenderBlock {DIV} at (3,3) size 195x18
layer at (8,1001) size 406x206 clip at (9,1002) size 404x204
  RenderTextControl {TEXTAREA} at (0,226) size 406x206 [bgcolor=#FFFFFF] [border: (1px dotted #C0C0C0)]
    RenderBlock {DIV} at (3,3) size 400x53
