<!-- ##### SECTION Title ##### --> EphyPermissionManager <!-- ##### SECTION Short_Description ##### --> Sets webpages' cookie, image and popup permissions. <!-- ##### SECTION Long_Description ##### --> <para> The #EphyPermissionManager keeps a list of websites and their permissions. For example, the user may want a certain website to display images but block cookies and popup windows; this could correspond to three entries in the #EphyPermissionManager. </para> <para> Use ephy_permission_manager_add() to set permissions for a website, ephy_permission_manager_remove() to remove the permissions, and ephy_permission_manager_test() to test them. Note that ephy_permission_manager_test() may return %EPHY_PERMISSION_DEFAULT, which means the caller might need to find the default permission some other way. </para> <para> The #EphyPermissionManager stores a list of site-specific permissions, but not defaults. For popups, the default permission is determined by the GConf key /apps/epiphany/web/allow_popups, which in turn determines Mozilla's dom.disable_open_during_load preference. For cookies, the GConf key /apps/epiphany/web/cookie_accept determines Mozilla's network.cookie.cookieBehavior preference. For images, the default is determined by Mozilla's network.image.imageBehavior preference. </para> <para> The predefined permission types are EPT_COOKIE ("cookie"), EPT_IMAGE ("image") and EPT_POPUP ("popup"). You can also make up your own type string. </para> <para> Though the word "host" is used in many function descriptions, Mozilla does not act as one would expect. Always pass a URL to any functions which need have a "host" parameter. However, the "host" in an #EphyPermissionInfo is a simple DNS hostname. </para> <!-- ##### SECTION See_Also ##### --> <para> </para> <!-- ##### SECTION Stability_Level ##### --> <!-- ##### STRUCT EphyPermissionInfo ##### --> <para> Details a specific permission of a specific website. </para> @host: The hostname of the website to which this permission applies. @qtype: @permission: An #EphyPermission (either allow or deny). <!-- ##### ENUM EphyPermission ##### --> <para> Determines whether the website is allowed or denied access. </para> @EPHY_PERMISSION_ALLOWED: The website is unconditionally allowed to perform the desired action. @EPHY_PERMISSION_DENIED: The website is unconditionally denied to perform the desired action. @EPHY_PERMISSION_DEFAULT: The user has not set a preference for this particular website; the caller should therefore fall back to default settings. <!-- ##### FUNCTION ephy_permission_info_free ##### --> <para> </para> @info: <!-- ##### FUNCTION ephy_permission_manager_add ##### --> <para> </para> @manager: @host: @type: @permission: <!-- ##### FUNCTION ephy_permission_manager_remove ##### --> <para> </para> @manager: @host: @type: <!-- ##### FUNCTION ephy_permission_manager_clear ##### --> <para> </para> @manager: <!-- ##### FUNCTION ephy_permission_manager_test ##### --> <para> </para> @manager: @host: @type: @Returns: <!-- ##### FUNCTION ephy_permission_manager_list ##### --> <para> </para> @manager: @type: @Returns: