WebAPI/PresentationAPI

From MozillaWiki
< WebAPI
Revision as of 03:41, 19 January 2015 by Mchen (talk | contribs) (To add more use cases)
Jump to navigation Jump to search

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.

Proposal