blob: ff7a8ed89e94a8f88d1d0b24c95f258158e67a25 [file] [log] [blame]
// Copyright 2018 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.
module blink.mojom;
import "mojo/public/mojom/base/file_path.mojom";
import "mojo/public/mojom/base/string16.mojom";
import "url/mojom/origin.mojom";
struct PluginMimeType {
string mime_type;
mojo_base.mojom.String16 description;
array<string> file_extensions;
};
struct PluginInfo {
mojo_base.mojom.String16 name;
mojo_base.mojom.String16 description;
mojo_base.mojom.FilePath filename;
uint32 background_color;
array<PluginMimeType> mime_types;
// When true, the current plugin maybe implemented using an external handler.
bool may_use_external_handler;
};
interface PluginRegistry {
// Retrieves the list of plugins available to the renderer.
//
// If |refresh| is true, then cached information should not be used to
// satisfy this call. |main_frame_origin| is used by the browser process to
// filter plugins from the plugin list based on content settings.
//
// |main_frame_origin| is used to handle exceptions for plugin content
// settings.
//
// TODO(crbug.com/850278): We shouldn't rely on the renderer to tell us the main frame origin.
[Sync]
GetPlugins(bool refresh, url.mojom.Origin main_frame_origin) => (array<PluginInfo> plugins);
};