Ready for Developer Testing: Sub apps

9 views
Skip to first unread message

Chromestatus

unread,
2:42 PM (4 hours ago) 2:42 PM
to blin...@chromium.org, vk...@google.com
Contact emails
vk...@google.com

Explainer
https://github.com/explainers-by-googlers/sub-apps

Specification
https://github.com/explainers-by-googlers/sub-apps/pull/2

Design docs

https://github.com/explainers-by-googlers/sub-apps

Summary
Sub Apps allow developers to create multiple apps each with distinct names, icons and OS Integrations under a single Isolated Web App (IWA) installation. Windows of sub apps appear on the shelf with their specific identity, distinct from the parent app. Sub Apps are deeply integrated with the OS and offer capabilities such as file type association. This enables a single software package to represent different, isolated functionalities to the user while maintaining a single, unified IWA install and update process.

Blink component
Content>WebApps

Web Feature ID
Missing feature

Goals for experimentation
None

Risks


Interoperability and Compatibility
Other browsers may choose to implement this API.

Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:

Security
Sub-apps share origin identity and all local data stores with their parent app, exposing them to standard same-origin security boundaries. Permission grants are shared bidirectionally; granting a permission to a sub-app automatically extends that permission to the parent app. There is a risk of identity spoofing and launcher hijacking, which is mitigated by restricting the API to isolated contexts. Registering custom OS integrations requires explicit user approval to prevent unauthorized protocol handling or file type hijacking.

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No information provided


Debuggability
There's no special devTools support for this feature. It is possible to add sub apps, remove and list them via devTools console raw javascript execution.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
No
This feature is implemented on desktop platforms, although it will only be available to the end users on platforms that support Isolated Web Apps, which is currently only ChromeOS. Android is excluded because installing arbitrary apps is complicated there and needs additional work.

Is this feature fully tested by web-platform-tests?
No
JS API interface tests are in third_party/blink/web_tests/external/wpt/subapps. More complete tests that cover all cases are in chrome/browser/web_applications/sub_apps/sub_apps_service_impl_browsertest.cc

DevTrial instructions
https://github.com/vkrot-cell/subapps-demo

Flag name on about://flags
#enable-sub-apps

Finch feature name
SubApps

Requires code in //chrome?
True

Tracking bug
https://buganizer.corp.google.com/issues/414729785

Launch bug
https://launch.corp.google.com/launch/4466158

Availability expectation
Feature is available only in Isolated Web Apps on desktop platforms. https://chromestatus.com/feature/5146307550248960

Adoption expectation
Expected to be used initially by a small number of developers inside Isolated Web Apps.

Adoption plan
Working directly with developers that are planning to rely on the API.

Estimated milestones
DevTrial on desktop150


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/6260680824061952

Links to previous Intent discussions
Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a3408fc.3af95f39.17d45c.0404.GAE%40google.com


This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages