summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/webui/plugins/plugins.mojom
blob: b42f3f45c95155244b7a9d1ea101d1ee2c460ca9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

struct MimeType {
  string description;
  array<string> file_extensions;
  string mime_type;
};

struct PluginFile {
  string description;
  string enabled_mode;
  array<MimeType> mime_types;
  string name;
  string path;
  string type;
  string version;
};

struct PluginData {
  bool always_allowed;
  string description;
  bool critical;
  string enabled_mode;
  string id;
  string name;
  string update_url;
  string version;
  array<PluginFile> plugin_files;
};

interface PluginsHandlerMojo {
  GetPluginsData() => (array<PluginData> plugins);
  GetShowDetails() => (bool show_details);
  SaveShowDetailsToPrefs(bool details_mode);
  SetPluginAlwaysAllowed(string plugin, bool allowed);
  SetPluginEnabled(string plugin_path, bool enable);
  SetPluginGroupEnabled(string group_name, bool enable);
  SetClientPage(PluginsPageMojo page);
};

interface PluginsPageMojo {
  OnPluginsUpdated(array<PluginData> plugins);
};