IRC log of pointerevents on 2022-02-02

Timestamps are in UTC.

16:02:20 [RRSAgent]
RRSAgent has joined #pointerevents
16:02:20 [RRSAgent]
logging to https://www.w3.org/2022/02/02-pointerevents-irc
16:02:28 [Patrick_H_Lauke]
Meeting: PEWG
16:02:32 [Patrick_H_Lauke]
Chair: Patrick H. Lauke
16:02:50 [Patrick_H_Lauke]
Agenda: https://www.w3.org/events/meetings/0d3af70c-0054-43dc-9c15-c60c5b9c3f3c/20220202T110000
16:02:55 [Patrick_H_Lauke]
Scribe: Patrick H. Lauke
16:03:02 [Patrick_H_Lauke]
Present+ Patrick_H_Lauke
16:03:04 [Patrick_H_Lauke]
present+ smaug
16:03:08 [Patrick_H_Lauke]
present+ flackr
16:03:47 [Patrick_H_Lauke]
TOPIC: Should triggering the contextmenu with the mouse cause a pointercancel? https://github.com/w3c/pointerevents/issues/408
16:06:10 [mustaq]
present+ mustaq
16:09:32 [Patrick_H_Lauke]
[discussion on how this might be platform specific - linux behaving differently from windows]
16:10:04 [Patrick_H_Lauke]
Rob: it has always been an issue that if mouse/pointer leaves your page that you don't know if the button is still active
16:10:44 [Patrick_H_Lauke]
Olli: what should happen with pointercapture
16:11:03 [Patrick_H_Lauke]
Olli: on linux, if i have capture checkbox enabled, and right click, i don't get any capture events
16:12:04 [Patrick_H_Lauke]
Olli: this in chrome. in firefox, i do see contextmenu and then gotpointercapture
16:12:23 [mustaq]
https://w3c.github.io/pointerevents/#process-pending-pointer-capture
16:14:55 [Patrick_H_Lauke]
Patrick: in Safari/macOS, with capture checkbox checked, i get pointerdown, gotpointercapture,contextmenu, and that's it
16:17:19 [Patrick_H_Lauke]
Patrick: can we naively say "when contextmenu is fired, fire pointercancel (and then whatever happens with capture is implicit with the fact that it's cancelled, i.e. fire lostpointercapture)"
16:17:52 [Patrick_H_Lauke]
Rob: maybe be more generic, not just contextmenu. whenever the focus of the pointer is lost, cancel the pointer (?)
16:20:44 [Patrick_H_Lauke]
[discussion on what happens switching between windows and maintaining consistency]
16:20:51 [mustaq]
Canceling intuitively means a "hard"ish break nin event stream
16:21:06 [Patrick_H_Lauke]
https://w3c.github.io/pointerevents/#the-pointercancel-event
16:22:11 [Patrick_H_Lauke]
Rob: if i get my context menu, i don't expect my drag to continue
16:22:24 [Patrick_H_Lauke]
Olli: if you press Esc you can continue your mouse event stream
16:22:48 [Patrick_H_Lauke]
Rob: one way of viewing this is that the pointer is cancelled, and then it reappears later
16:24:23 [Patrick_H_Lauke]
Mustaq: what's the difference, conceptually, between getting pointerout and pointercancel
16:27:36 [Patrick_H_Lauke]
Rob: ... we should ensure that the stream of events makes sense. they're not going to get events when contextmenu comes up, but event stream should not suggest that pointer is still down
16:27:48 [Patrick_H_Lauke]
Olli: but the pointer MAY be still down, if you close contextmenu with esc
16:28:42 [Patrick_H_Lauke]
Patrick: https://www.youtube.com/shorts/oggIAZ9uHug
16:29:57 [Patrick_H_Lauke]
Patrick: slightly related touch events / iOS/Safari bug where even after opening context menu the touch events/scroll still fires behind the context menu
16:31:13 [Patrick_H_Lauke]
[discussion on whether firing pointerout rather than pointercancel would be sufficient/more universally applicable]
16:31:35 [Patrick_H_Lauke]
Rob: what's good about pointercancel though is that is sends a clear signal to developers that are listening to events
16:32:36 [Patrick_H_Lauke]
Patrick: the nice thing with pointercancel is that it then does the capture release for free https://w3c.github.io/pointerevents/#implicit-release-of-pointer-capture
16:34:18 [Patrick_H_Lauke]
Rob: i like the implicit release because it handles all the things for this use case
16:35:58 [Patrick_H_Lauke]
Mustaq: we want to guarantee that for every "got" there's a "lost"
16:36:21 [Patrick_H_Lauke]
Rob: if you want to make dev lives easier, you probably want to send a promise, rather than making them wait for another event
16:37:00 [Patrick_H_Lauke]
Rob: we should at least be sending an out event...
16:40:03 [flackr]
https://rbyers.github.io/eventTest.html without capture shows out events and no more information after the cursor leaves the window
16:52:03 [Patrick_H_Lauke]
[discussion on other scenarios other than contextmenu that may interrupt event stream - alert() boxes for instance. should conceptually fire just before the context menu/alert/etc fires it. the event won't be actually received by the page until the event loop runs again, but at least the application will then be able to get itself in the correct state rather than still having a hanging "i've still got the capture / the pointer is
16:52:03 [Patrick_H_Lauke]
still down as i didn't see an up/etc" assumption]
16:52:29 [Patrick_H_Lauke]
Rob: we have wording in pointercancel that suggest it's about hardware events that stop the stream. we could expand that to cover other scenarios
16:53:59 [Patrick_H_Lauke]
Patrick: happy to make an initial strawman PR that just adds more wording to the pointercancel definition to also cover contextmenu etc
16:54:16 [Patrick_H_Lauke]
Olli: would this then also cover the other issue "Lost pointer issue - spec or browser bug?" https://github.com/w3c/pointerevents/issues/407
16:54:24 [Patrick_H_Lauke]
Patrick: i think so, as these are related
16:54:34 [Patrick_H_Lauke]
Olli: will need to see if we can make a test for this
16:55:15 [Patrick_H_Lauke]
Rob: I think we have some tests using webdriver (using touch, not exactly the same, but leads me to believe we can use contextmenus in WPT runners)
16:55:54 [Patrick_H_Lauke]
Patrick: do we still allow manual tests for WPT, been ages since i looked
16:55:59 [Patrick_H_Lauke]
Rob: yes, that's always an option
16:57:15 [Patrick_H_Lauke]
ACTION: Patrick to expand pointercancel definition to also mention contextmenu etc as examples, not just suggesting it's hardware events that may stop stream
16:59:29 [Patrick_H_Lauke]
[discussion on some existing WPT tests relating to right-click, contextmenu key on keyboard, and if they could be used as basis]
17:01:19 [Patrick_H_Lauke]
Patrick: we'll look at tests next time. meanwhile thank you all, see you in two weeks' time
17:01:26 [Patrick_H_Lauke]
rrsagent, make logs world-visible
17:01:31 [Patrick_H_Lauke]
rrsagent, generate minutes
17:01:31 [RRSAgent]
I have made the request to generate https://www.w3.org/2022/02/02-pointerevents-minutes.html Patrick_H_Lauke
17:01:37 [Patrick_H_Lauke]
rrsagent, make logs world-visible
17:01:50 [Patrick_H_Lauke]
rrsagent, bye
17:01:50 [RRSAgent]
I see 1 open action item saved in https://www.w3.org/2022/02/02-pointerevents-actions.rdf :
17:01:50 [RRSAgent]
ACTION: Patrick to expand pointercancel definition to also mention contextmenu etc as examples, not just suggesting it's hardware events that may stop stream [1]
17:01:50 [RRSAgent]
recorded in https://www.w3.org/2022/02/02-pointerevents-irc#T16-57-15