WebAPI/PresentationAPI
< WebAPI
Goals
Use case
Considered Use Cases on Version landing to FxOS V3.0
(Controlling page will be called CP and presenting page be PP)
- One CP to one PP
- CP: requestSession(URL1, ID1) -> CP: there is no devices discovered yet.
- CP: requestSession(URL1, ID1) -> CP: can't reach to remote device.
- CP: requestSession(URL1, ID1) -> CP: user cancels the selection from devices list.
- CP: requestSession(URL1, ID1) -> PP: Reject this request (ex: user choice / low momory / [FxOS] no URL of app manifest is not supported)
- ---
- [basic case] CP: requestSession(URL1, ID1) -> CP: user select one device from list -> PP: page is launched -> start to communicate between CP & PP
- [Q][basic case] -> how to make sure the first call of Send() will not be missed by remote page?
- ---
- [basic case] -> CP: is crashed -> PP: session state from connected to disconnected -> CP: joinSession(URL1, ID1) -> CP: is automatically bound to previous PP -> PP: session state from disconnected to connected.
- [basic case] -> CP: is crashed -> PP: session state from connected to disconnected -> CP: joinSession(URL1, ID2) or joinSession(URL2, ID1) -> [Q] CP: reject this call?
- [basic case] -> CP: is crashed -> PP: session state from connected to disconnected -> CP: requestSession(URL1, ID1) -> CP: user select the same device from list -> [Q] PP: close old page -> PP: restart a new page
- [basic case] -> CP: is crashed -> PP: session state from connected to disconnected -> CP: requestSession(URL1, ID1) -> CP: user select a different device from list -> PP: nothing -> New-PP in different device: restart a new page -> [Q] Is it possible of CP calling joinSession(URL1,ID1) to PP again?
- One CP to multiple PP
- CP: requestSession(URL1, ID1) to device 1 -> PP1: page is presented -> CP: requestSession(URL1, ID1) to device 2 -> PP1: is page closed or session state is changed? -> PP2: page is presented.
Not Considered Use Cases Yet
- One presenting page can accept multiple sessions from controlling pages.
- (FxOS) The same WebApp can be requested multiple times as multiple instances in presenting side.