12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- // Copyright 2017 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 chrome.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);
- [EnableIf=enable_plugins]
- // Notifies when a plugin couldn't be loaded because it's outdated.
- BlockedOutdatedPlugin(pending_remote<PluginRenderer> plugin_renderer,
- string group_id);
- // 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,
- // Plugin is blocked, and cannot be manually loaded via context menu.
- kBlockedNoLoading,
- kDisabled,
- kNotFound,
- kOutdatedBlocked,
- kOutdatedDisallowed,
- // Similar to kOutdatedBlocked or kOutdatedDisallowed, but with no hope of
- // updating and running. This is distinct to allow for separate UI treatment.
- kDeprecated,
- 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);
- };
- // Plugin messages sent from a host to the renderer.
- interface PluginRenderer {
- // Notifies a missing plugin placeholder that we have finished downloading
- // the plugin.
- FinishedDownloading();
- // Notifies a missing plugin placeholder that we have finished component-
- // updating the plug-in.
- UpdateSuccess();
- // Notifies a missing plugin placeholder that we have failed to
- // component-update the plug-in.
- UpdateFailure();
- // Notifies a missing plugin placeholder that we have started the component
- // download.
- UpdateDownloading();
- };
|