-
Notifications
You must be signed in to change notification settings - Fork 1
Standardization tasks
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.
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
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.
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.
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.
Event registration for system messages is currently unspecified, see issue #73. See also event registration in the event page model of Chrome Packaged Apps.
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}
- Application.state:
- 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}
-
States (