Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Unified Diff: ppapi/api/private/ppp_flash_browser_operations.idl

Issue 10391173: Pepper Flash settings integration: implement "deauthorize content licenses". (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/public/common/content_constants.cc ('k') | ppapi/c/private/ppp_flash_browser_operations.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/api/private/ppp_flash_browser_operations.idl
diff --git a/ppapi/api/private/ppp_flash_browser_operations.idl b/ppapi/api/private/ppp_flash_browser_operations.idl
index f7dcd8cc2046e63b5c99712c6b3f1dc2b2e12005..f4b4e65b48ae90cdb05ee0cd3ad2f4d7c87fe17a 100644
--- a/ppapi/api/private/ppp_flash_browser_operations.idl
+++ b/ppapi/api/private/ppp_flash_browser_operations.idl
@@ -8,9 +8,40 @@
*/
label Chrome {
- M20 = 1.0
+ M20 = 1.0,
+ M21 = 1.1
};
+[assert_size(4)]
+enum PP_Flash_BrowserOperations_SettingType {
+ PP_FLASH_BROWSEROPERATIONS_SETTINGTYPE_CAMERAMIC = 0,
+ PP_FLASH_BROWSEROPERATIONS_SETTINGTYPE_PEERNETWORKING = 1
+};
+
+[assert_size(4)]
+enum PP_Flash_BrowserOperations_Permission {
+ // This value is only used with <code>SetSitePermission()</code>.
+ PP_FLASH_BROWSEROPERATIONS_PERMISSION_DEFAULT = 0,
+ PP_FLASH_BROWSEROPERATIONS_PERMISSION_ALLOW = 1,
+ PP_FLASH_BROWSEROPERATIONS_PERMISSION_BLOCK = 2,
+ PP_FLASH_BROWSEROPERATIONS_PERMISSION_ASK = 3
+};
+
+[assert_size(24)]
+struct PP_Flash_BrowserOperations_SiteSetting {
+ PP_Var site;
+ PP_Flash_BrowserOperations_Permission permission;
+ // Makes the size consistent across compilers.
+ int32_t padding;
+};
+
+typedef void PPB_Flash_BrowserOperations_GetSettingsCallback(
+ [inout] mem_t user_data,
+ [in] PP_Bool success,
+ [in] PP_Flash_BrowserOperations_Permission default_permission,
+ [in] uint32_t site_count,
+ [in, size_is(site_count)] PP_Flash_BrowserOperations_SiteSetting[] sites);
+
/**
* This interface allows the browser to request the plugin do things.
*/
@@ -41,5 +72,76 @@ interface PPP_Flash_BrowserOperations {
str_t site,
uint64_t flags,
uint64_t max_age);
-};
+ /**
+ * Requests the plugin to deauthorize content licenses. It prevents Flash from
+ * playing protected content, such as movies and music the user may have
+ * rented or purchased.
+ *
+ * @param[in] plugin_data_path String containing the directory where the
+ * plugin settings are stored.
+ *
+ * @return <code>PP_TRUE</code> on success, <code>PP_FALSE</code> on failure.
+ */
+ [version=1.1]
+ PP_Bool DeauthorizeContentLicenses([in] str_t plugin_data_path);
+
+ /**
+ * Gets permission settings. <code>callback</code> will be called exactly once
+ * to return the settings.
+ *
+ * @param[in] plugin_data_path String containing the directory where the
+ * plugin settings are stored.
+ * @param[in] setting_type What type of setting to retrieve.
+ * @param[in] callback The callback to return retrieved data.
+ * @param[inout] user_data An opaque pointer that will be passed to
+ * <code>callback</code>.
+ */
+ [version=1.1]
+ void GetPermissionSettings(
+ [in] str_t plugin_data_path,
+ [in] PP_Flash_BrowserOperations_SettingType setting_type,
+ [in] PPB_Flash_BrowserOperations_GetSettingsCallback callback,
+ [inout] mem_t user_data);
+
+ /**
+ * Sets default permission. It applies to all sites except those with
+ * site-specific settings.
+ *
+ * @param[in] plugin_data_path String containing the directory where the
+ * plugin settings are stored.
+ * @param[in] setting_type What type of setting to set.
+ * @param[in] permission The default permission.
+ * @param[in] clear_site_specific Whether to remove all site-specific
+ * settings.
+ *
+ * @return <code>PP_TRUE</code> on success, <code>PP_FALSE</code> on failure.
+ */
+ [version=1.1]
+ PP_Bool SetDefaultPermission(
+ [in] str_t plugin_data_path,
+ [in] PP_Flash_BrowserOperations_SettingType setting_type,
+ [in] PP_Flash_BrowserOperations_Permission permission,
+ [in] PP_Bool clear_site_speicifc);
+
+ /**
+ * Sets site-specific permission. If a site has already got site-specific
+ * permission and it is not in <code>sites</code>, it won't be affected.
+ *
+ * @param[in] plugin_data_path String containing the directory where the
+ * plugin settings are stored.
+ * @param[in] setting_type What type of setting to set.
+ * @param[in] site_count How many items are there in <code>sites</code>.
+ * @param[in] sites The site-specific settings. If a site is specified with
+ * <code>PP_FLASH_BROWSEROPERATIONS_PERMISSION_DEFAULT</code> permission, it
+ * will be removed from the site-specific list.
+ *
+ * @return <code>PP_TRUE</code> on success, <code>PP_FALSE</code> on failure.
+ */
+ [version=1.1]
+ PP_Bool SetSitePermission(
+ [in] str_t plugin_data_path,
+ [in] PP_Flash_BrowserOperations_SettingType setting_type,
+ [in] uint32_t site_count,
+ [in, size_is(site_count)] PP_Flash_BrowserOperations_SiteSetting[] sites);
+};
« no previous file with comments | « content/public/common/content_constants.cc ('k') | ppapi/c/private/ppp_flash_browser_operations.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698