Bug 255749

Summary: input[type="range"]: changing slot name while dragging thumb breaks interaction
Product: WebKit Reporter: sorvell
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: ahmad.saleem792, akeerthi, karlcow, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 16   
Hardware: Mac (Intel)   
OS: macOS 13   

Description sorvell 2023-04-20 14:58:26 PDT
If a custom element changes a slot name while an input[type="range"]'s thumb is being dragged and the pointer leaves the input, the interaction breaks as described below.

Reproduction: https://lit.dev/playground/#gist=710d6862ae3a2549ecb2b2d4a8663729

1. click the "Set slot name while dragging thumb" checkbox.
2. drag the range's thumb and move the pointer outside the input.

Expected: The thumb drags regardless of where the pointer is and stops dragging when the pointer is released.

Actual: The thumb stops dragging when the pointer moves outside the input; and if it's released while outside the input, when it is subsequently moved back to the input, the thumb starts dragging again even when the pointer is not down.
Comment 1 Radar WebKit Bug Importer 2023-04-27 14:59:19 PDT
<rdar://problem/108628927>
Comment 2 Ahmad Saleem 2023-05-11 09:00:44 PDT
(In reply to sorvell from comment #0)
> If a custom element changes a slot name while an input[type="range"]'s thumb
> is being dragged and the pointer leaves the input, the interaction breaks as
> described below.
> 
> Reproduction:
> https://lit.dev/playground/#gist=710d6862ae3a2549ecb2b2d4a8663729
> 
> 1. click the "Set slot name while dragging thumb" checkbox.
> 2. drag the range's thumb and move the pointer outside the input.
> 
> Expected: The thumb drags regardless of where the pointer is and stops
> dragging when the pointer is released.
> 
> Actual: The thumb stops dragging when the pointer moves outside the input;
> and if it's released while outside the input, when it is subsequently moved
> back to the input, the thumb starts dragging again even when the pointer is
> not down.

It seems to work fine now in WebKit ToT (263968@main). Appreciate if someone can also confirm, so we can close this.