summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/ui/webui/app_management/app_management.mojom
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-02-13 16:23:34 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-02-14 10:37:21 +0000
commit38a9a29f4f9436cace7f0e7abf9c586057df8a4e (patch)
treec4e8c458dc595bc0ddb435708fa2229edfd00bd4 /chromium/chrome/browser/ui/webui/app_management/app_management.mojom
parente684a3455bcc29a6e3e66a004e352dea4e1141e7 (diff)
BASELINE: Update Chromium to 73.0.3683.37
Change-Id: I08c9af2948b645f671e5d933aca1f7a90ea372f2 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/chrome/browser/ui/webui/app_management/app_management.mojom')
-rw-r--r--chromium/chrome/browser/ui/webui/app_management/app_management.mojom50
1 files changed, 48 insertions, 2 deletions
diff --git a/chromium/chrome/browser/ui/webui/app_management/app_management.mojom b/chromium/chrome/browser/ui/webui/app_management/app_management.mojom
index 0525d25ff52..c536372e3cb 100644
--- a/chromium/chrome/browser/ui/webui/app_management/app_management.mojom
+++ b/chromium/chrome/browser/ui/webui/app_management/app_management.mojom
@@ -4,16 +4,62 @@
module app_management.mojom;
+import "chrome/services/app_service/public/mojom/types.mojom";
+
+struct App {
+ string id;
+
+ apps.mojom.AppType type;
+
+ // The fields below may be omitted because this struct is also used to signal
+ // updates.
+ string? title;
+
+ string? description;
+ apps.mojom.OptionalBool is_pinned;
+ string? version;
+ string? size;
+ map<uint32, apps.mojom.Permission> permissions;
+};
+
+// Extension-based apps primarily use install-time permissions that cannot be
+// changed after installation. This struct is used for the page to receive
+// string descriptions of those permissions to display to the user.
+struct ExtensionAppPermissionMessage {
+ string message;
+ array<string> submessages;
+};
+
interface PageHandlerFactory {
CreatePageHandler(Page page, PageHandler& handler);
};
// Browser interface.
interface PageHandler {
- GetApps();
+ GetApps() => (array<App> apps);
+ GetExtensionAppPermissionMessages(string app_id) =>
+ (array<ExtensionAppPermissionMessage> messages);
+ SetPinned(string app_id, apps.mojom.OptionalBool pinned);
+ SetPermission(string app_id,
+ apps.mojom.Permission permission);
+ Uninstall(string app_id);
+ OpenNativeSettings(string app_id);
};
// Frontend interface.
interface Page {
- OnAppsAdded(array<string> ids);
+ OnAppAdded(App app);
+ OnAppChanged(App update);
+ OnAppRemoved(string app_id);
+};
+
+// This enum takes the important permission values from the
+// contents_settings_type.h ContentSettingsType enum. The App Publisher is
+// required to provide these values so the WebUI can map permission ID to
+// permission value.
+enum PwaPermissionType {
+ CONTENT_SETTINGS_TYPE_GEOLOCATION = 5,
+ CONTENT_SETTINGS_TYPE_NOTIFICATIONS = 6,
+ CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC = 9,
+ CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA = 10,
};