// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module qtwebengine.mojom; import "content/public/common/webplugininfo.mojom"; import "mojo/public/mojom/base/file_path.mojom"; import "mojo/public/mojom/base/string16.mojom"; import "url/mojom/origin.mojom"; import "url/mojom/url.mojom"; // Plugin messages sent from renderer to the host. interface PluginHost { [EnableIf=enable_plugins] // Tells the browser that there was an error loading a plugin. CouldNotLoadPlugin(mojo_base.mojom.FilePath file_path); // Tells the browser to open a PDF file. Used when no PDF Viewer is // available, and the user clicks to view a PDF from the placeholder UI. OpenPDF(url.mojom.Url url); }; // Plugin messages sent from renderer to the host requiring user auth actions. interface PluginAuthHost { // Notifies when a plugin couldn't be loaded because it requires // user authorization. BlockedUnauthorizedPlugin(mojo_base.mojom.String16 name, string group_id); }; // These are only used internally, so the order does not matter. enum PluginStatus { kAllowed, // Plugin is blocked, but still can be manually loaded via context menu. kBlocked, // Plugin is blocked by policy, so it cannot be manually loaded. kBlockedByPolicy, kDisabled, kNotFound, kPlayImportantContent, kUnauthorized, }; struct PluginInfo { PluginStatus status; content.mojom.WebPluginInfo plugin; string actual_mime_type; string group_identifier; mojo_base.mojom.String16 group_name; }; struct PluginParam { mojo_base.mojom.String16 name; mojo_base.mojom.String16 value; }; interface PluginInfoHost { // Return information about a plugin for the given URL and MIME type. // Includes specific reasons why a plugin can't be used, for example because // it's disabled. [Sync] GetPluginInfo(url.mojom.Url url, url.mojom.Origin origin, string mime_type) => (PluginInfo plugin_info); };