| Index: webkit/plugins/webplugininfo.h
|
| ===================================================================
|
| --- webkit/plugins/webplugininfo.h (revision 101271)
|
| +++ webkit/plugins/webplugininfo.h (working copy)
|
| @@ -38,6 +38,32 @@
|
|
|
| // Describes an available NPAPI or Pepper plugin.
|
| struct WebPluginInfo {
|
| + // Defines the possible enabled state a plugin can have.
|
| + // The enum values actually represent a 3-bit bitfield :
|
| + // |PE|PD|U| - where |PE|PD| is policy state and U is user state.
|
| + // PE == 1 means the plugin is forced to enabled state by policy
|
| + // PD == 1 means the plugin is forced to disabled by policy
|
| + // PE and PD CAN'T be both 1 but can be both 0 which mean no policy is set.
|
| + // U == 1 means the user has disabled the plugin.
|
| + // Because the plugin user state might have been changed before a policy was
|
| + // introduced the user state might contradict the policy state in which case
|
| + // the policy has precedence.
|
| + enum EnabledStates {
|
| + USER_ENABLED = 0,
|
| + USER_DISABLED = 1 << 0,
|
| + POLICY_DISABLED = 1 << 1,
|
| + POLICY_ENABLED = 1 << 2,
|
| + USER_ENABLED_POLICY_UNMANAGED = USER_ENABLED,
|
| + USER_ENABLED_POLICY_DISABLED = USER_ENABLED| POLICY_DISABLED,
|
| + USER_ENABLED_POLICY_ENABLED = USER_ENABLED | POLICY_ENABLED,
|
| + USER_DISABLED_POLICY_UNMANAGED = USER_DISABLED,
|
| + USER_DISABLED_POLICY_DISABLED = USER_DISABLED | POLICY_DISABLED,
|
| + USER_DISABLED_POLICY_ENABLED = USER_DISABLED | POLICY_ENABLED,
|
| + USER_MASK = USER_DISABLED,
|
| + MANAGED_MASK = POLICY_DISABLED | POLICY_ENABLED,
|
| + POLICY_UNMANAGED = -1
|
| + };
|
| +
|
| enum PluginType {
|
| PLUGIN_TYPE_NPAPI,
|
| PLUGIN_TYPE_PEPPER_IN_PROCESS,
|
| @@ -70,10 +96,16 @@
|
| // A list of all the mime types that this plugin supports.
|
| std::vector<WebPluginMimeType> mime_types;
|
|
|
| + // Enabled state of the plugin. See the EnabledStates enum.
|
| + int enabled;
|
| +
|
| // Plugin type. See the PluginType enum.
|
| int type;
|
| };
|
|
|
| +// Checks whether a plugin is enabled either by the user or by policy.
|
| +bool IsPluginEnabled(const WebPluginInfo& plugin);
|
| +
|
| // Checks whether a plugin is a Pepper plugin, enabled or disabled.
|
| bool IsPepperPlugin(const WebPluginInfo& plugin);
|
|
|
|
|