Bug 198828 - [GTK] Several pasteboard tests are flaky
Summary: [GTK] Several pasteboard tests are flaky
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-13 06:55 PDT by Miguel Gomez
Modified: 2021-06-08 07:04 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Miguel Gomez 2019-06-13 06:55:20 PDT
editing/pasteboard/avoid-copying-body-with-background.html [ Failure ]
editing/pasteboard/contenteditable-pre.html [ Failure ]
editing/pasteboard/paste-list-004.html [ Failure ]
editing/pasteboard/paste-text-008.html [ Failure ]
editing/pasteboard/paste-text-012.html [ Failure ]

These tests may fail on the first or both runs. These are the diffs when they fail:

--- /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/editing/pasteboard/avoid-copying-body-with-background-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/editing/pasteboard/avoid-copying-body-with-background-actual.txt
@@ -13,13 +13,15 @@
 "
 |   <li>
 |     "Copied content"
-|   <li>
-|     "hello, world "
-|     <a>
-|       href="http://www.webkit.org/"
-|       "WebKit"
-|   <li>
-|     "Copied content<#selection-caret>"
+|     <span>
+|       style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"
+|       "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam interdum lacus id lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Quisque pulvinar, libero eu tincidunt adipiscing, quam arcu pharetra libero, sed aliquet leo eros vitae sapien."
+|     <p>
+|       style="height: 54px; overflow: visible; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); text-decoration: none;"
+|       "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam interdum lacus id lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Quisque pulvinar, libero eu tincidunt adipiscing, quam arcu pharetra libero, sed aliquet leo eros vitae sapien."
+|     <p>
+|       style="height: 54px; overflow: visible; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); text-decoration: none;"
+|       "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam interdum lacus id lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Quisque pulvinar, libero eu tincidunt adipiscing, quam arcu pharetra libero, sed aliquet leo eros vitae sapien.<#selection-caret>"
 |   "
 "
 | "



--- /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/editing/pasteboard/contenteditable-pre-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/editing/pasteboard/contenteditable-pre-actual.txt
@@ -3,7 +3,11 @@
 WebKit should not clone pre (nest pre) and the pasted content should not have nested borders.
 
 Pasting into pre; the pre should not be listed below:
-| "hello<#selection-caret>"
+| <pre>
+|   style="border-color: red;"
+|   "hello"
+|   <br>
+|   "world<#selection-caret>"
 
 Pasting into div; the pasted content should be in pre:
 | <pre>



--- /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/editing/pasteboard/paste-list-004-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/editing/pasteboard/paste-list-004-actual.txt
@@ -1,12 +1,12 @@
+CONSOLE MESSAGE: line 50: Expected 7 list items, found 8
 Pasting a list item into the middle of another list item should split the target list item into two with the pasted content in between.
 
-one two: one two
-three: three
-one two: one two
-four: four
-monsters walking: <span style="background-color:green"><b>monsters walking</b></span>
-one two: one two
-cross the floor: <span style="background-color:green"><b>cross the floor</b></span>
-PASS
-
-
+one two
+three
+one
+two
+ four
+monsters walking
+one two
+ cross the floor
+FAIL



--- /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/editing/pasteboard/paste-text-008-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/editing/pasteboard/paste-text-008-actual.txt
@@ -101,12 +101,11 @@
 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: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > DIV > BODY > HTML > #document to 39 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 2 of 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
-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
-EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 45 of #text > DIV > BODY > HTML > #document to 45 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: shouldInsertNode:#document-fragment replacingDOMRange:range from 0 of DIV > DIV > BODY > HTML > #document to 0 of DIV > DIV > BODY > HTML > #document givenAction:WebViewInsertActionPasted
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 20 of #text > DIV > DIV > BODY > HTML > #document to 20 of #text > DIV > DIV > BODY > HTML > #document toDOMRange:range from 20 of #text > DIV > DIV > BODY > HTML > #document to 20 of #text > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 layer at (0,0) size 800x600
@@ -114,17 +113,21 @@
 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 784x137 [border: (2px solid #FF0000)]
+      RenderBlock {DIV} at (0,0) size 784x219 [border: (2px solid #FF0000)]
         RenderBlock (anonymous) at (14,14) size 756x27
           RenderText {#text} at (0,0) size 351x26
             text run at (0,0) width 351: "Omitted, all the voyage of their life,"
-        RenderBlock {DIV} at (14,41) size 756x55 [border: (2px solid #FF0000)]
-          RenderText {#text} at (14,14) size 357x26
-            text run at (14,14) width 357: "Is bound in shallows and in miseries."
-        RenderBlock (anonymous) at (14,96) size 756x27
-          RenderText {#text} at (0,0) size 440x26
-            text run at (0,0) width 440: "Upon such a full seashallows and in miseries."
-      RenderBlock {DIV} at (0,137) size 784x55 [border: (2px solid #FF0000)]
-        RenderText {#text} at (14,14) size 382x26
-          text run at (14,14) width 382: "Upon such a full sea are we now afloat,"
-caret: position 20 of child 0 {#text} of child 2 {DIV} of body
+        RenderBlock {DIV} at (14,41) size 756x82 [border: (2px solid #FF0000)]
+          RenderText {#text} at (14,14) size 462x26
+            text run at (14,14) width 462: "Is bound in There is a tide in the affairs of men,"
+          RenderBR {BR} at (475,35) size 1x0
+          RenderText {#text} at (14,41) size 185x26
+            text run at (14,41) width 185: " are we now afloat,"
+        RenderBlock {DIV} at (14,123) size 756x82
+          RenderBlock {DIV} at (0,0) size 756x55 [border: (2px solid #FF0000)]
+            RenderText {#text} at (14,14) size 243x26
+              text run at (14,14) width 243: "shallows and in miseries."
+          RenderBlock (anonymous) at (0,55) size 756x27
+            RenderText {#text} at (0,0) size 197x26
+              text run at (0,0) width 197: "Upon such a full sea"
+caret: position 20 of child 1 {#text} of child 2 {DIV} of child 1 {DIV} of body



--- /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/editing/pasteboard/paste-text-012-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/editing/pasteboard/paste-text-012-actual.txt
@@ -3,7 +3,9 @@
 To manually test, copy everything in the first editable box and paste it in the second box. You should see "foo" and a new line inside a red box.
 
 foo
-foo
+hello
+
+there
 
 execCopyCommand: <div id="test" class="editing"><div><blockquote>foo</blockquote></div></div> <div class="editing"></div>
-execPasteCommand: <div id="test" class="editing"><div><blockquote>foo</blockquote></div></div> <div class="editing"><div id="test" class="editing"><blockquote>foo</blockquote><div><br></div></div></div>
+execPasteCommand: <div id="test" class="editing"><div><blockquote>foo</blockquote></div></div> <div class="editing"><p><font face="Monaco"><b>hello</b></font></p><p><font face="Monaco"><b>there</b></font></p></div>
Comment 1 Miguel Gomez 2019-06-13 06:56:45 PDT
I'm also adding here the tests I had added to https://bugs.webkit.org/show_bug.cgi?id=157179 that fit better in this bug (as I think they are not related to drag&drop:


editing/pasteboard/4989774.html [ Failure Pass ]
editing/pasteboard/paste-line-endings-002.html [ Failure Pass ]
editing/pasteboard/paste-list-002.html [ Failure Pass ]
editing/pasteboard/paste-list-003.html [ Failure Pass ]
Comment 2 Miguel Gomez 2019-07-11 08:23:30 PDT
some more

editing/pasteboard/paste-line-endings-001.html [ Failure Pass ]
editing/pasteboard/paste-text-002.html [ Failure Pass ]
editing/pasteboard/drag-drop-iframe-refresh-crash.html [ Timeout Pass ]
Comment 3 Diego Pino 2020-03-01 10:07:15 PST
One more:

  * editing/pasteboard/copy-backslash-with-euc.html
Comment 4 Diego Pino 2021-06-08 07:03:14 PDT
bug.
Comment 5 Diego Pino 2021-06-08 07:04:02 PDT
This test, or group of tests, was marked as flaky but the test(s) has been consistenly failing for the last 4000 revisions. Baseline of test was updated and removed from test expectations in r278604. Closing bug.