Re: [mediacapture-screen-share-extensions] [Capture control] Is gesture forwarding tied to capture controller or to MediaStreamTrack (#20)

Assume:
```html
<div id="div">
  <video id="vid1"></video>
  <video id="vid2"></video>
</div>
```

Contrast:
```js
// Explicitly affects mutliple capture sessions.
controller1.forwardGestures(div);
controller2.forwardGestures(div);
```

With:
```js
// Implicitly affects an unknown number of capture sessions.
div. enableGestureForwarding = true;
```

The former is much clearer and less error-prone.
The reader immediately understand everything.

I also have to repeat my own message:

> I also think it's poor choice of API to expose on HTMLElement or anything similarly high-level anything so capture-specific. I don't think this is good API design.

We want APIs that are clear. 
- `captureController.forwardWheel(element)` is completely clear. It affects screen-capture and forwards wheel gestures from `element` to whichever surface `captureController` is capturing.
- `element.enableForwardGestures = true` is inscrutable. What are gestures? How can they be forwarded? Where to? How are these relevant for HTML elements in general?

> > To name one precedent - mst.cropTo(null).
>
> Can you point to a precedent you didn't invent?

The precedent cited was of an API standardized in this very Working Group, so I expect it to be convincing enough. But as per the request, I can point to other precedents, also standardized by this group, but not proposed by me - [replaceTrack()](https://w3c.github.io/webrtc-pc/#dom-rtcrtpsender-replacetrack).

-- 
GitHub Notification of comment by eladalon1983
Please view or discuss this issue at https://github.com/w3c/mediacapture-screen-share-extensions/issues/20#issuecomment-2460282917 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 6 November 2024 16:46:28 UTC