EphyPermissionManager
Sets webpages' cookie, image and popup permissions.
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.
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.
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.
The predefined permission types are EPT_COOKIE ("cookie"), EPT_IMAGE ("image")
and EPT_POPUP ("popup"). You can also make up your own type string.
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.
Details a specific permission of a specific website.
@host: The hostname of the website to which this permission applies.
@qtype:
@permission: An #EphyPermission (either allow or deny).
Determines whether the website is allowed or denied access.
@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.
@info:
@manager:
@host:
@type:
@permission:
@manager:
@host:
@type:
@manager:
@manager:
@host:
@type:
@Returns:
@manager:
@type:
@Returns: