- From: Patrick H. Lauke <redux@splintered.co.uk>
- Date: Wed, 2 Feb 2022 17:28:17 +0000
- To: "public-pointer-events@w3.org" <public-pointer-events@w3.org>
Dear all, the minutes from today's meeting are at https://www.w3.org/2022/02/02-pointerevents-minutes.html and copied below: PEWG 02 February 2022 Agenda https://www.w3.org/events/meetings/0d3af70c-0054-43dc-9c15-c60c5b9c3f3c/20220202T110000 Attendees Present flackr, mustaq, Patrick_H_Lauke, smaug Chair: Patrick H. Lauke Scribe: Patrick H. Lauke, Patrick_H_Lauke * Should triggering the contextmenu with the mouse cause a pointercancel? https://github.com/w3c/pointerevents/issues/408 # Should triggering the contextmenu with the mouse cause a pointercancel? https://github.com/w3c/pointerevents/issues/408 [discussion on how this might be platform specific - linux behaving differently from windows] 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 Olli: what should happen with pointercapture Olli: on linux, if i have capture checkbox enabled, and right click, i don't get any capture events Olli: this in chrome. in firefox, i do see contextmenu and then gotpointercapture <mustaq> https://w3c.github.io/pointerevents/#process-pending-pointer-capture Patrick: in Safari/macOS, with capture checkbox checked, i get pointerdown, gotpointercapture,contextmenu, and that's it 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)" Rob: maybe be more generic, not just contextmenu. whenever the focus of the pointer is lost, cancel the pointer (?) [discussion on what happens switching between windows and maintaining consistency] <mustaq> Canceling intuitively means a "hard"ish break nin event stream https://w3c.github.io/pointerevents/#the-pointercancel-event Rob: if i get my context menu, i don't expect my drag to continue Olli: if you press Esc you can continue your mouse event stream Rob: one way of viewing this is that the pointer is cancelled, and then it reappears later Mustaq: what's the difference, conceptually, between getting pointerout and pointercancel 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 Olli: but the pointer MAY be still down, if you close contextmenu with esc Patrick: https://www.youtube.com/shorts/oggIAZ9uHug Patrick: slightly related touch events / iOS/Safari bug where even after opening context menu the touch events/scroll still fires behind the context menu [discussion on whether firing pointerout rather than pointercancel would be sufficient/more universally applicable] Rob: what's good about pointercancel though is that is sends a clear signal to developers that are listening to events 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 Rob: i like the implicit release because it handles all the things for this use case Mustaq: we want to guarantee that for every "got" there's a "lost" Rob: if you want to make dev lives easier, you probably want to send a promise, rather than making them wait for another event Rob: we should at least be sending an out event... <flackr> https://rbyers.github.io/eventTest.html without capture shows out events and no more information after the cursor leaves the window [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 still down as i didn't see an up/etc" assumption] 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 Patrick: happy to make an initial strawman PR that just adds more wording to the pointercancel definition to also cover contextmenu etc Olli: would this then also cover the other issue "Lost pointer issue - spec or browser bug?" https://github.com/w3c/pointerevents/issues/407 Patrick: i think so, as these are related Olli: will need to see if we can make a test for this 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) Patrick: do we still allow manual tests for WPT, been ages since i looked Rob: yes, that's always an option ACTION: Patrick to expand pointercancel definition to also mention contextmenu etc as examples, not just suggesting it's hardware events that may stop stream [discussion on some existing WPT tests relating to right-click, contextmenu key on keyboard, and if they could be used as basis] Patrick: we'll look at tests next time. meanwhile thank you all, see you in two weeks' time -- Patrick H. Lauke https://www.splintered.co.uk/ | https://github.com/patrickhlauke https://flickr.com/photos/redux/ | https://www.deviantart.com/redux twitter: @patrick_h_lauke | skype: patrick_h_lauke
Received on Wednesday, 2 February 2022 17:28:33 UTC