REGRESSION(r65062): out of bound access in TextIterator (5 editing tests) on GTK
authormrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 6 Apr 2012 18:46:15 +0000 (18:46 +0000)
committermrobinson@webkit.org <mrobinson@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 6 Apr 2012 18:46:15 +0000 (18:46 +0000)
https://bugs.webkit.org/show_bug.cgi?id=63611

Unskip tests that are now passing and rebaseline ones which
have changed results.

* platform/gtk/Skipped:
* platform/gtk/editing/deleting/smart-delete-003-expected.txt:
* platform/gtk/editing/deleting/smart-delete-004-expected.txt:
* platform/gtk/editing/pasteboard/paste-text-008-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@113468 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/gtk/Skipped
LayoutTests/platform/gtk/editing/deleting/smart-delete-003-expected.txt
LayoutTests/platform/gtk/editing/deleting/smart-delete-004-expected.txt
LayoutTests/platform/gtk/editing/pasteboard/interchange-newline-2-expected.txt [new file with mode: 0644]
LayoutTests/platform/gtk/editing/pasteboard/paste-text-008-expected.txt

index ada29a7..3810fb6 100644 (file)
@@ -1,3 +1,16 @@
+2012-04-06  Martin Robinson  <mrobinson@igalia.com>
+
+        REGRESSION(r65062): out of bound access in TextIterator (5 editing tests) on GTK
+        https://bugs.webkit.org/show_bug.cgi?id=63611
+
+        Unskip tests that are now passing and rebaseline ones which
+        have changed results.
+
+        * platform/gtk/Skipped:
+        * platform/gtk/editing/deleting/smart-delete-003-expected.txt:
+        * platform/gtk/editing/deleting/smart-delete-004-expected.txt:
+        * platform/gtk/editing/pasteboard/paste-text-008-expected.txt:
+
 2012-04-06  Stephen Chenney  <schenney@chromium.org>
 
         Layout Test svg/text/non-bmp-positioning-lists.svg is failing
index 7fcb26f..33876d8 100644 (file)
@@ -117,15 +117,6 @@ storage/open-database-set-empty-version.html
 # https://bugs.webkit.org/show_bug.cgi?id=60158
 fast/dom/Geolocation/argument-types.html
 
-# crashing on debug bots because of failing ASSERT in TextIterator.cpp
-# https://bugs.webkit.org/show_bug.cgi?id=63611
-editing/deleting/smart-delete-003.html
-editing/deleting/smart-delete-004.html
-editing/pasteboard/interchange-newline-2.html
-editing/pasteboard/paste-text-008.html
-editing/undo/undo-smart-delete-reversed-selection.html
-editing/selection/directionality-after-undo-replace.html
-
 # EditorClient::checkTextOfParagraph() is not implemented
 editing/spelling/spelling-marker-description.html
 
index 0dd6e1f..8ee4976 100644 (file)
@@ -6,7 +6,6 @@ EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 5 of #text > DIV > BOD
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldDeleteDOMRange:range from 4 of #text > DIV > BODY > HTML > #document to 1 of #text > DIV > BODY > HTML > #document
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 3 of #text > DIV > BODY > HTML > #document to 3 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 layer at (0,0) size 800x600
@@ -14,15 +13,15 @@ layer 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 {P} at (0,0) size 784x38
-        RenderText {#text} at (0,0) size 768x38
-          text run at (0,0) width 392: "This tests deleting a selection created with a word granularity. "
-          text run at (392,0) width 348: "To run it manually, double click on 'bar' and hit delete. "
-          text run at (740,0) width 28: "You"
-          text run at (0,19) width 127: "should see 'foo baz'."
-      RenderBlock {DIV} at (0,54) size 784x19
-        RenderText {#text} at (0,0) size 21x19
-          text run at (0,0) width 21: "foo"
-        RenderText {#text} at (21,0) size 26x19
-          text run at (21,0) width 26: " baz"
+      RenderBlock {P} at (0,0) size 784x36
+        RenderText {#text} at (0,0) size 784x35
+          text run at (0,0) width 402: "This tests deleting a selection created with a word granularity. "
+          text run at (401,0) width 355: "To run it manually, double click on 'bar' and hit delete. "
+          text run at (755,0) width 29: "You"
+          text run at (0,18) width 129: "should see 'foo baz'."
+      RenderBlock {DIV} at (0,52) size 784x18
+        RenderText {#text} at (0,0) size 22x17
+          text run at (0,0) width 22: "foo"
+        RenderText {#text} at (21,0) size 27x17
+          text run at (21,0) width 27: " baz"
 caret: position 3 of child 0 {#text} of child 2 {DIV} of body
index 3d8a91b..525fe4d 100644 (file)
@@ -6,7 +6,6 @@ EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 5 of #text > DIV > BOD
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldDeleteDOMRange:range from 4 of #text > DIV > BODY > HTML > #document to 1 of #text > DIV > BODY > HTML > #document
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 3 of #text > DIV > BODY > HTML > #document to 3 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 layer at (0,0) size 800x600
@@ -14,15 +13,15 @@ layer 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 {P} at (0,0) size 784x38
-        RenderText {#text} at (0,0) size 745x38
-          text run at (0,0) width 392: "This tests deleting a selection created with a word granularity. "
-          text run at (392,0) width 353: "To run it manually, double click on 'bar' and hit forward"
-          text run at (0,19) width 45: "delete. "
-          text run at (45,19) width 159: "You should see 'foo baz'."
-      RenderBlock {DIV} at (0,54) size 784x19
-        RenderText {#text} at (0,0) size 21x19
-          text run at (0,0) width 21: "foo"
-        RenderText {#text} at (21,0) size 26x19
-          text run at (21,0) width 26: " baz"
+      RenderBlock {P} at (0,0) size 784x36
+        RenderText {#text} at (0,0) size 761x35
+          text run at (0,0) width 402: "This tests deleting a selection created with a word granularity. "
+          text run at (401,0) width 360: "To run it manually, double click on 'bar' and hit forward"
+          text run at (0,18) width 47: "delete. "
+          text run at (46,18) width 161: "You should see 'foo baz'."
+      RenderBlock {DIV} at (0,52) size 784x18
+        RenderText {#text} at (0,0) size 22x17
+          text run at (0,0) width 22: "foo"
+        RenderText {#text} at (21,0) size 27x17
+          text run at (21,0) width 27: " baz"
 caret: position 3 of child 0 {#text} of child 2 {DIV} of body
diff --git a/LayoutTests/platform/gtk/editing/pasteboard/interchange-newline-2-expected.txt b/LayoutTests/platform/gtk/editing/pasteboard/interchange-newline-2-expected.txt
new file mode 100644 (file)
index 0000000..30af963
--- /dev/null
@@ -0,0 +1,14 @@
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > DIV > DIV > BODY > HTML > #document to 3 of #text > DIV > BODY > HTML > #document toDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
+EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
+This demonstrates a bug in interchange newline handling during paste.
+The selection being pasted into contain multiple blocks, which breaks the old code in paste that handled interchange newlines.
+| <div>
+|   "fbar"
+| "baz"
+| <div>
+|   "<#selection-caret>ar"
index 0f08bc1..cad8982 100644 (file)
@@ -101,8 +101,7 @@ EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotificatio
 EDITING DELEGATE: shouldInsertNode:#document-fragment replacingDOMRange:range from 12 of #text > DIV > DIV > BODY > HTML > #document to 20 of #text > DIV > BODY > HTML > #document givenAction:WebViewInsertActionPasted
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of #text > DIV > DIV > BODY > HTML > #document to 20 of #text > DIV > BODY > HTML > #document toDOMRange:range from 20 of #text > DIV > BODY > HTML > #document to 20 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > DIV > BODY > HTML > #document to 20 of #text > DIV > BODY > HTML > #document toDOMRange:range from 20 of #text > DIV > BODY > HTML > #document to 20 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 EDITING DELEGATE: shouldInsertNode:#document-fragment replacingDOMRange:range from 20 of #text > DIV > BODY > HTML > #document to 20 of #text > DIV > BODY > HTML > #document givenAction:WebViewInsertActionPasted
@@ -114,24 +113,20 @@ layer 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 784x140 [border: (2px solid #FF0000)]
-        RenderBlock (anonymous) at (14,14) size 756x28
-          RenderText {#text} at (0,0) size 351x28
-            text run at (0,0) width 351: "Omitted, all the voyage of their life,"
-        RenderBlock {DIV} at (14,42) size 756x56 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 114x28
-            text run at (14,14) width 114: "Is bound in "
-          RenderText {#text} at (128,14) size 243x28
-            text run at (128,14) width 243: "shallows and in miseries."
-        RenderBlock (anonymous) at (14,98) size 756x28
-          RenderText {#text} at (0,0) size 197x28
-            text run at (0,0) width 197: "Upon such a full sea"
-          RenderText {#text} at (197,0) size 243x28
-            text run at (197,0) width 243: "shallows and in miseries."
-      RenderBlock (anonymous) at (0,140) size 784x0
-      RenderBlock {DIV} at (0,140) size 784x56 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 197x28
-          text run at (14,14) width 197: "Upon such a full sea"
-        RenderText {#text} at (211,14) size 185x28
-          text run at (211,14) width 185: " are we now afloat,"
+      RenderBlock {DIV} at (0,0) size 784x137 [border: (2px solid #FF0000)]
+        RenderBlock (anonymous) at (14,14) size 756x27
+          RenderText {#text} at (0,0) size 346x26
+            text run at (0,0) width 346: "Omitted, all the voyage of their life,"
+        RenderBlock {DIV} at (14,41) size 756x55 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 356x26
+            text run at (14,14) width 356: "Is bound in shallows and in miseries."
+        RenderBlock (anonymous) at (14,96) size 756x27
+          RenderText {#text} at (0,0) size 438x26
+            text run at (0,0) width 438: "Upon such a full seashallows and in miseries."
+      RenderBlock (anonymous) at (0,137) size 784x0
+      RenderBlock {DIV} at (0,137) size 784x55 [border: (2px solid #FF0000)]
+        RenderText {#text} at (14,14) size 196x26
+          text run at (14,14) width 196: "Upon such a full sea"
+        RenderText {#text} at (209,14) size 185x26
+          text run at (209,14) width 185: " are we now afloat,"
 caret: position 20 of child 0 {#text} of child 2 {DIV} of body