103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)/* Copyright 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* From private/ppp_flash_browser_operations.idl,
703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) *   modified Fri Aug 22 11:10:06 2014.
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef PPAPI_C_PRIVATE_PPP_FLASH_BROWSER_OPERATIONS_H_
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPAPI_C_PRIVATE_PPP_FLASH_BROWSER_OPERATIONS_H_
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_bool.h"
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_macros.h"
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_stdint.h"
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPP_FLASH_BROWSEROPERATIONS_INTERFACE_1_0 \
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "PPP_Flash_BrowserOperations;1.0"
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPP_FLASH_BROWSEROPERATIONS_INTERFACE_1_2 \
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "PPP_Flash_BrowserOperations;1.2"
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPP_FLASH_BROWSEROPERATIONS_INTERFACE_1_3 \
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "PPP_Flash_BrowserOperations;1.3"
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPP_FLASH_BROWSEROPERATIONS_INTERFACE \
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PPP_FLASH_BROWSEROPERATIONS_INTERFACE_1_3
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @file
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This file contains the <code>PPP_Flash_BrowserOperations</code> interface.
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @addtogroup Enums
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @{
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_FLASH_BROWSEROPERATIONS_SETTINGTYPE_CAMERAMIC = 0,
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_FLASH_BROWSEROPERATIONS_SETTINGTYPE_PEERNETWORKING = 1
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} PP_Flash_BrowserOperations_SettingType;
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_Flash_BrowserOperations_SettingType, 4);
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef enum {
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* This value is only used with <code>SetSitePermission()</code>. */
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_FLASH_BROWSEROPERATIONS_PERMISSION_DEFAULT = 0,
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_FLASH_BROWSEROPERATIONS_PERMISSION_ALLOW = 1,
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_FLASH_BROWSEROPERATIONS_PERMISSION_BLOCK = 2,
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_FLASH_BROWSEROPERATIONS_PERMISSION_ASK = 3
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} PP_Flash_BrowserOperations_Permission;
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_Flash_BrowserOperations_Permission, 4);
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @}
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @addtogroup Structs
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @{
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PP_Flash_BrowserOperations_SiteSetting {
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  const char* site;
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_Flash_BrowserOperations_Permission permission;
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @}
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @addtogroup Typedefs
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @{
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void (*PPB_Flash_BrowserOperations_GetSettingsCallback)(
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void* user_data,
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Bool success,
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Flash_BrowserOperations_Permission default_permission,
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    uint32_t site_count,
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const struct PP_Flash_BrowserOperations_SiteSetting sites[]);
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @}
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @addtogroup Interfaces
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @{
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This interface allows the browser to request the plugin do things.
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PPP_Flash_BrowserOperations_1_3 {
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /**
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * This function allows the plugin to implement the "Clear site data" feature.
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] plugin_data_path String containing the directory where the
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * plugin data is
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * stored. On UTF16 systems (Windows), this will be encoded as UTF-8. It will
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * be an absolute path and will not have a directory separator (slash) at the
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * end.
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] site String specifying which site to clear the data for. This
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * will be null to clear data for all sites.
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] flags Currently always 0 in Chrome to clear all data. This may
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * be extended in the future to clear only specific types of data.
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] max_age The maximum age in seconds to clear data for. This
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * allows the plugin to implement "clear past hour" and "clear past data",
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * etc.
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @return PP_TRUE on success, PP_FALSE on failure.
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * See also the NPP_ClearSiteData function in NPAPI.
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * https://wiki.mozilla.org/NPAPI:ClearSiteData
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   */
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_Bool (*ClearSiteData)(const char* plugin_data_path,
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                           const char* site,
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                           uint64_t flags,
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                           uint64_t max_age);
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /**
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * Requests the plugin to deauthorize content licenses. It prevents Flash from
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * playing protected content, such as movies and music the user may have
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * rented or purchased.
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] plugin_data_path String containing the directory where the
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * plugin settings are stored.
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @return <code>PP_TRUE</code> on success, <code>PP_FALSE</code> on failure.
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   */
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_Bool (*DeauthorizeContentLicenses)(const char* plugin_data_path);
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /**
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * Gets permission settings. <code>callback</code> will be called exactly once
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * to return the settings.
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] plugin_data_path String containing the directory where the
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * plugin settings are stored.
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] setting_type What type of setting to retrieve.
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] callback The callback to return retrieved data.
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[inout] user_data An opaque pointer that will be passed to
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * <code>callback</code>.
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   */
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GetPermissionSettings)(
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      const char* plugin_data_path,
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PP_Flash_BrowserOperations_SettingType setting_type,
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PPB_Flash_BrowserOperations_GetSettingsCallback callback,
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      void* user_data);
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /**
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * Sets default permission. It applies to all sites except those with
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * site-specific settings.
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] plugin_data_path String containing the directory where the
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * plugin settings are stored.
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] setting_type What type of setting to set.
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] permission The default permission.
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] clear_site_specific Whether to remove all site-specific
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * settings.
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @return <code>PP_TRUE</code> on success, <code>PP_FALSE</code> on failure.
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   */
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_Bool (*SetDefaultPermission)(
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      const char* plugin_data_path,
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PP_Flash_BrowserOperations_SettingType setting_type,
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PP_Flash_BrowserOperations_Permission permission,
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PP_Bool clear_site_specific);
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /**
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * Sets site-specific permission. If a site has already got site-specific
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * permission and it is not in <code>sites</code>, it won't be affected.
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] plugin_data_path String containing the directory where the
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * plugin settings are stored.
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] setting_type What type of setting to set.
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] site_count How many items are there in <code>sites</code>.
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] sites The site-specific settings. If a site is specified with
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * <code>PP_FLASH_BROWSEROPERATIONS_PERMISSION_DEFAULT</code> permission, it
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * will be removed from the site-specific list.
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @return <code>PP_TRUE</code> on success, <code>PP_FALSE</code> on failure.
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   */
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_Bool (*SetSitePermission)(
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      const char* plugin_data_path,
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PP_Flash_BrowserOperations_SettingType setting_type,
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      uint32_t site_count,
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      const struct PP_Flash_BrowserOperations_SiteSetting sites[]);
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /**
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * Returns a list of sites that have stored data, for use with the
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * "Clear site data" feature.
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] plugin_data_path String containing the directory where the
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * plugin data is stored.
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[out] sites A NULL-terminated array of sites that have stored data.
184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)   * Use FreeSiteList on the array when done.
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * See also the NPP_GetSitesWithData function in NPAPI:
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * https://wiki.mozilla.org/NPAPI:ClearSiteData
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   */
18903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  void (*GetSitesWithData)(const char* plugin_data_path, char*** sites);
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /**
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * Frees the list of sites returned by GetSitesWithData.
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   *
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   * @param[in] sites A NULL-terminated array of strings.
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   */
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*FreeSiteList)(char* sites[]);
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct PPP_Flash_BrowserOperations_1_3 PPP_Flash_BrowserOperations;
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PPP_Flash_BrowserOperations_1_0 {
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_Bool (*ClearSiteData)(const char* plugin_data_path,
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                           const char* site,
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                           uint64_t flags,
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                           uint64_t max_age);
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct PPP_Flash_BrowserOperations_1_2 {
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_Bool (*ClearSiteData)(const char* plugin_data_path,
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                           const char* site,
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                           uint64_t flags,
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                           uint64_t max_age);
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_Bool (*DeauthorizeContentLicenses)(const char* plugin_data_path);
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  void (*GetPermissionSettings)(
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      const char* plugin_data_path,
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PP_Flash_BrowserOperations_SettingType setting_type,
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PPB_Flash_BrowserOperations_GetSettingsCallback callback,
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      void* user_data);
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_Bool (*SetDefaultPermission)(
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      const char* plugin_data_path,
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PP_Flash_BrowserOperations_SettingType setting_type,
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PP_Flash_BrowserOperations_Permission permission,
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PP_Bool clear_site_specific);
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PP_Bool (*SetSitePermission)(
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      const char* plugin_data_path,
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      PP_Flash_BrowserOperations_SettingType setting_type,
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      uint32_t site_count,
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      const struct PP_Flash_BrowserOperations_SiteSetting sites[]);
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @}
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  /* PPAPI_C_PRIVATE_PPP_FLASH_BROWSER_OPERATIONS_H_ */
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
235