Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specify a way for WebDriver to add/remove/setup capture devices #554

Open
youennf opened this issue Nov 9, 2018 · 9 comments

Comments

@youennf
Copy link
Contributor

commented Nov 9, 2018

As discussed during the WPT F2F at 2018 TPAC, the way to go might be to specify a way to add/remove/setup capture devices through WebDriver.
This might first be implemented as test runner APIs available only in browser CI and later within browser web driver implementations. These test runner APIs will be called within resources/testdriver-vendor.js.
This should allow us to improve WPT test coverage in areas such as ondevicechange, getUserMedia constraints...

@agouaillard-cosmo

This comment has been minimized.

Copy link

commented Nov 11, 2018

CoSMo approve and support this request.

Practically I suppose this means adding an "automation" chapter to the spec though. I do not know how it would impact the process at this stage. Maybe @dontcallmedom can comment?

@youennf

This comment has been minimized.

Copy link
Contributor Author

commented Nov 12, 2018

We could probably author a separate document for now and merge it as an "automation" chapter later on if it proves to be easier this way.

@dontcallmedom

This comment has been minimized.

Copy link
Member

commented Nov 12, 2018

+1 to @youennf - this would allow us in particular to assess if/when the automation part would get implemented in a way that's compatible with our Recommendation track requirements.

@agouaillard-cosmo

This comment has been minimized.

Copy link

commented Nov 13, 2018

I mentionned the automation chapter because that s what the WebDriver spec authors mentionned as the mechanism to add webdriver command in the future. We do not extend the webdriver doc itself, but we should add an automation chapter in the corresponding feature doc.

@alvestrand

This comment has been minimized.

Copy link
Contributor

commented Nov 14, 2018

Some months back I added a fake-device API in Chromium:

https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/mediastream/testing/internals_media_stream.idl?type=cs&sq=package:chromium&g=0

Never got around to wiring it up to the actual fake-device driver. But it was a start.

@alvestrand

This comment has been minimized.

Copy link
Contributor

commented Nov 29, 2018

Might be best to start this as an extension spec, for fast iteration, and then merge to the base spec when we know what we want.
Does this interact with the permissions automation section?

@agouaillard-cosmo

This comment has been minimized.

Copy link

commented Dec 9, 2018

@armax00

This comment has been minimized.

Copy link
Collaborator

commented May 22, 2019

I would say that it is the case that the API should allow to set supported constrainable properties, though I would imagine that this API should expose a way to set capabilities (which means that at least the syntax should be a subset of GUM, avoiding advanced and ideal values).

@agouaillard-cosmo I guess the "tricky part" you are pointing at is the difficulty to track all the extensions that define their own GUM constrainable properties?

@armax00 armax00 pinned this issue May 22, 2019
@guest271314

This comment has been minimized.

Copy link

commented Jun 9, 2019

Some months back I added a fake-device API in Chromium:

https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/mediastream/testing/internals_media_stream.idl?type=cs&sq=package:chromium&g=0

Never got around to wiring it up to the actual fake-device driver. But it was a start.

If read the code and intent correctly, would that allow a <video> (or any other HTML) element to be selected as a "capture device" (where capture could continue even where the src is changed)?

@aboba aboba added the enhancement label Aug 22, 2019
@aboba aboba unpinned this issue Sep 12, 2019
@aboba aboba added the TPAC 2019 label Sep 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
7 participants
You can’t perform that action at this time.