Chromium Code Reviews| Index: webkit/plugins/npapi/webplugininfo.h |
| diff --git a/webkit/plugins/npapi/webplugininfo.h b/webkit/plugins/npapi/webplugininfo.h |
| index 859665c1963614f0aa6b4ca3cf88b28c4c0fb4a0..a6c1914f4f54c1033416a88a6c7800fe191a0bf9 100644 |
| --- a/webkit/plugins/npapi/webplugininfo.h |
| +++ b/webkit/plugins/npapi/webplugininfo.h |
| @@ -31,6 +31,32 @@ struct WebPluginMimeType { |
| // Describes an available NPAPI 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 |
| + }; |
| + |
| WebPluginInfo(); |
| WebPluginInfo(const WebPluginInfo& rhs); |
| ~WebPluginInfo(); |
| @@ -57,10 +83,13 @@ struct WebPluginInfo { |
| // A list of all the mime types that this plugin supports. |
| std::vector<WebPluginMimeType> mime_types; |
| - // Whether the plugin is enabled. |
| - bool enabled; |
| + // Enabled state of the plugin. See the EnabledStates enum. |
| + int enabled; |
| }; |
| +// Checks wheter a plugin is enabled either by the user or by policy. |
|
Bernhard Bauer
2011/01/21 17:29:37
Nit: "whether".
pastarmovj
2011/01/24 10:47:31
Done.
|
| +bool IsPluginEnabled(const WebPluginInfo& plugin); |
| + |
| } // namespace npapi |
| } // namespace webkit |