Add gamepad light indicator extension#143
Conversation
Co-authored-by: Marcos Cáceres <marcos@marcosc.com>
Co-authored-by: Marcos Cáceres <marcos@marcosc.com>
|
Hi @fernando-80, could you kindly please join the WebApps working group? That will make the IPR bot happy. |
| </p> | ||
|
|
||
| <p> | ||
| The returned Promise will resolve <code>true</code> when setting the |
There was a problem hiding this comment.
I don't know if this can be guaranteed to succeed. @nondebug, do you have an opinion about this?
There was a problem hiding this comment.
We typically don't get a signal that the color was changed successfully so we shouldn't claim that in the spec. I think we should reword this so we resolve when the LED color change command is sent and reject if the command couldn't be sent.
There was a problem hiding this comment.
Ok, so yeah... it shouldn't resolve with true either.
We probably need to rewrite this whole section. I'd suggest having a look at:
https://w3c.github.io/web-share/#share-method
Basically, we need to do a few checks that can cause the promise to reject... the controller has been disconnected/no longer available, etc. There might be a SecurityError if the permission has been changed before .setColor() is called. Also, what should happen if:
while (true) {
x.setColor(randomRGB());
}Rate limit? Drop requests on the floor?
There was a problem hiding this comment.
We discussed this and couldn't come up with any compelling reasons to keep the Promise. It's unlikely that we'll receive any error indication from the device and there isn't any way we can lose permission for a Gamepad. Let's remove the promise and treat setColor as fire-and-forget.
| color has succeeded, and will reject the device API error code on | ||
| failure. |
There was a problem hiding this comment.
This needs to reject with a an actual DOM Exception of some kind. I think this is overly broad/underspecified tho...
marcoscaceres
left a comment
There was a problem hiding this comment.
Thanks @fernando-80! Some suggestions...
Co-authored-by: Marcos Cáceres <marcos@marcosc.com>
Co-authored-by: Marcos Cáceres <marcos@marcosc.com>
Co-authored-by: Marcos Cáceres <marcos@marcosc.com>
Co-authored-by: Marcos Cáceres <marcos@marcosc.com>
Co-authored-by: Marcos Cáceres <marcos@marcosc.com>
Co-authored-by: Marcos Cáceres <marcos@marcosc.com>
Co-authored-by: Marcos Cáceres <marcos@marcosc.com>
Co-authored-by: Marcos Cáceres <marcos@marcosc.com>
| </p> | ||
|
|
||
| <p> | ||
| The returned Promise will resolve <code>true</code> when setting the |
There was a problem hiding this comment.
| The returned Promise will resolve <code>true</code> when setting the | |
| The returned Promise will resolve `undefined` when setting the |
| </p> | ||
|
|
||
| <pre class="idl"> | ||
| dictionary GamepadLightColor { |
There was a problem hiding this comment.
We should investigate what existing color objects we could use from the platform here.
willuhmjs
left a comment
There was a problem hiding this comment.
Looks good, excited for this feature.
Closes #67
The following tasks have been completed:
Implementation commitment: