layer at (0,0) size 785x912
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x912
  RenderBlock {HTML} at (0,0) size 785x913
    RenderBody {BODY} at (8,8) size 769x885
      RenderBlock {P} at (0,0) size 769x20
        RenderText {#text} at (0,0) size 510x19
          text run at (0,0) width 510: "This test checks that text with text-overflow:ellipsis follows 'text-align: right' correctly."
      RenderBlock {P} at (0,36) size 769x20
        RenderText {#text} at (0,0) size 472x19
          text run at (0,0) width 472: "The text in all boxes should be right aligned, sticking to the right side of the box"
      RenderBlock {H3} at (0,74) size 769x24
        RenderText {#text} at (0,0) size 84x22
          text run at (0,0) width 84: "Single line"
      RenderBlock {H3} at (0,158) size 769x24
        RenderText {#text} at (0,0) size 78x22
          text run at (0,0) width 78: "Multi line"
      RenderBlock {H3} at (0,302) size 769x24
        RenderText {#text} at (0,0) size 230x22
          text run at (0,0) width 230: "Containing replaced content"
      RenderBlock {H3} at (0,395) size 769x24
        RenderText {#text} at (0,0) size 395x22
          text run at (0,0) width 395: "Containing replaced content blocking the ellipsis"
      RenderBlock {H3} at (0,489) size 769x24
        RenderText {#text} at (0,0) size 199x22
          text run at (0,0) width 199: "Right-To-Left single line"
      RenderBlock {H3} at (0,573) size 769x24
        RenderText {#text} at (0,0) size 196x22
          text run at (0,0) width 196: "Right-To-Left Multi line"
      RenderBlock {H3} at (0,717) size 769x24
        RenderText {#text} at (0,0) size 343x22
          text run at (0,0) width 343: "Right-To-Left containing replaced content"
      RenderBlock {H3} at (0,810) size 769x24
        RenderText {#text} at (0,0) size 508x22
          text run at (0,0) width 508: "Right-To-Left containing replaced content blocking the ellipsis"
layer at (8,124) size 310x22 clip at (9,125) size 308x20 scrollWidth 684
  RenderBlock {DIV} at (0,116) size 310x23 [border: (1px solid #000000)]
    RenderText {#text} at (2,1) size 683x19
      text run at (2,1) width 683: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
layer at (8,208) size 310x82 clip at (9,209) size 308x80 scrollWidth 684
  RenderBlock {DIV} at (0,200) size 310x83 [border: (1px solid #000000)]
    RenderText {#text} at (2,1) size 683x19
      text run at (2,1) width 683: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
    RenderBR {BR} at (0,0) size 0x0
    RenderText {#text} at (4,21) size 674x19
      text run at (4,21) width 674: "orem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
    RenderBR {BR} at (0,0) size 0x0
    RenderText {#text} at (5,41) size 666x19
      text run at (5,41) width 666: "rem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
    RenderBR {BR} at (0,0) size 0x0
    RenderText {#text} at (6,61) size 661x19
      text run at (6,61) width 661: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
    RenderBR {BR} at (0,0) size 0x0
layer at (8,352) size 310x32 clip at (9,353) size 308x30 scrollWidth 714
  RenderBlock {DIV} at (0,343) size 310x33 [border: (1px solid #000000)]
    RenderText {#text} at (3,11) size 173x19
      text run at (3,11) width 173: "Lorem ipsum dolor sit amet, "
    RenderImage {IMG} at (176,1) size 25x25
    RenderText {#text} at (201,11) size 514x19
      text run at (201,11) width 514: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
layer at (8,446) size 310x32 clip at (9,447) size 308x30 scrollWidth 711
  RenderBlock {DIV} at (0,437) size 310x33 [border: (1px solid #000000)]
    RenderText {#text} at (4,11) size 261x19
      text run at (4,11) width 261: "Lorem ipsum dolor sit amet, consectetur ad"
    RenderImage {IMG} at (265,1) size 25x25
    RenderText {#text} at (290,11) size 422x19
      text run at (290,11) width 422: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
layer at (8,539) size 310x22 clip at (9,540) size 308x20 scrollX 375 scrollWidth 683
  RenderBlock {DIV} at (0,531) size 310x23 [border: (1px solid #000000)]
    RenderText {#text} at (-374,1) size 683x19
      text run at (-374,1) width 683 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
layer at (8,623) size 310x82 clip at (9,624) size 308x80 scrollX 375 scrollWidth 683
  RenderBlock {DIV} at (0,615) size 310x83 [border: (1px solid #000000)]
    RenderText {#text} at (-374,1) size 683x19
      text run at (-374,1) width 683 RTL override: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
    RenderBR {BR} at (0,0) size 0x0
    RenderText {#text} at (-365,21) size 674x19
      text run at (-365,21) width 674 RTL override: "orem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
    RenderBR {BR} at (0,0) size 0x0
    RenderText {#text} at (-357,41) size 666x19
      text run at (-357,41) width 666 RTL override: "rem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
    RenderBR {BR} at (0,0) size 0x0
    RenderText {#text} at (-352,61) size 661x19
      text run at (-352,61) width 661 RTL override: "em ipsum dolor sit amet, consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
    RenderBR {BR} at (0,0) size 0x0
layer at (8,767) size 310x32 clip at (9,768) size 308x30 scrollX 404 scrollWidth 712
  RenderBlock {DIV} at (0,758) size 310x33 [border: (1px solid #000000)]
    RenderText {#text} at (136,11) size 173x19
      text run at (136,11) width 173 RTL override: "Lorem ipsum dolor sit amet, "
    RenderImage {IMG} at (111,1) size 25x25
    RenderText {#text} at (-403,11) size 514x19
      text run at (-403,11) width 514 RTL override: " consectetur adipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
layer at (8,860) size 310x32 clip at (9,861) size 308x30 scrollX 400 scrollWidth 708
  RenderBlock {DIV} at (0,852) size 310x33 [border: (1px solid #000000)]
    RenderText {#text} at (48,11) size 261x19
      text run at (48,11) width 261 RTL override: "Lorem ipsum dolor sit amet, consectetur ad"
    RenderImage {IMG} at (23,1) size 25x25
    RenderText {#text} at (-399,11) size 422x19
      text run at (-399,11) width 422 RTL override: "ipiscing elit. Vivamus vitae eros non libero faucibus sagittis sed ut eros."
