- From: Kostiainen, Anssi <anssi.kostiainen@intel.com>
- Date: Mon, 27 Apr 2015 15:31:10 +0000
- To: Anton Vayvod <avayvod@google.com>
- CC: "mark a. foltz" <mfoltz@google.com>, "public-secondscreen@w3.org" <public-secondscreen@w3.org>, Mounir Lamouri <mlamouri@google.com>
Hi Anton,
> On 25 Apr 2015, at 22:03, Anton Vayvod <avayvod@google.com> wrote:
>
> Having discussed this with Mounir recently, the right approach would be to return an object via Promise that has a bool and an event handler. This way the UA doesn't have to do weird tricks like detect if anything is subscribed to the event to start/stop discovery, there's no compromise between the attribute being initialized or firing the event immediately after a listener is attached and even gives more flexibility if the page wants to filter the events - pass the parameters to the Promise returning method.
>
> partial interface NavigatorPresentation {
> Promise<AvailabilityListener> listenForAvailability(/*DOMString presentationUrl, params*/);
> }
>
> interface AvailabilityListener : EventTarget {
> readonly attribute boolean available;
> attribute EventHandler onavailablechange;
> }
>
> One may need some way to discard the listener to signal the UA that the page is not interested in the screens anymore.
>
> WDYT?
Thanks, this looks good to me, perhaps with some bikeshedding about naming :-)
We've used a similar design in other specs, for example:
* Battery Status API (http://www.w3.org/TR/battery-status/)
* Permissions API (https://w3c.github.io/permissions/)
... so this has proven to work and is implementable.
Thanks,
-Anssi (WG chair)
Received on Monday, 27 April 2015 15:31:45 UTC