Closed Bug 1599946 Opened 5 years ago Closed 5 years ago

ubuntu1804 - editor/libeditor/tests/test_dragdrop.html | Test dragging input - got "trapDrag was not called", expected null

Categories

(Core :: DOM: Editor, defect, P5)

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: intermittent-bug-filer, Assigned: masayuki)

References

Details

Filed by: egao [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=278536353&repo=try
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/M3iHYB-dQqibGUCmlUcQ8A/runs/0/artifacts/public/logs/live_backing.log


suite: mochitest
chunk: 4

context:
[task 2019-11-27T23:50:28.310Z] 23:50:28 INFO - TEST-START | editor/libeditor/tests/test_dragdrop.html
[task 2019-11-27T23:50:28.427Z] 23:50:28 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-11-27T23:50:28.427Z] 23:50:28 INFO - Buffered messages logged at 23:50:28
[task 2019-11-27T23:50:28.428Z] 23:50:28 INFO - must wait for load
[task 2019-11-27T23:50:28.429Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Test dragging regular text
[task 2019-11-27T23:50:28.429Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | No "input" event should be fired when dragging from text in <span> element
[task 2019-11-27T23:50:28.430Z] 23:50:28 INFO - Buffered messages finished
[task 2019-11-27T23:50:28.431Z] 23:50:28 INFO - TEST-UNEXPECTED-FAIL | editor/libeditor/tests/test_dragdrop.html | Test dragging input - got "trapDrag was not called", expected null
[task 2019-11-27T23:50:28.431Z] 23:50:28 INFO - SimpleTest.is@SimpleTest/SimpleTest.js:322:16
[task 2019-11-27T23:50:28.431Z] 23:50:28 INFO - doTest@editor/libeditor/tests/test_dragdrop.html:87:5
[task 2019-11-27T23:50:28.432Z] 23:50:28 INFO - focusedOrLoaded/<@SimpleTest/SimpleTest.js:805:67
[task 2019-11-27T23:50:28.432Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | No "input" event should be fired when dragging from text in <input> element
[task 2019-11-27T23:50:28.432Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Test dragging textarea
[task 2019-11-27T23:50:28.433Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | No "input" event should be fired when dragging from text in <textarea> element
[task 2019-11-27T23:50:28.440Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Test dragging contenteditable
[task 2019-11-27T23:50:28.442Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | No "input" event should be fired when dragging from text in contenteditable element
[task 2019-11-27T23:50:28.458Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag text/html onto input
[task 2019-11-27T23:50:28.460Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Only one "input" events should be fired when dropping text/html into empty <input> element
[task 2019-11-27T23:50:28.461Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be dispatched with InputEvent interface when dropping text/html into empty <input> element
[task 2019-11-27T23:50:28.462Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be never cancelable when dropping text/html into empty <input> element
[task 2019-11-27T23:50:28.464Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should always bubble when dropping text/html into empty <input> element
[task 2019-11-27T23:50:28.465Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be fired on the <input> element when dropping text/html into empty <input> element
[task 2019-11-27T23:50:28.466Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | inputType should be "insertFromDrop" on the <input> element when dropping text/html into empty <input> element
[task 2019-11-27T23:50:28.468Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | data should be Some Text on the <input> element when dropping text/html into empty <input> element
[task 2019-11-27T23:50:28.469Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | dataTransfer should be null on the <input> element when dropping text/html into empty <input> element
[task 2019-11-27T23:50:28.472Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag text/html onto disabled input
[task 2019-11-27T23:50:28.475Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | No "input" event should be fired when dropping on disabled <input> element
[task 2019-11-27T23:50:28.477Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag text/html onto readonly input
[task 2019-11-27T23:50:28.479Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | No "input" event should be fired when dropping on readonly <input> element
[task 2019-11-27T23:50:28.480Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag text/html onto input
[task 2019-11-27T23:50:28.483Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | No "input" event should be fired when dropping text/html into empty <input> element
[task 2019-11-27T23:50:28.487Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag text/html and text/plain onto input
[task 2019-11-27T23:50:28.489Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Only one "input" events should be fired when dropping text/plain into empty <input> element
[task 2019-11-27T23:50:28.492Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be dispatched with InputEvent interface when dropping text/plain into empty <input> element
[task 2019-11-27T23:50:28.493Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be never cancelable when dropping text/plain into empty <input> element
[task 2019-11-27T23:50:28.494Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should always bubble when dropping text/plain into empty <input> element
[task 2019-11-27T23:50:28.499Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be fired on the <input> element when dropping text/plain into empty <input> element
[task 2019-11-27T23:50:28.500Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | inputType should be "insertFromDrop" on the <input> element when dropping text/plain into empty <input> element
[task 2019-11-27T23:50:28.502Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | data should be Some Plain Text on the <input> element when dropping text/plain into empty <input> element
[task 2019-11-27T23:50:28.504Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | dataTransfer should be null on the <input> element when dropping text/plain into empty <input> element
[task 2019-11-27T23:50:28.506Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag text/x-moz-text-internal onto input
[task 2019-11-27T23:50:28.507Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | No "input" event should be fired when dropping text/x-moz-text-internal into <input> element
[task 2019-11-27T23:50:28.510Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag text/plain onto contenteditable child nodes
[task 2019-11-27T23:50:28.510Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag text/plain onto contenteditable text
[task 2019-11-27T23:50:28.514Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Only one "input" events should be fired when dropping text/plain into contenteditable element
[task 2019-11-27T23:50:28.514Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be dispatched with InputEvent interface when dropping text/plain into contenteditable element
[task 2019-11-27T23:50:28.514Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be never cancelable when dropping text/plain into contenteditable element
[task 2019-11-27T23:50:28.515Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should always bubble when dropping text/plain into contenteditable element
[task 2019-11-27T23:50:28.518Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be fired on the <p> element when dropping text/plain into contenteditable element
[task 2019-11-27T23:50:28.518Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | inputType should be "insertFromDrop" on the <p> element when dropping text/plain into contenteditable element
[task 2019-11-27T23:50:28.519Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | data should be null on the <p> element when dropping text/plain into contenteditable element
[task 2019-11-27T23:50:28.519Z] 23:50:28 INFO - TEST-FAIL | editor/libeditor/tests/test_dragdrop.html | dataTransfer should have "Sample Text" whose type is "text/plain" on the <p> element when dropping text/plain into contenteditable element - got "", expected "Sample Text"
[task 2019-11-27T23:50:28.521Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag text/html onto contenteditable child nodes
[task 2019-11-27T23:50:28.521Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag text/html onto contenteditable italic
[task 2019-11-27T23:50:28.522Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag text/html onto contenteditable italic text
[task 2019-11-27T23:50:28.526Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Only one "input" events should be fired when dropping text/html into contenteditable element
[task 2019-11-27T23:50:28.526Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be dispatched with InputEvent interface when dropping text/html into contenteditable element
[task 2019-11-27T23:50:28.526Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be never cancelable when dropping text/html into contenteditable element
[task 2019-11-27T23:50:28.528Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should always bubble when dropping text/html into contenteditable element
[task 2019-11-27T23:50:28.529Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be fired on the <p> element when dropping text/html into contenteditable element
[task 2019-11-27T23:50:28.529Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | inputType should be "insertFromDrop" on the <p> element when dropping text/html into contenteditable element
[task 2019-11-27T23:50:28.531Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | data should be null on the <p> element when dropping text/html into contenteditable element
[task 2019-11-27T23:50:28.531Z] 23:50:28 INFO - TEST-FAIL | editor/libeditor/tests/test_dragdrop.html | dataTransfer should have "Sample <i>Italic</i> Text" whose type is "text/html" on the <p> element when dropping text/html into contenteditable element - got "", expected "Sample <i>Italic</i> Text"
[task 2019-11-27T23:50:28.531Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Copy text/html and text/plain from contenteditable onto input
[task 2019-11-27T23:50:28.535Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Only one "input" events should be fired when dragging from contenteditable to <input> element
[task 2019-11-27T23:50:28.535Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be dispatched with InputEvent interface when dragging from contenteditable to <input> element
[task 2019-11-27T23:50:28.537Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be never cancelable when dragging from contenteditable to <input> element
[task 2019-11-27T23:50:28.537Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should always bubble when dragging from contenteditable to <input> element
[task 2019-11-27T23:50:28.538Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be fired on the <input> element when dragging from contenteditable to <input> element
[task 2019-11-27T23:50:28.538Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | inputType should be "insertFromDrop" on the <input> element when dragging from contenteditable to <input> element
[task 2019-11-27T23:50:28.540Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | data should be editable on the <input> element when dragging from contenteditable to <input> element
[task 2019-11-27T23:50:28.541Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | dataTransfer should be null on the <input> element when dragging from contenteditable to <input> element
[task 2019-11-27T23:50:28.541Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Move text/html and text/plain from contenteditable onto itself child nodes
[task 2019-11-27T23:50:28.543Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Move text/html and text/plain from contenteditable onto itself italic
[task 2019-11-27T23:50:28.544Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Move text/html and text/plain from contenteditable onto itself text
[task 2019-11-27T23:50:28.546Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Only one "input" events should be fired when dragging (copy) in a contentediable element
[task 2019-11-27T23:50:28.550Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be dispatched with InputEvent interface when dragging (copy) in a contentediable element
[task 2019-11-27T23:50:28.550Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be never cancelable when dragging (copy) in a contentediable element
[task 2019-11-27T23:50:28.550Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should always bubble when dragging (copy) in a contentediable element
[task 2019-11-27T23:50:28.551Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | "input" event should be fired on the <p> element when dragging (copy) in a contentediable element
[task 2019-11-27T23:50:28.552Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | inputType should be "insertFromDrop" on the <p> element when dragging (copy) in a contentediable element
[task 2019-11-27T23:50:28.553Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | data should be null on the <p> element when dragging (copy) in a contentediable element
[task 2019-11-27T23:50:28.554Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | dataTransfer should have "<i>Italic</i>" whose type is "text/html" on the <p> element when dragging (copy) in a contentediable element
[task 2019-11-27T23:50:28.555Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | dataTransfer should have "Italic" whose type is "text/plain" on the <p> element when dragging (copy) in a contentediable element
[task 2019-11-27T23:50:28.556Z] 23:50:28 INFO - TEST-PASS | editor/libeditor/tests/test_dragdrop.html | Drag non-editable text/html onto contenteditable text
[task 2019-11-27T23:50:28.558Z] 23:50:28 INFO - TEST-FAIL | editor/libeditor/tests/test_dragdrop.html | Only one "input" events should be fired when dragging from inner non-editable element to a contentediable element - got +0, expected 1
[task 2019-11-27T23:50:28.559Z] 23:50:28 INFO - GECKO(5899) | MEMORY STAT | vsize 2620MB | residentFast 192MB | heapAllocated 25MB
[task 2019-11-27T23:50:28.560Z] 23:50:28 INFO - TEST-OK | editor/libeditor/tests/test_dragdrop.html | took 247ms

:masayuki - I am observing a consistent failure of this test under ubuntu1804 test environment.

Would you be able to take a look, or redirect the ni to someone who may be able to comment, thanks!

Flags: needinfo?(masayuki)

I wonder, also according to the other failures, looks like that the new Ubuntu environment has different font size or different DPI, isn't it? If so, any tests using synthesizeMouse and synthesizeDrag* may fail. If we need new value only on the new environment (i.e., it's font size issue), it really makes writing tests complicated...

Flags: needinfo?(masayuki) → needinfo?(egao)

I recall checking the font sizes via gsettings for the ubuntu1804 docker image and the values came back as:

org.gnome.desktop.interface monospace-font-name 'Monospace 11'
org.gnome.desktop.interface document-font-name 'Sans 11'
org.gnome.desktop.interface font-name 'Cantarell 11'
org.gnome.desktop.wm.preferences titlebar-uses-system-font true
org.gnome.desktop.wm.preferences titlebar-font 'Cantarell Bold 11'
org.gnome.nautilus.desktop font ''

This is the same when I install and run ubuntu1804 in a virtual machine.

When I run xdpyinfo | grep dots in a virtual machine, I get the following output:

  resolution:    96x96 dots per inch

The one thing that may be of interest, is that ubuntu1604 uses Unity while ubuntu1804 and newer use GNOME3, and I've noticed a lot of issues with window sizing, font/emoji rendering and similar related issues with ubuntu1804. Perhaps the different window management system can explain why this test now fails.

Flags: needinfo?(egao) → needinfo?(masayuki)

Okay, anyway, the test looks like that it does not make sense. I probably need to rewrite it with different API in my current work. So, I'll test new test on Ubuntu 18.04 too.

Assignee: nobody → masayuki
Status: NEW → ASSIGNED
Flags: needinfo?(masayuki)
No longer depends on: 1597829

I think that the patches for bug 1603074 must fix this bug because test_dragdrop.html computes drag and drop position dynamically.

I will monitor bug 1603074, and push a try run once it lands. Thanks for the update!

I fixed bug 1603074 and I cannot reproduce this bug on my Ubuntu 18.04 environment. Please check if this is fixed by bug 1603074.

Flags: needinfo?(egao)

I will check, and update this comment with a try push and other results.

Flags: needinfo?(egao)
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED

Thank you for the verification! This means that we can fix this kind of issues with same approach (i.e., computing points of mouse operations at runtime).

You need to log in before you can comment on or make changes to this bug.