[webkit-changes] cvs commit: LayoutTests/editing/pasteboard paste-list-001-expected.checksum paste-list-001-expected.png paste-list-001-expected.txt paste-list-001.html paste-table-001-expected.checksum paste-table-001-expected.png paste-table-001-expected.txt paste-table-001.html block-wrappers-necessary.html

David harrison at opensource.apple.com
Mon Dec 12 17:36:35 PST 2005


harrison    05/12/12 17:36:35

  Modified:    .        ChangeLog
               editing/pasteboard block-wrappers-necessary.html
  Added:       editing/pasteboard paste-list-001-expected.checksum
                        paste-list-001-expected.png
                        paste-list-001-expected.txt paste-list-001.html
                        paste-table-001-expected.checksum
                        paste-table-001-expected.png
                        paste-table-001-expected.txt paste-table-001.html
  Log:
  	<rdar://problem/4026906> Paste of HTML table content can break table structure
  	<rdar://problem/4027704> Paste of HTML list content can break list structure by dropping empty list items
  
          * editing/pasteboard/block-wrappers-necessary.html:
  	    Removed empty p tag.
          * editing/pasteboard/paste-list-001-expected.checksum: Added.
          * editing/pasteboard/paste-list-001-expected.png: Added.
          * editing/pasteboard/paste-list-001-expected.txt: Added.
          * editing/pasteboard/paste-list-001.html: Added.
          * editing/pasteboard/paste-table-001-expected.checksum: Added.
          * editing/pasteboard/paste-table-001-expected.png: Added.
          * editing/pasteboard/paste-table-001-expected.txt: Added.
          * editing/pasteboard/paste-table-001.html: Added.
  
  Revision  Changes    Path
  1.146     +16 -0     LayoutTests/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/LayoutTests/ChangeLog,v
  retrieving revision 1.145
  retrieving revision 1.146
  diff -u -r1.145 -r1.146
  --- ChangeLog	12 Dec 2005 22:22:16 -0000	1.145
  +++ ChangeLog	13 Dec 2005 01:36:32 -0000	1.146
  @@ -1,3 +1,19 @@
  +2005-12-12  David Harrison  <harrison at apple.com>
  +
  +	<rdar://problem/4026906> Paste of HTML table content can break table structure
  +	<rdar://problem/4027704> Paste of HTML list content can break list structure by dropping empty list items
  +	
  +        * editing/pasteboard/block-wrappers-necessary.html:
  +	    Removed empty p tag.
  +        * editing/pasteboard/paste-list-001-expected.checksum: Added.
  +        * editing/pasteboard/paste-list-001-expected.png: Added.
  +        * editing/pasteboard/paste-list-001-expected.txt: Added.
  +        * editing/pasteboard/paste-list-001.html: Added.
  +        * editing/pasteboard/paste-table-001-expected.checksum: Added.
  +        * editing/pasteboard/paste-table-001-expected.png: Added.
  +        * editing/pasteboard/paste-table-001-expected.txt: Added.
  +        * editing/pasteboard/paste-table-001.html: Added.
  +
   2005-12-12  Timothy Hatcher  <timothy at apple.com>
   
           Reviewed by Hyatt.
  
  
  
  1.2       +0 -1      LayoutTests/editing/pasteboard/block-wrappers-necessary.html
  
  Index: block-wrappers-necessary.html
  ===================================================================
  RCS file: /cvs/root/LayoutTests/editing/pasteboard/block-wrappers-necessary.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- block-wrappers-necessary.html	14 Nov 2005 22:09:32 -0000	1.1
  +++ block-wrappers-necessary.html	13 Dec 2005 01:36:33 -0000	1.2
  @@ -52,7 +52,6 @@
   Info for setting up your own wiki is at <a href="db.cgi?About_Howto.Apple.Com">about howto.apple.com</a>.<br>
   Check out a cool wiki editor application that helps in wiki generation: <a href="db.cgi?Wikinator">Wikinator</a>
   <p>
  -<p>
   Start browsing the topics below, or use the search field at the bottom of every page.
   </center>
   </div>
  
  
  
  1.1                  LayoutTests/editing/pasteboard/paste-list-001-expected.checksum
  
  Index: paste-list-001-expected.checksum
  ===================================================================
  c5160b17235186c338b4bef4b09935da
  
  
  1.1                  LayoutTests/editing/pasteboard/paste-list-001-expected.png
  
  	<<Binary file>>
  
  
  1.1                  LayoutTests/editing/pasteboard/paste-list-001-expected.txt
  
  Index: paste-list-001-expected.txt
  ===================================================================
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: shouldInsertNode:#document-fragment replacingDOMRange:range from 21 of #text > LI > OL > DIV > BODY > HTML > #document to 21 of #text > LI > OL > DIV > BODY > HTML > #document givenAction:WebViewInsertActionPasted
  EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 21 of #text > LI > OL > DIV > BODY > HTML > #document to 21 of #text > LI > OL > DIV > BODY > HTML > #document toDOMRange:range from 21 of #text > LI > OL > DIV > BODY > HTML > #document to 21 of #text > LI > OL > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
  layer at (0,0) size 800x600
    RenderCanvas at (0,0) size 800x600
  layer at (0,0) size 800x600
    RenderBlock {HTML} at (0,0) size 800x600
      RenderBody {BODY} at (8,8) size 784x584
        RenderBlock {DIV} at (0,0) size 784x296 [border: (2px solid #FF0000)]
          RenderBlock (anonymous) at (14,14) size 756x28
            RenderInline {SPAN} at (0,0) size 151x28
              RenderText {TEXT} at (0,0) size 151x28
                text run at (0,0) width 151: "Empty list item"
            RenderText {TEXT} at (0,0) size 0x0
          RenderBlock {P} at (14,66) size 756x0
          RenderBlock {OL} at (14,66) size 756x84
            RenderListItem {LI} at (40,0) size 716x28
              RenderListMarker at (0,0) size 0x22
              RenderText {TEXT} at (0,0) size 211x28
                text run at (0,0) width 211: "I should be number 1."
            RenderListItem {LI} at (40,28) size 716x28
              RenderListMarker at (0,0) size 0x22
            RenderListItem {LI} at (40,56) size 716x28
              RenderListMarker at (0,0) size 0x22
              RenderText {TEXT} at (0,0) size 211x28
                text run at (0,0) width 211: "I should be number 3."
          RenderBlock {OL} at (14,174) size 756x84
            RenderListItem {LI} at (40,0) size 716x28
              RenderListMarker at (0,0) size 0x22
              RenderText {TEXT} at (0,0) size 211x28
                text run at (0,0) width 211: "I should be number 1."
            RenderListItem {LI} at (40,28) size 716x28
              RenderListMarker at (0,0) size 0x22
            RenderListItem {LI} at (40,56) size 716x28
              RenderListMarker at (0,0) size 0x22
              RenderText {TEXT} at (0,0) size 211x28
                text run at (0,0) width 211: "I should be number 3."
  caret: position 21 of child 0 {TEXT} of child 2 {LI} of child 5 {OL} of child 1 {DIV} of child 1 {BODY} of child 0 {HTML} of document
  
  
  
  1.1                  LayoutTests/editing/pasteboard/paste-list-001.html
  
  Index: paste-list-001.html
  ===================================================================
  <html> 
  <head>
  
  <style>
  .editing { 
      border: 2px solid red; 
      padding: 12px; 
      font-size: 24px; 
  }
  </style>
  <script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
  
  <script>
  
  function editingTest() {
  	moveSelectionForwardByLineCommand()
      for (i = 0; i < 3; i++)
          extendSelectionForwardByLineCommand();
      copyCommand();
      moveSelectionForwardByLineCommand();
      pasteCommand();
  }
  
  </script>
  
  <title>Editing Test</title> 
  </head> 
  <body>
  <div contenteditable id="root" class="editing">
  <span id="test">Empty list item</span>
  <p>
  <ol>
      <li>I should be number 1.</li>
      <li></li>
      <li>I should be number 3.</li>
  </ol>
  </div>
  
  <script>
  runEditingTest();
  </script>
  
  </body>
  </html>
  
  
  
  1.1                  LayoutTests/editing/pasteboard/paste-table-001-expected.checksum
  
  Index: paste-table-001-expected.checksum
  ===================================================================
  d22d91ca55484c01ad9ec81d110dda79
  
  
  1.1                  LayoutTests/editing/pasteboard/paste-table-001-expected.png
  
  	<<Binary file>>
  
  
  1.1                  LayoutTests/editing/pasteboard/paste-table-001-expected.txt
  
  Index: paste-table-001-expected.txt
  ===================================================================
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: shouldInsertNode:#document-fragment replacingDOMRange:range from 32 of #text > TD > TR > TBODY > TABLE > P > DIV > BODY > HTML > #document to 32 of #text > TD > TR > TBODY > TABLE > P > DIV > BODY > HTML > #document givenAction:WebViewInsertActionPasted
  EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 32 of #text > TD > TR > TBODY > TABLE > P > DIV > BODY > HTML > #document to 32 of #text > TD > TR > TBODY > TABLE > P > DIV > BODY > HTML > #document toDOMRange:range from 32 of #text > TD > TR > TBODY > TABLE > P > DIV > BODY > HTML > #document to 32 of #text > TD > TR > TBODY > TABLE > P > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
  EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
  EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
  layer at (0,0) size 800x600
    RenderCanvas at (0,0) size 800x600
  layer at (0,0) size 800x600
    RenderBlock {HTML} at (0,0) size 800x600
      RenderBody {BODY} at (8,8) size 784x584
        RenderBlock {DIV} at (0,0) size 784x212 [border: (2px solid #FF0000)]
          RenderBlock (anonymous) at (14,14) size 756x28
            RenderInline {SPAN} at (0,0) size 161x28
              RenderText {TEXT} at (0,0) size 161x28
                text run at (0,0) width 161: "Empty table cell"
            RenderText {TEXT} at (0,0) size 0x0
          RenderBlock {P} at (14,66) size 756x108
            RenderTable {TABLE} at (0,0) size 292x54 [border: (2px outset #808080)]
              RenderTableSection {TBODY} at (2,2) size 0x50
                RenderTableRow {TR} at (0,0) size 0x0
                  RenderTableCell {TD} at (2,2) size 81x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                    RenderText {TEXT} at (2,2) size 77x18
                      text run at (2,2) width 77: "Left column"
                  RenderTableCell {TD} at (85,2) size 201x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
                    RenderText {TEXT} at (2,2) size 86x18
                      text run at (2,2) width 86: "Right column"
                RenderTableRow {TR} at (0,0) size 0x0
                  RenderTableCell {TD} at (2,35) size 81x4 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
                  RenderTableCell {TD} at (85,26) size 201x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
                    RenderText {TEXT} at (2,2) size 197x18
                      text run at (2,2) width 197: "I should be in the right column."
            RenderTable {TABLE} at (0,54) size 292x54 [border: (2px outset #808080)]
              RenderTableSection {TBODY} at (2,2) size 0x50
                RenderTableRow {TR} at (0,0) size 0x0
                  RenderTableCell {TD} at (2,2) size 81x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                    RenderText {TEXT} at (2,2) size 77x18
                      text run at (2,2) width 77: "Left column"
                  RenderTableCell {TD} at (85,2) size 201x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
                    RenderText {TEXT} at (2,2) size 86x18
                      text run at (2,2) width 86: "Right column"
                RenderTableRow {TR} at (0,0) size 0x0
                  RenderTableCell {TD} at (2,35) size 81x4 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
                  RenderTableCell {TD} at (85,26) size 201x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
                    RenderText {TEXT} at (2,2) size 197x18
                      text run at (2,2) width 197: "I should be in the right column."
  caret: position 32 of child 0 {TEXT} of child 1 {TD} of child 1 {TR} of child 0 {TBODY} of child 2 {TABLE} of child 3 {P} of child 1 {DIV} of child 1 {BODY} of child 0 {HTML} of document
  
  
  
  1.1                  LayoutTests/editing/pasteboard/paste-table-001.html
  
  Index: paste-table-001.html
  ===================================================================
  <html> 
  <head>
  
  <style>
  .editing { 
      border: 2px solid red; 
      padding: 12px; 
      font-size: 24px; 
  }
  </style>
  <script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
  
  <script>
  
  function editingTest() {
      moveSelectionForwardByLineCommand();
      for (i = 0; i < 4; i++)
          extendSelectionForwardByLineCommand();
      copyCommand();
      moveSelectionForwardByLineCommand();
      pasteCommand();
  }
  
  </script>
  
  <title>Editing Test</title> 
  </head> 
  <body>
  <div contenteditable id="root" class="editing">
  <span id="test">Empty table cell</span>
  <p>
  <table border="2">
  <tr>
      <td>Left column</td>
      <td>Right column</td>
  </tr>
  <tr>
      <td></td>
      <td>I should be in the right column.</td>
  </tr>
  </table>
  </div>
  
  <script>
  runEditingTest();
  </script>
  
  </body>
  </html>
  
  
  



More information about the webkit-changes mailing list