Skip to content

Standardization tasks

Alexis Menard edited this page Jul 12, 2013 · 1 revision

Aligned with the High-level roadmap for System Application and related work, we have identified a list of standardization tasks that we need to get started with. We hope to get to a point where we have clear visibility and accountability for contributions from each team/site, assuming responsibility for sub-tasks of Crosswalk.

The page shares its basic structure and boilerplate with Development tasks for consistency.

Table of Contents

Runtime and Security Model for Web Applications

On a high-level, we would like to see the Runtime and Security Model for Web Applications spec to better consider and address non-mobile use cases for desktop, IVI, TV. We believe the current spec is too focused on mobile use cases.

See also: comparison with Tizen

Tasks

Privileged applications extensions (Anssi Kostiainen)

APIs that are not web-facing should be split into their own specification. Anssi proposed on the public-sysapps to split ApplicationManagement interface and other parts of the Runtime spec relevant to privileged applications only into their own spec. Related to issue #4 and issue #92.

Design principles (Anssi Kostiainen)

We need to clarify design principles, scope, use cases, and make sure they align with our high-level goals. Anssi started discussion on public-sysapps. Related to issue #43, issue #95, and issue #97.

Multiple window support (Hongbo Min)

Managing multiple windows is an important use case in non-mobile contexts. Hongbo Min started discussion, related to issue #98 and issue #100. We should revisit these issues and try get the spec better address non-mobile use cases.

Related to multiple window support, we need to investigate how to prevent race conditions (see issue #100). Event pages used by Chrome Packaged Apps is one model to learn from.

Should investigate if window.open() will address all requirements for creating new windows. See also chrome.app.window which provides a more expressive API.

System messages

Event registration for system messages is currently unspecified, see issue #73. See also event registration in the event page model of Chrome Packaged Apps.

Application lifecycle

Clarify how the app lifecycle works, especially pausing/suspending. Perhaps add a lifecycle diagram.

  • SysApps runtime
    • Application.state: running, paused, terminated
    • Event handlers:
      • Application.on{launch|pause|resume|terminate}
      • ApplicationManager.on{install|uninstall}
  • Chrome Packaged Apps' runtime
    • States (launched, suspended) not exposed via a sync API
    • Event handlers:
      • chrome.runtime.on{Startup|Installed|Suspend|SuspendCanceled|UpdateAvailable|BrowserUpdateAvailable}
      • chrome.runtime.on{Connect|ConnectExternal|Message|MessageExternal}
      • chrome.app.runtime.on{Launched|Restarted}
For comparison with native, see iOS App States and Multitasking
Clone this wiki locally