16:00:21 RRSAgent has joined #pointerevents 16:00:25 logging to https://www.w3.org/2025/02/12-pointerevents-irc 16:00:27 same 16:02:05 Meeting: PEWG 16:02:10 Chair: Patrick H. Lauke 16:02:33 Agenda: https://www.w3.org/events/meetings/66591f6b-6694-4f90-b23d-bf8f1b9dda8a/20250212T110000/ 16:02:42 Scribe: Patrick H. Lauke 16:02:51 ScribeNick: Patrick_H_Lauke 16:05:29 TOPIC: Clarify the event target of pointermove if an event listener of the preceding pointerrawupdate explicitly release pointer capture https://github.com/w3c/pointerevents/issues/509 16:05:56 Olli: was discussing with Masayuki last night, agreed to close 16:06:19 Olli: somebody will need to do WPT ? 16:06:43 TOPIC: Define pointermove and pointerrawupdate may have delta from previous corresponding pointer event as movementX and movementY https://github.com/w3c/pointerevents/issues/535 16:07:21 Patrick: I see a comment from Olli that this is a dupe on pointerlock 16:07:49 Olli: right now it's clear that movement should be zero, but because they're not in all implementations... 16:07:54 Olli: not sure what webkit does here 16:08:27 Olli: isn't mustaq also editor for pointerlock? 16:08:51 Patrick: he is yes https://w3c.github.io/pointerlock/ 16:09:31 Olli: type is actually double, so not sure what Masayuki means... 16:10:02 Olli: unless you can remember, Rob, if these are actually "long" 16:10:15 Rob: I think there'd be far less compat risk though either way 16:11:38 Patrick: so do we need to do anything here? PE extend mouse events, and pointerlock extends mouse events, so it's fine we don't cover movementX/Y in ours? 16:11:49 Rob: yes, that's fine, it should just be covered by pointerlock 16:13:52 (sorry having a computer issue, still trying to join) 16:14:12 ACTION: keep #535 open, but action is on pointerlock spec to deal with 16:14:31 TOPIC: Clarify pointermove event (or following event of pointer boundary events) target if preceding pointer boundary event listener removes the pointerover target https://github.com/w3c/pointerevents/issues/536 16:15:30 Olli: mouse event handling was causing some weird webcompat issues 16:16:01 Olli: what should happen if you remove the move target when dealing with boundary events 16:16:20 Olli: but with pointer events all browsers do same 16:16:44 Olli: so question is if we (firefox) want to do the same as chrome canary 16:17:05 Olli: and Safari does something weird/idiosyncratic 16:19:19 Patrick: so reading between the lines, is this issue a case of "wait to see what UIEvents decide for mouse events, and THEN pointer events should match the behaviour?" as in not for us to do anything right now? 16:19:37 Olli: though we may still be the people that decide what should happen for UIEvents... 16:19:53 Olli: unless Rob remembers any specifics... 16:20:17 Rob: I'd have to refresh my memory on this, it's a bit hazy 16:20:25 Mustaq: is this pointermove, or mousemove? 16:20:49 Olli: both, there's divergence in behaviour (looking at latest chrome canary) 16:21:15 Olli: you would dispatch mousemove to nearest ancestor. right now when dealing with pointer events the pointermove is just GONE. so that's the difference 16:21:27 Mustaq: all browsers drop pointermove? 16:22:03 Olli: yes, though from Masayuki's comment it looks like sometimes it does go to document or window 16:22:39 Rob: for an author, you listen on some ancestor, and it would be strange not to get that event when some deep child node fired it. so i think we should TRY to dispatch the event (pointermove) 16:23:46 Rob: what is the higher level change? during async dispatches, events go to the still attached ancestor? 16:23:48 Olli: yes 16:23:59 Rob: same as we did for DISPATCHING the boundary events 16:24:05 Rob: seems reasonable... 16:24:32 Olli: webcompat story will be difficult, as right now all browsers DO the same (drop the pointermove altogether?) 16:24:41 Olli: could do with some telemetry... 16:25:13 Rob: we could add counter - implement new behaviour, and then check if there are any move event listeners on ancestors when a target has changed 16:25:39 Rob: more inclined to just make change and see if we get complaints. know it's risky, but such an edge case that we can't accurately measure impact beforehand 16:25:50 Mustaq: you mentioned you faced some broken sites? 16:26:04 Olli: that was with *mouse events* 16:26:23 https://bugzilla.mozilla.org/show_bug.cgi?id=1943411 16:26:49 Olli: that has link to the relevant site. menu bar was broken because they were rebuilding menu structure when you were moving mouse 16:27:13 Olli: we had that behaviour enabled in nightly for some time, but only realised when it went to beta 16:27:58 Olli: we all agree though that we SHOULD try to dispatch pointermove 16:28:38 Patrick: so do we need anything in our spec? 16:29:14 Rob: behaviour is going to be that: we have movement, we determine a target, and if as result of boundary events something happens, we still try to dispatch to an ancestor 16:30:30 Mustaq: it follows our general approach of "if a node disappears, we still try to fire the events to ancestors if possible". does any other spec clarify this? 16:30:50 Rob: I don't think other specs have looked at DOM modifications as deeply as we have, so we may have to pave the path 16:31:14 Olli: UIEvents... 16:31:28 Rob: but *this* part of mouse events will be subsumed by pointer events in the long run 16:31:52 Mustaq: maybe adding a line in pointer events, even if we mark it as at risk somehow.... 16:32:00 Olli: this could be for PE next 16:33:56 Patrick: so we can leave it to the side for v3? it's edge-casey... 16:34:29 ACTION: mark issue for Next 16:35:19 TOPIC: Define pointermove and pointerrawupdate may have delta from previous corresponding pointer event as movementX and movementY https://github.com/w3c/pointerevents/issues/535 (redux) 16:38:09 Patrick: for context Mustaq, we came to the point of saying "PE extends mouse, pointer lock extends mouse, so it's fine we don't explicitly mention movementX/Y in our spec". does that make sense, since you're also an editor of pointerlock? 16:38:14 Mustaq: yes, makes sense 16:38:30 TOPIC: Implicit pointer capture state after a failed explicit capture call at pointerdown https://github.com/w3c/pointerevents/issues/534 16:41:47 Patrick: PR looks good to my naive eyes (assuming this matches reality), but leaving the actual review to Olli/Rob 16:42:00 Mustaq: it matches reality insofar as it matches what the algorithm says should happen 16:42:44 Rob: it looks fine to me 16:43:12 Olli: looks fine to me 16:44:51 ACTION: merge PR 16:45:06 Mustaq: i have additional point for interop 2025 16:45:15 Interop 2025 Pointer/Mouse: https://github.com/web-platform-tests/interop/issues/809 16:46:10 Mustaq: proposed a few WPTs relating to pointer events. would be good to get Mozilla's take/help on these 16:46:55 Olli: `uievents/mouse/mousemove_after_mouseover_target_removed.html` looks like what we discussed earlier 16:47:58 Mustaq: feel free to push back, propose yours... these seem easy/manageable 16:49:39 Any comment there from Mozilla would be appreciated. 16:51:22 Patrick: thank you all, this concludes today's meeting. I will look at any cherry-picking of PRs that were made to main branch that SHOULD also go to v3, and i think we're now close to calling v3 ready for next stage of REC track... 16:51:31 rrsagent, set logs world-visible 16:51:35 rrsagent, generate minutes 16:51:36 I have made the request to generate https://www.w3.org/2025/02/12-pointerevents-minutes.html Patrick_H_Lauke 16:51:54 rrsagent, bye 16:51:54 I see 3 open action items saved in https://www.w3.org/2025/02/12-pointerevents-actions.rdf : 16:51:54 ACTION: keep #535 open, but action is on pointerlock spec to deal with [1] 16:51:54 recorded in https://www.w3.org/2025/02/12-pointerevents-irc#T16-14-12 16:51:54 ACTION: mark issue for Next [2] 16:51:54 recorded in https://www.w3.org/2025/02/12-pointerevents-irc#T16-34-29 16:51:54 ACTION: merge PR [3] 16:51:54 recorded in https://www.w3.org/2025/02/12-pointerevents-irc#T16-44-51