Contact emails [email protected]
Explainer https://github.com/WICG/sub-apps Specification https://wicg.github.io/sub-apps Design docs https://github.com/WICG/sub-apps Summary Sub apps allow developers to create multiple apps under a single Isolated Web App ([IWA](https://chromeos.dev/en/web/isolated-web-apps)) installation. Each Sub app has its own distinct name, icons and OS integrations. Sub apps appear on the desktop shelf with a distinct identity from the parent IWA, offering separate OS capabilities, such as file type association. This allows a single software package to present different, isolated functionalities to the user while maintaining a single, unified IWA install and update process. There are three new enterprise policies available to control the Sub apps API: - [DefaultSubAppsWithoutPromptsSetting](https://chromeenterprise.google/policies/#DefaultSubAppsWithoutPromptsSetting) specifies globally (for all IWAs) if user permission prompts are required to install Sub apps. The policies below can override this default. - [SubAppsWithoutPromptsAllowedForOrigins](https://chromeenterprise.google/policies/#SubAppsWithoutPromptsAllowedForOrigins) specifies a list of IWA URLs that can add or update Sub apps without user permission prompts. - [SubAppsWithoutPromptsBlockedForOrigins](https://chromeenterprise.google/policies/#SubAppsWithoutPromptsBlockedForOrigins) specifies a list of IWA URLs that can add Sub apps with user permission prompts only. Blink component Content>WebApps Web Feature ID Missing feature Motivation Without this API developers are forced into splitting the application into separate ones which complicates distribution or bundle everything into a single huge application that can potentially confuse users. Initial public proposal https://github.com/WICG/proposals/issues/282 TAG review Tag does not review Isolated Web Apps. It was stated publicly here https://github.com/w3ctag/design-reviews/issues/842#issuecomment-2917031448 TAG review status Pending 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. https://wpt.fyi/results/subapps?label=master&label=experimental&aligned&q=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 Rollout plan Will ship enabled for all users Requires code in //chrome? True Tracking bug https://buganizer.corp.google.com/issues/414729785 Launch bug https://launch.corp.google.com/launch/4466158 Measurement Separate programmatic counters for the .idl methods and attributes (via MeasureAs) are included to track the stats for API usage: SubAppsAdd SubAppsRemove SubAppsList 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 Shipping on desktop 153 DevTrial on desktop 150 Anticipated spec changes Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (eg links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (eg, changing to naming or structure of the API in a non-backward-compatible way). No information provided Link to entry on the Chrome Platform Status https://chromestatus.com/feature/6260680824061952?gate=4662441016426496 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. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a576d60.854c7482.198413.00e8.GAE%40google.com.
