Open Bug 1630076 Opened 4 years ago Updated 3 years ago

After clicking on a div with a Wacom pen (emulated as mouse), the visjs library becomes buggy

Categories

(Core :: DOM: UI Events & Focus Handling, defect, P3)

76 Branch
defect

Tracking

()

UNCONFIRMED

People

(Reporter: yann.papouin, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached image Tab_Mapping.png

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0

Steps to reproduce:

I tried a js library demo and found that it was buggy on Firefox:
https://visjs.github.io/vis-timeline/examples/timeline/interaction/eventListeners.html

I'm reporting this issue as a Firefox bug because it works fine on Vivaldi and Legacy Microsoft Edge, so I don't think that it is a Wacom bug.

I'm trying to drag the "item4" to the right.

I'm using a Wacom tablet + pen (Intuos S) with mode set as Mouse (look at [Tab_Mapping.png])
If I change the mode to Pen, then the behavior is the same but if I enable "Use Windows Ink" then it works fine...

Note that I also have a real mouse connected at the same time that works flawlessly with visjs on Firefox.

Actual results:

The item4 stay highlighted and I'm unable to select other items or unhighlight item4. It looks like the mouse left down is still active.

Log from example page on Firefox:
hoveredItem=none
event="itemout", properties={"item":4,"event":{"isTrusted":true}}
event="itemover", properties={"item":4,"event":{"isTrusted":true}}
event="itemout", properties={"item":4,"event":{"isTrusted":true}}
event="click", properties={"event":{"isTrusted":true},"item":4,"isCluster":false,"items":[],"group":null,"customTime":null,"what":"item","pageX":591,"pageY":69,"x":583.4333343505859,"y":18.73333740234375,"time":"2013-04-17T13:09:56.160Z","snappedTime":"2013-04-17T16:00:00.000Z"}
event="mouseUp", properties={"event":{"isTrusted":true},"item":4,"isCluster":false,"items":[],"group":null,"customTime":null,"what":"item","pageX":591,"pageY":69,"x":583.4333343505859,"y":18.73333740234375,"time":"2013-04-17T13:09:56.160Z","snappedTime":"2013-04-17T16:00:00.000Z"}
event="select", properties={"items":[4],"event":{"pointers":[{"isTrusted":true,"_handled":{"press":true}}],"changedPointers":[{"isTrusted":true,"_handled":{"press":true}}],"pointerType":"mouse","srcEvent":{"isTrusted":true,"_handled":{"press":true}},"isFirst":true,"isFinal":false,"eventType":1,"center":{"x":440,"y":72},"timeStamp":1586901944397,"deltaTime":0,"angle":0,"distance":0,"deltaX":0,"deltaY":0,"offsetDirection":1,"overallVelocityX":0,"overallVelocityY":0,"overallVelocity":0,"scale":1,"rotation":0,"maxPointers":1,"velocity":0,"velocityX":0,"velocityY":0,"direction":1,"target":"DOM Element","type":"press","firstTarget":"DOM Element"}}
event="mouseDown", properties={"event":{"isTrusted":true},"item":4,"isCluster":false,"items":[],"group":null,"customTime":null,"what":"item","pageX":440,"pageY":72,"x":432.43333435058594,"y":21.73333740234375,"time":"2013-04-16T13:36:34.560Z","snappedTime":"2013-04-16T16:00:00.000Z"}
event="itemover", properties={"item":4,"event":{"isTrusted":true}}
event="rangechanged", properties={"start":"2013-04-13T18:09:00.000Z","end":"2013-04-27T05:51:00.000Z","byUser":false}
event="Timeline initial draw completed", properties={}

Expected results:

Item4 should be dragged while I'm pressing left click

Log from example page on Vivaldi:
hoveredItem=none
event="itemout", properties={"item":3,"event":{"isTrusted":true}}
event="itemover", properties={"item":3,"event":{"isTrusted":true}}
event="itemout", properties={"item":4,"event":{"isTrusted":true}}
event="click", properties={"event":{"isTrusted":true},"item":4,"isCluster":false,"items":[],"group":null,"customTime":null,"what":"item","pageX":581,"pageY":75,"x":573,"y":24.714282989501953,"time":"2013-04-17T22:29:59.999Z","snappedTime":"2013-04-17T22:00:00.000Z"}
event="update", properties={"items":[4],"oldData":[{"id":4,"content":"item 4","start":"2013-04-16","end":"2013-04-19"}],"data":[{"id":4,"content":"item 4","start":"2013-04-16T22:00:00.000Z","end":"2013-04-19T22:00:00.000Z"}]}
event="mouseUp", properties={"event":{"isTrusted":true},"item":4,"isCluster":false,"items":[],"group":null,"customTime":null,"what":"item","pageX":581.7142944335938,"pageY":75.42857360839844,"x":573.7142944335938,"y":25.14285659790039,"time":"2013-04-17T22:37:33.786Z","snappedTime":"2013-04-17T22:00:00.000Z"}
event="select", properties={"items":[4],"event":{"pointers":[{"isTrusted":true,"_handled":{"press":true}}],"changedPointers":[{"isTrusted":true,"_handled":{"press":true}}],"pointerType":"mouse","srcEvent":{"isTrusted":true,"_handled":{"press":true}},"isFirst":true,"isFinal":false,"eventType":1,"center":{"x":456,"y":75},"timeStamp":1586902031574,"deltaTime":0,"angle":0,"distance":0,"deltaX":0,"deltaY":0,"offsetDirection":1,"overallVelocityX":0,"overallVelocityY":0,"overallVelocity":0,"scale":1,"rotation":0,"maxPointers":1,"velocity":0,"velocityX":0,"velocityY":0,"direction":1,"target":"DOM Element","type":"press","firstTarget":"DOM Element"}}
event="mouseDown", properties={"event":{"isTrusted":true},"item":4,"isCluster":false,"items":[],"group":null,"customTime":null,"what":"item","pageX":456.00006103515625,"pageY":75.42857360839844,"x":448.00006103515625,"y":25.14285659790039,"time":"2013-04-17T00:26:28.273Z","snappedTime":"2013-04-16T22:00:00.000Z"}
event="itemover", properties={"item":4,"event":{"isTrusted":true}}
event="rangechanged", properties={"start":"2013-04-13T17:22:56.470Z","end":"2013-04-27T06:37:03.529Z","byUser":false}
event="Timeline initial draw completed", properties={}

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → DOM: Core & HTML
Product: Firefox → Core

Hi Edgar,
could you have a look? Thanks.

Flags: needinfo?(echen)
Component: DOM: Core & HTML → DOM: UI Events & Focus Handling

I could not reproduce on Window Surface + pen.

What I notice is that there is update event on Vivaldi log, but not no Firefox,

event="update", properties={"items":[4],"oldData":[{"id":4,"content":"item 4","start":"2013-04-16","end":"2013-04-19"}],"data":[{"id":4,"content":"item 4","start":"2013-04-16T22:00:00.000Z","end":"2013-04-19T22:00:00.000Z"}]}

I guess update event is fired from library.

Could you try if disabling pointer events by setting dom.w3c_pointer_events.enabled to false in about:config helps?

Flags: needinfo?(echen) → needinfo?(yann.papouin)

Resetting severity to default of --.

I can confirm that if I set dom.w3c_pointer_events.enabled=false, it fixes the issue.

Flags: needinfo?(yann.papouin)
Priority: -- → P3

Because this bug's Severity has not been changed from the default since it was filed, and it's Priority is P3 (Backlog,) indicating it has been triaged, the bug's Severity is being updated to S3 (normal.)

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: