partial interface Window { [SameObject] readonly attribute SubApps subApps; }; dictionary SubAppsAddResponse { record installedApps; record failedApps; }; dictionary SubAppsRemoveResponse { sequence removedApps; record failedApps; }; dictionary SubAppsListResult { required DOMString appName; }; [ Exposed=Window, SecureContext, IsolatedContext ] interface SubApps { Promise add(sequence install_paths); Promise remove(sequence manifest_ids); Promise> list(); };