mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 14:26:09 +03:00
115 lines
3.7 KiB
Plaintext
115 lines
3.7 KiB
Plaintext
// 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/common/file_path.mojom";
|
|
import "mojo/common/string16.mojom";
|
|
import "url/mojo/origin.mojom";
|
|
import "url/mojo/url.mojom";
|
|
|
|
|
|
// Plugin messages sent from renderer to the host.
|
|
interface PluginHost {
|
|
// Tells the browser to show the Flash permission bubble in the same tab.
|
|
ShowFlashPermissionBubble();
|
|
|
|
// Tells the browser that there was an error loading a plugin.
|
|
CouldNotLoadPlugin(mojo.common.mojom.FilePath file_path);
|
|
|
|
// Notifies when a plugin couldn't be loaded because it's outdated.
|
|
BlockedOutdatedPlugin(PluginRenderer plugin_renderer,
|
|
string group_id);
|
|
|
|
// Notifies when a plugin couldn't be loaded because it requires a
|
|
// component update.
|
|
BlockedComponentUpdatedPlugin(PluginRenderer plugin_renderer,
|
|
string group_id);
|
|
|
|
};
|
|
|
|
// 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.common.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,
|
|
kComponentUpdateRequired,
|
|
kDisabled,
|
|
// Flash is blocked, but user can click on the placeholder to trigger the
|
|
// Flash permission prompt.
|
|
kFlashHiddenPreferHtml,
|
|
kNotFound,
|
|
kOutdatedBlocked,
|
|
kOutdatedDisallowed,
|
|
kPlayImportantContent,
|
|
kRestartRequired,
|
|
kUnauthorized,
|
|
};
|
|
|
|
struct PluginInfo {
|
|
PluginStatus status;
|
|
content.mojom.WebPluginInfo plugin;
|
|
string actual_mime_type;
|
|
string group_identifier;
|
|
mojo.common.mojom.String16 group_name;
|
|
};
|
|
|
|
struct PluginParam {
|
|
mojo.common.mojom.String16 name;
|
|
mojo.common.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(int32 render_frame_id,
|
|
url.mojom.Url url,
|
|
url.mojom.Origin origin,
|
|
string mime_type) => (PluginInfo plugin_info);
|
|
|
|
// Returns whether any internal plugin supporting |mime_type| is registered
|
|
// and enabled. Does not determine whether the plugin can actually be
|
|
// instantiated (e.g. whether it has all its dependencies).
|
|
// When a plugin is available, the returned |additional_params| contain the
|
|
// name-value pairs, if any, specified for the *first* non-disabled plugin
|
|
// found that is registered for |mime_type|.
|
|
[Sync]
|
|
IsInternalPluginAvailableForMimeType(string mime_type) => (
|
|
array<PluginParam>? additional_params);
|
|
};
|
|
|
|
// 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();
|
|
};
|