From df45672ef3ecf26669260d0069584abe24f637ae Mon Sep 17 00:00:00 2001
From: Mounir Lamouri
A
A
- When a new receiving browsing context has been created and
- navigated to the
A controlling user agent MUST fire an event named
@@ -1725,8 +1707,8 @@
- The PresentationReceiver object is available to a receiving
- browsing context in order to access the controlling browsing context and
- communicate with it. The
A receiving user agent MUST fire an event named
-
The receiving user agent MUST fire the event as soon as it
@@ -1821,83 +1798,6 @@
attribute EventHandler onchange;
};
-
+
PresentationAvailability
object is associated
@@ -1178,7 +1178,7 @@
attribute EventHandler onconnectionavailable;
};
-
+
PresentationRequest
object is associated with a
@@ -1650,24 +1650,6 @@
-
- Establishing a presentation connection in a receiving browsing
- context
-
- presentationUrl
on a user-selected
- presentation display, the user agent MUST run the following
- steps:
-
-
-
Event Handlers
@@ -1715,7 +1697,7 @@
required PresentationConnection connection;
};
-
+
PresentationConnectionAvailableEvent interface, with the
connection
attribute set to the
PresentationConnection
- object that was created. The event is fired for all connections
- that are created for the controller, either by the
+ object that was created. The event is fired for each connection
+ that is created for the controller, either by the
controller calling start()
or
reconnect()
, or by the controlling user agent
creating a connection on the controller's behalf via
- Interface
PresentationReceiver
+ Interface PresentationConnectionList
- interface PresentationReceiver : EventTarget {
- Promise<PresentationConnection> getConnection();
- Promise<sequence<PresentationConnection>> getConnections();
+ interface PresentationConnectionList : EventTarget {
+ readonly attribute FrozenArray<PresentationConnection> connections;
attribute EventHandler onconnectionavailable;
};
-
+
PresentationReceiver
- object MUST be implemented in a receiving browsing context
- provided by a receiving user agent.
+ The connections attribute
+ MUST return a non-terminated set of presentations connections
+ available for the receiving browsing context.
@@ -1797,23 +1775,22 @@
connectionavailable
at presentation.receiver
.
+ connectionavailable
at all
+ PresentationConnectionList.
connectionavailable
on a PresentationReceiver
- when a connection associated with the object is created. It is
- fired at the PresentationReceiver instance, using the
- PresentationConnectionAvailableEvent interface, with the
- connection
- attribute set to the PresentationConnection
- object that was created. The event is fired for all connections
- that are created for the presentation when monitoring
- incoming presentation connections.
+ connectionavailable
on all
+ PresentationConnectionList when a connection is created. It
+ is fired using the PresentationConnectionAvailableEvent
+ interface, with the connection attribute set
+ to the PresentationConnection
object that was
+ created. The event is fired for all connections that are created
+ when monitoring incoming presentation connections.
associated with the event.
- When the getConnection()
method is
- called, the user agent MUST run the following steps:
-
getConnection()
will resolve with
- a presentation connection that has its presentation
- connection state set to closed
.
-
- When the getConnections()
method is
- called, the user agent MUST run the following steps:
-
The following are the event handlers (and their corresponding event handler event types) that must be supported, as event handler IDL - attributes, by objects implementing the PresentationReceiver - interface: + attributes, by objects implementing the + PresentationConnectionList interface:
-
@@ -1932,6 +1832,74 @@ |
---|
PresentationReceiver
+ + interface PresentationReceiver { + [SameObject] readonly attribute Promise<PresentationConnectionList> connections; + }; + + ++
+ The text about "PresentationReceiver object" should probably move + to the section about the Presentation interface. This section is + about the interface, not its instance (the object). +
++ Furthermore, we probably need a better way to explain how + PresentationConnectionList is initialized -- how the set of + presentations is populated. This is addressed in issue + #193. +
+
+ The PresentationReceiver object is available to a receiving
+ browsing context in order to access the controlling browsing context and
+ communicate with it. The PresentationReceiver
+ object MUST be implemented in a receiving browsing context
+ provided by a receiving user agent.
+
+ For each PresentationReceiver, there is a connection list
+ promise which is initially set to null
. It is a
+ Promise object which holds a
+ PresentationConnectionList.
+
null
,
+ return connection list promise and abort these steps.
+ Presentation
@@ -1945,7 +1913,7 @@
The presentation
attribute is